blockly > LineCursor

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

protected

readonly

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 Gesture chama Blockly.common.setSelected. Em particular, o listener é executado depois de mostrar o menu de contexto.

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.