blockly > LineCursor

Klasa LineCursor

Klasa kursora linii.

Podpis:

export declare class LineCursor extends Marker 

Rozszerza: Marker

Zespoły

Zespół Modyfikatory Opis
(konstruktor)(przestrzeń robocza) Tworzy nową instancję klasy LineCursor

Właściwości

Właściwość Modyfikatory Typ Opis
type ciąg znaków
workspace

protected

readonly

WorkspaceSvg

Metody

Metoda Modyfikatory Opis
atEndOfLine() Zwraca wartość true, jeśli węzeł, do którego przejdziemy po wywołaniu funkcji in(), jest taki sam jak węzeł, do którego przejdziemy po wywołaniu funkcji next(). Oznacza to, że LineCursor znajduje się na końcu „bieżącego wiersza” programu.
getCurNode()

Pobierz bieżącą lokalizację kursora.

Zastępuje normalną funkcję Marker getCurNode, aby zaktualizować bieżący węzeł z wybranego bloku. Zwykle dzieje się to za pomocą odbiornika wyboru, ale nie jest wywoływane natychmiast, gdy Gesture wywołuje Blockly.common.setSelected. W szczególności odbiornik działa po wyświetleniu menu kontekstowego.

getFirstNode() Pobierz pierwszy węzeł nawigacyjny w obszarze roboczym lub wartość null, jeśli nie ma żadnego węzła.
getLastNode() Pobiera ostatni węzeł, po którym można się poruszać w obszarze roboczym, lub wartość null, jeśli taki węzeł nie istnieje.
getNextNode(node, isValid, loop) Pobierz następny węzeł w abstrakcyjnym drzewie składniowym, opcjonalnie zezwalając na pętlę zwrotną.
getPreviousNode(node, isValid, loop) Pobierz poprzedni węzeł w AST, opcjonalnie zezwalając na pętlę zwrotną.
in() Przenosi kursor do następnego połączenia wejściowego lub pola w kolejności przedzamówienia.
next() Przenosi kursor do następnego bloku lub komentarza w obszarze roboczym w kolejności przedzamówienia.
out() Przenosi kursor do poprzedniego połączenia wejściowego lub pola w porządku przedzamówienia.
postDelete() Przesuń kursor do pierwszej prawidłowej lokalizacji w tym węźle potentialNodes po usunięciu bloku.
preDelete(deletedBlock)

Przygotuj się na usunięcie bloku, tworząc listę węzłów, do których można przenieść kursor, i zapisz ją w tym.potentialNodes.

Po usunięciu wywołaj funkcję postDelete, aby przenieść go do pierwszego prawidłowego węzła na tej liście.

Lokalizacje, w których warto spróbować (w kolejności preferencji):

– bieżąca lokalizacja, – połączenie, do którego jest dołączony usunięty blok; – blok połączony z następnym połączeniem usuniętego bloku. – blok nadrzędny usuniętego bloku; – miejsce w obszarze roboczym pod usuniętym blokiem.

N.B.: Gdy blok zostanie usunięty, wszystkie bloki połączone z jego wejściami również zostaną usunięte, ale nie bloki połączone z jego następnym połączeniem.

prev() Przenosi kursor do poprzedniego bloku lub komentarza w obszarze roboczym w kolejności przedporządkowej.
setCurNode(newNode)

Ustaw lokalizację kursora i go narysuj.

Zastępuje normalną logikę Marker setCurNode, aby wywołać funkcję this.drawMarker() zamiast bezpośrednio this.drawer.draw().