Classe LineCursor
Classe para um cursor de linha.
Signature:
export declare class LineCursor extends Marker
Extends:Marker
Construtores
Construtor | Modificadores | Descrição |
---|---|---|
(constructor)(workspace) | Cria uma nova instância da classe LineCursor . |
Propriedades
Propriedade | Modificadores | Tipo | Descrição |
---|---|---|---|
type | string | ||
workspace |
|
WorkspaceSvg |
Métodos
Método | Modificadores | Descrição |
---|---|---|
atEndOfLine() | Retorna "true" se o nó para o qual navegaríamos se in() fosse chamado for o mesmo para o qual navegaríamos se next() fosse chamado. Ou seja, se o LineCursor estiver no final da "linha atual" do programa. | |
getCurNode() | Recebe a localização atual do cursor. Substitui o getCurNode normal do marcador para atualizar o nó atual do bloco selecionado. Isso geralmente acontece pelo listener de seleção, mas ele não é chamado imediatamente quando |
|
getFirstNode() | Recebe o primeiro nó navegável no espaço de trabalho ou nulo se não houver nenhum. | |
getLastNode() | Recebe o último nó navegável no espaço de trabalho ou nulo se não houver nenhum. | |
getNextNode(node, isValid, loop) | Recebe o próximo nó na AST, permitindo opcionalmente o loopback. | |
getPreviousNode(node, isValid, loop) | Recebe o nó anterior na AST, permitindo opcionalmente o loopback. | |
in() | Move o cursor para a próxima conexão de entrada ou campo na travessia de pré-ordem. | |
next() | Move o cursor para o próximo bloco ou comentário do espaço de trabalho na travessia de pré-ordem. | |
out() | Move o cursor para a conexão ou o campo de entrada anterior na travessia de pré-ordem. | |
postDelete() | Mova o cursor para o primeiro local válido em this.potentialNodes após uma exclusão de bloco. | |
preDelete(deletedBlock) | Prepare-se para a exclusão de um bloco criando uma lista de nós para onde podemos mover o cursor depois e salve-a em this.potentialNodes. Depois que a exclusão for concluída, chame postDelete para mover o item para o primeiro nó válido na lista. Os locais para tentar (em ordem de preferência) são: - O local atual. - A conexão a que o bloco excluído está anexado. - O bloco conectado à próxima conexão do bloco excluído. - O bloco principal do bloco excluído. - Um local no espaço de trabalho abaixo do bloco excluído. N.B.: Quando um bloco é excluído, todos os blocos conectados às entradas dele também são excluídos, mas não os blocos conectados à próxima conexão. |
|
prev() | Move o cursor para o bloco ou comentário do espaço de trabalho anterior na travessia de pré-ordem. | |
setCurNode(newNode) | Defina o local do cursor e desenhe-o. Substitui a lógica normal de Marker setCurNode para chamar this.drawMarker() em vez de this.drawer.draw() diretamente. |