Classe LineCursor
Classe pour un curseur de ligne.
Signature :
export declare class LineCursor extends Marker
Extends : Marker
Constructeurs
Constructeur | Modificateurs | Description |
---|---|---|
(constructeur)(espace de travail) | Construit une instance de la classe LineCursor . |
Propriétés
Propriété | Modificateurs | Type | Description |
---|---|---|---|
type | chaîne | ||
workspace |
|
WorkspaceSvg |
Méthodes
Méthode | Modificateurs | Description |
---|---|---|
atEndOfLine() | Renvoie la valeur "true" si le nœud vers lequel nous naviguerions si in() était appelé est le même que celui vers lequel nous naviguerions si next() était appelé. En d'autres termes, si LineCursor se trouve à la fin de la "ligne actuelle" du programme. | |
getCurNode() | Obtenez la position actuelle du curseur. Remplace la méthode getCurNode normale du marqueur pour mettre à jour le nœud actuel à partir du bloc sélectionné. Cela se produit généralement via l'écouteur de sélection, mais celui-ci n'est pas appelé immédiatement lorsque |
|
getFirstNode() | Récupère le premier nœud navigable de l'espace de travail ou la valeur null si aucun nœud n'existe. | |
getLastNode() | Obtient le dernier nœud navigable de l'espace de travail ou la valeur "null" si aucun nœud n'existe. | |
getNextNode(node, isValid, loop) | Obtient le nœud suivant dans l'AST, en autorisant éventuellement la boucle. | |
getPreviousNode(node, isValid, loop) | Obtenez le nœud précédent dans l'AST, en autorisant éventuellement la boucle. | |
in() | Déplace le curseur vers la connexion ou le champ d'entrée suivant dans l'ordre de parcours en précommande. | |
next() | Déplace le curseur vers le bloc ou le commentaire de l'espace de travail suivant dans la traversée de précommande. | |
out() | Déplace le curseur vers la connexion ou le champ d'entrée précédent dans la traversée préfixe. | |
postDelete() | Déplacez le curseur vers le premier emplacement valide dans this.potentialNodes, après la suppression d'un bloc. | |
preDelete(deletedBlock) | Préparez-vous à la suppression d'un bloc en créant une liste de nœuds vers lesquels nous pourrions déplacer le curseur par la suite et enregistrez-la dans this.potentialNodes. Une fois la suppression effectuée, appelez postDelete pour déplacer l'élément vers le premier nœud valide de cette liste. Voici les emplacements à essayer (par ordre de préférence) : - La position actuelle - La connexion à laquelle le bloc supprimé est rattaché. - Le bloc connecté à la connexion suivante du bloc supprimé. - Le bloc parent du bloc supprimé. - Un emplacement dans l'espace de travail sous le bloc supprimé. N.B.: Lorsqu'un bloc est supprimé, tous les blocs connectés aux entrées de ce bloc sont également supprimés, mais pas les blocs connectés à sa connexion suivante. |
|
prev() | Déplace le curseur vers le bloc ou le commentaire de l'espace de travail précédents dans la traversée en pré-commande. | |
setCurNode(newNode) | Définissez l'emplacement du curseur et dessinez-le. Remplace la logique normale de Marker.setCurNode pour appeler this.drawMarker() au lieu de this.drawer.draw() directement. |