Workspace 类
用于工作区的类。这是一个包含块的数据结构。没有界面,可以无头创建。
Signature:
export declare class Workspace implements IASTNodeLocation
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(构造函数)(opt_options) | 构造 Workspace 类的新实例 |
属性
属性 | 修饰符 | 类型 | 说明 |
---|---|---|---|
connectionChecker | IConnectionChecker | ||
connectionDBList | ConnectionDB[] | 用于快速查找连接位置的数据库集。 | |
horizontalLayout | boolean | ||
ID [id] | string | ||
isFlyout | readonly |
boolean | 此工作区是浮出式页面吗? |
isMutator | readonly |
boolean | 此工作区是转变者的平台吗? |
MAX_UNDO | number | 堆栈中的撤消事件数量上限。0 表示关闭撤消功能,Infinity 表示将其设为“无限制”。 |
|
options | 选项 | ||
redoStack_ | protected |
摘要[] | |
已呈现 | boolean | 如果工作区可见,则返回 true ;如果工作区无头,则返回 false 。 |
|
RTL | boolean | ||
SCAN_ANGLE | static |
number | 向水平方向倾斜,以便扫视方块。执行顺序通常是从上到下,但小角度会改变扫描,使之存在一点从左到右的偏差(在 RTL 中反转)。单位以度为单位。请参阅:https://tvtropes.org/pmwiki/pmwiki.php/Main/DiagonalBilling |
toolboxPosition | toolbox.Position | ||
undoStack_ | protected |
摘要[] |
方法
方法 | 修饰符 | 说明 |
---|---|---|
addChangeListener(func) | 当此工作区中的内容发生更改时,调用函数。请注意,堆栈中可能已有一些近期事件。因此,系统可以使用在添加更改监听器前几毫秒发生的事件来调用新的更改监听器。 | |
addTopBlock(block) | 向热门代码块列表添加一个代码块。 | |
addTypedBlock(block) | 将块添加到按类型键控的块列表中。 | |
allInputsFilled(opt_shadowBlocksAreFilled) | 检查工作区中的所有值和语句输入是否都填充了块。 | |
clear() | 处理工作区中的所有块和注释。 | |
clearUndo() | 清除撤消/重做堆栈。 | |
createVariable(name, opt_type, opt_id) | 创建一个具有指定名称、可选类型和可选 ID 的变量。 | |
deleteVariableById(id) | 在此工作区中,请按传入的 ID 及其所有使用方式删除变量。可能会提示用户进行确认。 | |
dispose() | 处置此工作区。请解除与所有 DOM 元素的关联,以防止内存泄漏。 | |
fireChangeListener(event) | 触发更改事件。 | |
getAll() | static |
查找所有工作区。 |
getAllBlocks(ordered) | 在工作区中查找所有砌块。块可以选择按位置排序;从上到下排序(有轻微的 LTR 或 RTL 偏差)。 | |
getAllVariableNames() | 返回所有类型的所有变量名称。 | |
getAllVariables() | 返回所有类型的所有变量。 | |
getBlockById(id) | 在此工作区中找到具有指定 ID 的块。 | |
getBlocksByType(type, ordered) | 查找具有关联类型的块,并将其返回。块可以选择按位置排序;从上到下排序(有轻微的 LTR 或 RTL 偏差)。 | |
getById(id) | static |
找到具有指定 ID 的工作区。 |
getProcedureMap() | 返回工作区中所有过程的映射。 | |
getRootWorkspace() | 如果工作区有父级,则返回此工作区的根工作区。 例如,浮出控件中的工作区和迷你工作区气泡具有父级工作区。 |
|
getTopBlocks(ordered) | 查找顶级代码块并将其返回。块可以选择按位置排序;从上到下排序(有轻微的 LTR 或 RTL 偏差)。 | |
getVariable(name, opt_type) | 按指定名称查找变量并返回。如果找不到,则返回 null。 | |
getVariableById(id) | 按指定 ID 查找变量并返回。如果找不到,则返回 null。 | |
getVariableMap() | 返回工作区中所有变量的映射。 | |
getVariablesOfType(type) | 查找具有指定类型的变量。如果类型为 null,则返回字符串类型的变量列表。 | |
getVariableUsesById(id) | 查找指定变量的所有使用方式,变量由 ID 标识。 | |
getWidth() | 返回工作区的水平偏移量。适用于 XML 中的 LTR/RTL 兼容性。与无头工作区无关。 | |
hasBlockLimits() | 检查工作区是否对最大块数量或特定类型块的最大数量有限制。 | |
isCapacityAvailable(typeCountsMap) | 检查是否还有剩余容量可创建具有指定数量的块。如果地图表示的块总数超过剩余的总容量,则返回 false。如果某个类型计数大于该类型的剩余容量,则返回 false。 | |
newBlock(prototypeName, opt_id) | 获取新创建的代码块。 | |
newComment(id) | 获取新创建的评论。 | |
remainingCapacity() | 在达到 maxBlocks 之前可以添加到工作区的块数量。 | |
remainingCapacityOfType(type) | 在达到该类型所允许的实例数上限之前,可以添加到工作区的指定类型的块数量。 | |
removeChangeListener(func) | 停止监听此工作区的更改。 | |
removeTopBlock(block) | 从顶部块列表中移除某个块。 | |
removeTypedBlock(block) | 从按类型键控的块列表中移除某个块。 | |
renameVariableById(id, newName) | 通过更新变量映射中变量的名称来重命名变量。确定要使用指定 ID 重命名的变量。 | |
撤消(重做) | 撤消或重做上一步操作。 |