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