Workspace 类别
用于工作区的类。这是一种包含数据块的数据结构。没有界面,可以无头创建。
Signature:
export declare class Workspace implements IASTNodeLocation
实现: IASTNodeLocation
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(构造函数)(opt_options) | 构造 Workspace 类的新实例 |
属性
属性 | 修饰符 | 类型 | 说明 |
---|---|---|---|
connectionChecker | IConnectionChecker | ||
connectionDBList | ConnectionDB[] | 用于快速查找连接位置的一组数据库。 | |
horizontalLayout | 布尔值 | ||
id | 字符串 | ||
isFlyout | readonly |
布尔值 | 这个工作区是浮出控件的表面吗? |
isMutator | readonly |
布尔值 | 此工作区是否是更改器的表面? |
MAX_UNDO | number | 堆栈中的撤消事件数量上限。0 会关闭撤消功能,Infinity 则会将其设为无限制。 |
|
options | 选项 | ||
redoStack_ | protected |
摘要[] | |
已呈现 | 布尔值 | 如果工作区可见,则返回 true ;如果工作区是无头的,则返回 false 。 |
|
RTL | 布尔值 | ||
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) | 查找具有指定类型的变量。如果 type 为 null,则返回字符串类型为空的变量列表。 | |
getVariableUsesById(id) | 查找给定变量的所有使用次数,该变量由 ID 标识。 | |
getWidth() | 返回工作区的水平偏移量。适用于 XML 中的 LTR/RTL 兼容性。与无头工作区无关。 | |
hasBlockLimits() | 检查工作区是否对最大块数或特定类型的块数的最大数量设置了限制。 | |
isCapacityAvailable(typeCountsMap) | 检查要创建指定计数的块是否还有剩余容量。如果地图表示的区块总数超过剩余总容量,它会返回 false。如果某个类型计数超过了该类型的剩余容量,则返回 false。 | |
newBlock(prototypeName, opt_id) | 获取新创建的块。 | |
newComment(id) | 获取新创建的评论。 | |
remainingCapacity() | 在达到 maxBlocks 之前,可以添加到工作区的区块数量。 | |
remainingCapacityOfType(type) | 在达到给定类型允许的 maxInstances 之前,可以添加到工作区中的给定类型的块数。 | |
removeChangeListener(func) | 停止监听此工作区的更改。 | |
removeTopBlock(block) | 从顶部块列表中移除块。 | |
removeTypedBlock(block) | 从按类型键控的块列表中删除块。 | |
renameVariableById(id, newName) | 通过在变量映射中更新变量名称来重命名变量。使用指定 ID 标识要重命名的变量。 | |
撤消(重做) | 撤消或重做上一步操作。 |