blockly > 工作区

Workspace 类

用于工作区的类。这是包含块的数据结构。它没有界面,可以无头创建。

Signature:

export declare class Workspace implements IASTNodeLocation 

实现IASTNodeLocation

构造函数

构造函数 修饰符 说明
(constructor)(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) 获取新创建的块。
remainingCapacity() 在达到 maxBlocks 之前,可以添加到工作区的块数量。
remainingCapacityOfType(type) 在达到该类型所允许的实例数上限之前,可以添加到工作区的指定类型的块数量。
removeChangeListener(func) 停止监听此工作区的更改。
removeTopBlock(block) 从顶部块列表中移除某个块。
removeTypedBlock(block) 从按类型键控的屏蔽名单列表中移除某个屏蔽设置。
renameVariableById(id, newName) 通过在变量映射中更新变量名称来重命名变量。确定要使用指定 ID 重命名的变量。
撤消(重做) 撤消或重做上一步操作。