Класс LineCursor
Класс для линейного курсора.
Подпись:
export declare class LineCursor extends Marker
Расширяет: Маркер
Конструкторы
Конструктор | Модификаторы | Описание |
---|---|---|
(конструктор)(рабочее пространство) | Создает новый экземпляр класса LineCursor |
Характеристики
Свойство | Модификаторы | Тип | Описание |
---|---|---|---|
тип | нить | ||
рабочее пространство | | WorkspaceSvg |
Методы
Метод | Модификаторы | Описание |
---|---|---|
вКонцеСтроки() | Возвращает true, если узел, к которому мы перейдем, если будет вызван in(), совпадает с узлом, к которому мы перейдем, если будет вызван next() — фактически, если LineCursor находится в конце «текущей строки» программы. | |
получитьКурНоде() | Получить текущее местоположение курсора. Переопределяет обычный метод Marker getCurNode для обновления текущего узла из выбранного блока. Обычно это происходит через прослушиватель выбора, но он не вызывается сразу после вызова | |
получитьFirstNode() | Получить первый доступный для навигации узел в рабочей области или null, если таковых не существует. | |
получитьLastNode() | Получить последний доступный для навигации узел в рабочей области или значение null, если таковых не существует. | |
getNextNode(узел, isValid, цикл) | Получить следующий узел в AST, при необходимости разрешить петлю. | |
getPreviousNode(узел, isValid, цикл) | Получить предыдущий узел в AST, при необходимости разрешить петлю. | |
в() | Перемещает курсор к следующему входному соединению или полю в предварительном порядке обхода. | |
следующий() | Перемещает курсор к следующему блоку или комментарию рабочей области в предварительном порядке обхода. | |
вне() | Перемещает курсор к предыдущему входному соединению или полю в предварительном порядке обхода. | |
postDelete() | Переместите курсор в первое допустимое место в this.potentialNodes после удаления блока. | |
preDelete(deletedBlock) | Подготовьтесь к удалению блока, составив список узлов, на которые впоследствии можно будет переместить курсор, и сохраните его в this.potentialNodes. После того, как удаление произошло, вызовите postDelete, чтобы переместить его на первый действительный узел в этом списке. Места, которые стоит попробовать (в порядке предпочтения): - Текущее местоположение. - Соединение, к которому прикреплен удаленный блок. - Блок, подключенный к следующему соединению удаленного блока. - Родительский блок удаленного блока. - Местоположение на рабочем пространстве под удаленным блоком. Примечание: при удалении блока все блоки, подключенные к входам этого блока, также удаляются, но не блоки, подключенные к его следующему соединению. | |
предыдущая() | Перемещает курсор к предыдущему блоку или комментарию рабочей области в предварительном порядке обхода. | |
setCurNode(newNode) | Установите местоположение курсора и нарисуйте его. Переопределяет обычную логику Marker setCurNode для прямого вызова this.drawMarker() вместо this.drawer.draw(). |