blockly > LineCursor

Clase LineCursor

Clase para un cursor de línea.

Signature:

export declare class LineCursor extends Marker 

Extiende: Marker

Constructores

Constructor Modificadores Descripción
(constructor)(workspace) Construye una instancia nueva de la clase LineCursor.

Propiedades

Propiedad Modificadores Tipo Descripción
type string
workspace

protected

readonly

WorkspaceSvg

Métodos

Método Modificadores Descripción
atEndOfLine() Devuelve verdadero si el nodo al que navegaríamos si se llamara a in() es el mismo que el nodo al que navegaríamos si se llamara a next(), es decir, si LineCursor está al final de la "línea actual" del programa.
getCurNode()

Obtiene la ubicación actual del cursor.

Anula el método getCurNode normal de Marker para actualizar el nodo actual desde el bloque seleccionado. Esto suele suceder a través del objeto de escucha de selección, pero no se llama de inmediato cuando Gesture llama a Blockly.common.setSelected. En particular, el objeto de escucha se ejecuta después de mostrar el menú contextual.

getFirstNode() Obtiene el primer nodo navegable en el espacio de trabajo o null si no existe ninguno.
getLastNode() Obtiene el último nodo navegable en el espacio de trabajo o null si no existe ninguno.
getNextNode(node, isValid, loop) Obtiene el siguiente nodo en el AST y, de manera opcional, permite el bucle.
getPreviousNode(node, isValid, loop) Obtiene el nodo anterior en el AST y, de manera opcional, permite el bucle.
in() Mueve el cursor a la siguiente conexión de entrada o campo en el recorrido previo al pedido.
next() Mueve el cursor al siguiente bloque o comentario del espacio de trabajo en el recorrido previo al pedido.
out() Mueve el cursor a la conexión o el campo de entrada anterior en el recorrido previo al pedido.
postDelete() Mueve el cursor a la primera ubicación válida en este potencialNodes después de borrar un bloque.
preDelete(deletedBlock)

Prepara la eliminación de un bloque creando una lista de nodos a los que podríamos mover el cursor después y guárdala en this.potentialNodes.

Después de que se haya producido el borrado, llama a postDelete para moverlo al primer nodo válido de esa lista.

Las ubicaciones que se deben probar (en orden de preferencia) son las siguientes:

- La ubicación actual - La conexión a la que se adjunta el bloque borrado. - El bloque conectado a la siguiente conexión del bloque borrado - Es el bloque principal del bloque borrado. - Una ubicación en el espacio de trabajo debajo del bloque borrado

N.B.: Cuando se borra un bloque, también se borran todos los bloques conectados a sus entradas, pero no los bloques conectados a su siguiente conexión.

prev() Mueve el cursor al bloque o comentario del espacio de trabajo anterior en el recorrido previo al pedido.
setCurNode(newNode)

Establece la ubicación del cursor y lo dibuja.

Anula la lógica normal de Marker setCurNode para llamar a this.drawMarker() en lugar de this.drawer.draw() directamente.