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