blockly > Workspace

Workspace 类

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

Signature:

export declare class Workspace 

构造函数

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

属性

属性 修饰符 类型 说明
connectionChecker IConnectionChecker
connectionDBList ConnectionDB[] 用于快速查找连接位置的一组数据库。
horizontalLayout 布尔值
id 字符串
isFlyout readonly 布尔值 相应工作区是否是弹出式界面的表面?
isMutator readonly 布尔值 相应工作区是否为突变器的表面?
MAX_UNDO 数值 堆栈中的撤消事件数量上限。0 会关闭撤消功能,Infinity 会将其设置为无限制。
options 选项
redoStack_ protected Abstract[]
rendered 布尔值 如果工作区可见,则返回 true;如果工作区处于无头模式,则返回 false
RTL 布尔值
SCAN_ANGLE static 数值 以一定角度远离水平方向,以便扫描块。执行顺序通常是从上到下,但小角度会改变扫描,从而产生从左到右的偏差(在 RTL 中则相反)。单位为度。请参阅:https://tvtropes.org/pmwiki/pmwiki.php/Main/DiagonalBilling
toolboxPosition toolbox.Position
undoStack_ protected Abstract[]

方法

方法 修饰符 说明
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) 查找具有指定类型的变量。如果 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) 设置相应工作区是否处于只读模式。
sortByOrigin(a, b) protected 按有界元素在工作区中的相对位置(从上到下,略微偏向 LTR 或 RTL)对这些元素进行排序。
撤消(重做) 撤消或重做上一步操作。