blockly > Workspace

Workspace 类

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

Signature:

export declare class Workspace 

构造函数

构造函数 修饰符 说明
(constructor)(opt_options) 构造 Workspace 类的新实例

属性

属性 修饰符 类型 说明
connectionChecker IConnectionChecker
connectionDBList ConnectionDB[] 用于快速查询连接位置的一组数据库。
horizontalLayout 布尔值
id 字符串
isFlyout readonly 布尔值 此工作区是否是动作条的 Surface?
isMutator readonly 布尔值 此工作区是否是更改器的界面?
MAX_UNDO 数值 堆栈中的撤消事件数量上限。0 会关闭撤消功能,Infinity 会将其设置为无限制。
options 选项
redoStack_ protected 抽象[]
呈现 布尔值 如果工作区可见,则返回 true;如果工作区为无头,则返回 false
RTL 布尔值
SCAN_ANGLE static 数值 与水平方向成一定角度,以扫描屏幕上的各个屏幕截图。执行顺序通常是从上到下,但如果角度较小,则会改变扫描方向,使其略微偏向从左到右(在 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 的工作区。
getCommentById(id) 查找此工作区中具有指定 ID 的评论。
getPotentialVariableMap() 返回包含“潜在”变量的变量映射。这些图标存在于动作条中,但不存在于工作区中。
getProcedureMap() 返回工作区中所有流程的映射。
getRootWorkspace()

如果此工作区有父级工作区,则返回此工作区的根工作区。

例如,动作条和迷你工作区气泡中的工作区具有父级工作区。

getTopBlocks(ordered) 查找顶级块并返回它们。您可以选择按位置对块进行排序;从上到下(略微偏向 LTR 或 RTL)。
getVariable(name, opt_type) 按给定名称查找变量并返回它。如果未找到,则返回 null。
getVariableById(id) 按给定 ID 查找变量并返回它。如果未找到,则返回 null。
getVariableMap() 返回工作区中所有变量的映射。
getVariableMapClass() protected
getVariablesOfType(type) 查找指定类型的变量。如果类型为 null,则返回类型为空字符串的变量列表。
getVariableUsesById(id) 查找给定变量的所有用法(通过 ID 标识)。
getWidth() 返回工作区的水平偏移量。适用于 XML 中的 LTR/RTL 兼容性。与无头工作区无关。
hasBlockLimits() 检查工作区是否对块数量上限或特定类型的块数量上限有任何限制。
isCapacityAvailable(typeCountsMap) 检查是否有足够的容量来创建给定计数的块。如果映射表示的块总数超过剩余总容量,则返回 false。如果某个类型的计数超过该类型的剩余容量,则返回 false。
isReadOnly() 返回此工作区是否处于只读模式。
newBlock(prototypeName, opt_id) 获取新创建的块。
newComment(id) 获取新创建的评论。
remainingCapacity() 在达到 maxBlocks 之前,可向工作区添加的块数量。
remainingCapacityOfType(type) 在达到相应类型的 maxInstances 上限之前,可向工作区添加的给定类型的块的数量。
removeChangeListener(func) 停止监听此工作区的更改。
removeTopBlock(block) 从热门代码块列表中移除代码块。
removeTypedBlock(block) 从按类型键值对排列的块列表中移除某个块。
renameVariableById(id, newName) 如需重命名变量,请在变量映射中更新其名称。使用给定 ID 标识要重命名的变量。
setIsReadOnly(readOnly) 设置此工作区是否处于只读模式。
撤消(重做) 撤消或重做上一步操作。