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)对这些元素进行排序。 |
撤消(重做) | 撤消或重做上一步操作。 |