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 |
|
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 |
|
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. |