LineCursor 类
用于线条光标的类。
Signature:
export declare class LineCursor extends Marker
扩展自: Marker
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(constructor)(workspace) | 构造 LineCursor 类的新实例 |
属性
属性 | 修饰符 | 类型 | 说明 |
---|---|---|---|
type | 字符串 | ||
工作区 |
|
WorkspaceSvg |
方法
方法 | 修饰符 | 说明 |
---|---|---|
atEndOfLine() | 当调用 in() 时将导航到的节点与调用 next() 时将导航到的节点相同时,返回 true;实际上,如果 LineCursor 位于程序“当前行”的末尾,则返回 true。 | |
getCurNode() | 获取光标的当前位置。 替换了正常的 Marker getCurNode,以根据所选块更新当前节点。这种情况通常通过选择监听器发生,但当 |
|
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.drawMarker() 而不是直接调用 this.drawer.draw()。 |