blockly > LineCursor

LineCursor クラス

線カーソルのクラス。

署名:

export declare class LineCursor extends Marker 

拡張: Marker

コンストラクタ

コンストラクタ 修飾子 説明
(コンストラクタ)(ワークスペース) LineCursor クラスの新しいインスタンスを構築します。

プロパティ

プロパティ 修飾子 タイプ 説明
type 文字列
ワークスペース

protected

readonly

WorkspaceSvg

メソッド

メソッド 修飾子 説明
atEndOfLine() in() が呼び出された場合に移動するノードが、next() が呼び出された場合に移動するノードと同じである場合に true を返します。つまり、LineCursor がプログラムの「現在の行」の末尾にある場合に true を返します。
getCurNode()

カーソルの現在位置を取得します。

通常の Marker getCurNode をオーバーライドして、選択したブロックから現在のノードを更新します。通常、これは選択リスナーを介して行われますが、GestureBlockly.common.setSelected を呼び出したときにすぐに呼び出されるわけではありません。特に、リスナーはコンテキスト メニューの表示後に実行されます。

getFirstNode() ワークスペースの最初のナビゲーション可能なノードを取得します。存在しない場合は null を返します。
getLastNode() ワークスペースの最後のナビゲーション可能なノードを取得します。存在しない場合は null を返します。
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.drawer.draw() を直接呼び出すのではなく、this.drawMarker() を呼び出します。