blockly > LineCursor

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

protected

readonly

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 Gesture appelle Blockly.common.setSelected. En particulier, l'écouteur s'exécute après l'affichage du menu contextuel.

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.