blockly > LineCursor

LineCursor 類別

行游標的類別。

Signature:

export declare class LineCursor extends Marker 

擴充: Marker

建構函式

建構函式 修飾符 說明
(建構函式)(工作區) 建構 LineCursor 類別的新例項

屬性

屬性 修飾符 類型 說明
type 字串
workspace

protected

readonly

WorkspaceSvg

方法

方法 修飾符 說明
atEndOfLine() 如果呼叫 in() 時會導覽至的節點,與呼叫 next() 時會導覽至的節點相同,則傳回 true。實際上,如果 LineCursor 位於程式「目前行」的結尾,就會發生這種情況。
getCurNode()

取得游標的目前位置。

覆寫一般 Marker getCurNode,從所選區塊更新目前節點。這通常是透過選取項目監聽器發生,但 Gesture 呼叫 Blockly.common.setSelected 時不會立即呼叫該監聽器。特別是接聽程式會在顯示內容選單後執行。

getFirstNode() 取得工作區中的第一個可導覽節點,如果不存在,則為空值。
getLastNode() 取得工作區中最後一個可導覽的節點,如果沒有,則為空值。
getNextNode(node, isValid, loop) 取得 AST 中的下一個節點,可選擇允許迴路。
getPreviousNode(node, isValid, loop) 取得 AST 中的上一個節點,可選擇是否允許迴路。
in() 將游標移至預先排序遍歷中的下一個輸入連線或欄位。
next() 將游標移至預先排序遍歷中的下一個區塊或工作區註解。
out() 將游標移至預先排序遍歷中的上一個輸入連線或欄位。
postDelete() 在刪除區塊後,將游標移至 potentialNodes 中的第一個有效位置。
preDelete(deletedBlock)

準備刪除區塊,方法是列出我們之後可以將游標移至的節點,並將其儲存至 this.potentialNodes。

刪除完成後,請呼叫 postDelete,將節點移至該清單中的第一個有效節點。

請依偏好順序嘗試下列位置:

- 目前位置。- 刪除的方塊所附加的連線。- 連結至已刪除方塊下一個連線的方塊。- 已刪除區塊的父項區塊。- 刪除區塊下方的工作區位置。

N.B.: 刪除方塊時,系統也會刪除與該方塊輸入內容相連的所有方塊,但不會刪除與下一個連線相連的方塊。

prev() 將游標移至預先排序遍歷中的前一個區塊或工作區註解。
setCurNode(newNode)

設定游標位置並繪製游標。

覆寫一般 Marker setCurNode 邏輯,改為呼叫 this.drawMarker(),而非直接呼叫 this.drawer.draw()。