屏蔽类
一个分块的类。通常不会直接调用,建议使用 workspace.newBlock()。
Signature:
export declare class Block
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(constructor)(workspace, prototypeName, opt_id) | 构造 Block 类的新实例 |
属性
属性 | 修饰符 | 类型 | 说明 |
---|---|---|---|
childBlocks_ | protected |
this[] | |
collapsed_ | protected |
布尔值 | |
COLLAPSED_FIELD_NAME |
|
字符串 | 为收起的字段指定的语言中性 ID。 |
COLLAPSED_INPUT_NAME |
|
字符串 | 为收起的输入内容分配的语言中性 ID。 |
colour_ | protected |
字符串 | 块的颜色,格式为“#RRGGBB”。 |
compose? | (rootBlock: Block) => void | (可选)一个可选方法,用于根据更改器对话框中的内容重新配置块。 | |
contextMenu | 布尔值 | ||
data | string | null | 可选的文本数据,在块和 XML 之间往返传输。没有任何影响。第三方可能会将其用于元信息。 | |
分解? | (workspace: Workspace) => 屏蔽 | (可选)一个可选函数,用于使用表示此块配置的块填充更改器动作条。 | |
销毁? | () => void | (可选)在销毁期间调用的可选方法。 | |
disposing | protected |
布尔值 | 当前分块是否正在处于处置过程中? |
domToMutation? | (p1: Element) => void | (可选)可选的反序列化方法,用于定义如何从 XML 反序列化更改状态。这必须与定义 mutationToDom 结合使用。 |
|
getDeveloperVariables? | () => string[] | (可选)用于声明开发者变量(供生成器使用)的可选方法。开发者变量绝不会向用户显示,而是在生成的代码中声明为全局变量。 | |
hat | 字符串 | (可选)帽子的类型名称。 | |
helpUrl | string | (() => string) | null | 用于显示屏蔽功能帮助的字符串,或用于返回网址的函数。为 null 表示无帮助。 | |
图标 | IIcon[] | ||
id | 字符串 | ||
init? | () => void | (可选)在初始化期间调用的可选方法。 | |
inputList | 输入[] | ||
inputsInline? | 布尔值 | (可选) | |
inputsInlineDefault? | 布尔值 | (可选) | |
isInFlyout | 布尔值 | ||
isInMutator | 布尔值 | ||
isInsertionMarker_ | protected |
布尔值 | 如果此块是插入标记,则为 True。 |
loadExtraState? | (p1: any) => void | (可选)一个可选的序列化方法,用于定义如何从与 JSON 兼容的内容反序列化分块的额外状态(例如更改状态)。这必须与定义 saveExtraState 结合使用。 |
|
mutationToDom? | (...p1: any[]) => Element | (可选)可选序列化方法,用于定义如何将更改状态序列化为 XML。这必须与定义 domToMutation 结合使用。 |
|
nextConnection | 连接 | null | ||
onchange? | ((p1: Abstract) => void) | null | (可选)一个可选回调方法,用于在块的父工作区发生变化时使用。通常,此方法仅从构造函数、块类型初始化函数或扩展程序初始化函数调用。 | |
outputConnection | 连接 | null | ||
outputShape_ | protected |
number | null | |
parentBlock_ | protected |
this | null | |
previousConnection | 连接 | null | ||
呈现 | readonly |
布尔值 | 此块是否为 BlockSVG? |
RTL | 布尔值 | ||
saveExtraState? | (doFullSerialization?: boolean) => any | (可选)一个可选的序列化方法,用于定义如何将分块的额外状态(例如更改状态)序列化为与 JSON 兼容的内容。这必须与定义 loadExtraState 结合使用。 |
|
styleName_ | protected |
字符串 | 块样式的名称。 |
suppressPrefixSuffix | boolean | null | 一个可选属性,用于禁止向生成的代码添加 STATEMENT_PREFIX 和 STATEMENT_SUFFIX。 | |
提示 | Tooltip.TipInfo | ||
type | 字符串 | ||
工作区 | Workspace |
方法
方法 | 修饰符 | 说明 |
---|---|---|
addIcon(icon) | 将给定图标添加到块中。 | |
allInputsFilled(opt_shadowBlocksAreFilled) | 递归检查所有语句和值输入是否已填充块。还会检查此堆栈中的所有后续语句块。 | |
appendDummyInput(name) | 附加一个虚构的输入行。 | |
appendEndRowInput(name) | 附加用于结束行的输入。 | |
appendInput(input) | 附加指定的输入行。 允许将自定义输入附加到块。 |
|
appendStatementInput(name) | 附加语句输入行。 | |
appendValueInput(name) | 附加值输入行。 | |
bumpNeighbours() | 将未连接的块推离对齐位置。两个实际上未连接的块不应在屏幕上巧合地对齐。 | |
dispose(healStack) | 处理此块。 | |
disposeInternal() | protected |
会处置此块,而不会执行顶部块所需的操作。例如,未触发事件、拔下块等。 |
doInit_() | protected |
调用 init() 函数并处理关联的事件触发等。 |
getChildren(ordered) | 查找直接嵌套在此代码块中的所有代码块。包括值和语句输入,以及任何后续语句。不包括输出标签页上的任何连接或任何前述语句。您可以选择按位置(从上到下)对块进行排序。 | |
getColour() | 获取某个代码块的颜色。 | |
getCommentText() | 返回此代码块的注释(如果没有注释,则返回 null)。 | |
getDescendants(ordered) | 查找直接或间接嵌套在此代码块中的所有代码块。将此代码块添加到列表中。包括值和语句输入,以及任何后续语句。不包括输出标签页上的任何连接或任何前述语句。您可以选择按位置(从上到下)对块进行排序。 | |
getDisabledReasons() | 获取当前屏蔽功能被停用的一系列原因(如果有)。如果已启用屏蔽功能,此集将为空。 | |
getField(name) | 返回块中的命名字段。 | |
getFields() | 返回一个生成器,用于提供该分块上的每个字段。 可用于迭代块中字段的生成器。 |
|
getFieldValue(name) | 返回指定字段的语言中立值。 | |
getHue() | 获取某个块的 HSV 色相值。如果未设置色相,则为 null。 | |
getIcon(type) | ||
getIcons() | ||
getInheritedDisabled() | 获取是否因家长而停用屏蔽功能。系统不会考虑块本身的“已停用”属性。 | |
getInput(name) | 提取命名输入对象。 | |
getInputsInline() | 获取值输入是水平排列还是垂直排列。 | |
getInputTargetBlock(name) | 提取附加到命名输入的块。 | |
getInputWithBlock(block) | 返回连接到指定分块的输入。 | |
getNextBlock() | 返回直接连接到此代码块的下一个语句块。 | |
getOutputShape() | 获取块的输出形状。 | |
getParent() | 返回父级代码块,如果此代码块位于顶级,则返回 null。父代码块是指与上一个连接相连的代码块(对于语句代码块),或与输出连接相连的代码块(对于值代码块)。 | |
getPreviousBlock() | 返回与上一个连接关联的块。 | |
getRelativeToSurfaceXY() | 返回此块相对于绘制表面原点 (0,0) 的左上角坐标(以工作区单位为单位)。 | |
getRootBlock() | 返回此代码块树中的顶级代码块。如果此代码块位于顶级,则会返回自身。 | |
getStyleName() | 获取块样式的名称。 | |
getSurroundParent() | 返回当前代码块的父代码块;如果此代码块没有父代码块,则返回 null。父块可能只是上一个语句,而周围的块是 if 语句、while 循环等。 | |
getTooltip() | 返回此块的提示文字。 | |
getVars() | 返回此代码块引用的所有变量。 | |
hasDisabledReason(reason) | 获取屏蔽功能目前是否因所提供的原因而处于停用状态。 | |
hasIcon(type) | ||
initModel() | 对该分块上的所有字段调用 initModel。可以多次调用。必须在创建块后且在首次与其互动之前调用 initModel 或 initSvg。互动包括界面操作(例如点击和拖动)和触发事件(例如创建、删除和更改)。 | |
isCollapsed() | 获取块是否已收起。 | |
isDeletable() | 获取此分块是否可删除。 | |
isDisposed() | 返回此分块是否已被处置 / 删除。 | |
isDuplicatable() | 获取是否可以复制某个分块。如果复制此分块及其子分块会使此分块超出工作区的容量,则无法复制此分块。如果复制此分块及其子项会导致任何类型的 maxInstances 超出上限,则此分块不可复制。 | |
isEnabled() | 获取此屏蔽功能是否已启用。如果没有任何停用原因,相应屏蔽程序就会被视为处于启用状态。即使用户尝试手动启用屏蔽功能,屏蔽功能可能仍会出于其他原因而处于停用状态,例如屏蔽功能位于无效位置时。 | |
isInsertionMarker() | 获取此块是否为插入标记块。 | |
isOwnDeletable() | 返回此分块自己的可删除属性是 true 还是 false。 | |
isOwnEditable() | 返回此分块自己的可编辑属性是 true 还是 false。 | |
isShadow() | 获取此分块是否为阴影分块。 | |
jsonInit(json) | 使用支持跨平台和国际化的 JSON 说明初始化此块。 | |
mixin(mixinObj, opt_disableCheck) | 将 mixinObj 中的键值对添加到此块对象。默认情况下,此方法会检查 mixinObj 中的键不会覆盖代码块中的现有值,包括原型值。这在一定程度上可防止混入 / 扩展与未来的块功能不兼容。您可以通过将 true 作为第二个参数传递来停用此检查。 | |
moveBy(dx, dy, reason) | 按相对偏移量移动代码块。 | |
moveInputBefore(name, refName) | 将命名输入移至此块的其他位置。 | |
moveNumberedInputBefore(inputIndex, refIndex) | 将编号输入框移至此块的其他位置。 | |
removeIcon(type) | 从块中移除 getType 与给定类型 iconType 匹配的图标。 | |
removeInput(name, opt_quiet) | 从此块中移除输入。 | |
renameVarById(oldId, newId) | 通知变量正在重命名。如果该 ID 与此代码块的某个变量匹配,请重命名该变量。 | |
setCollapsed(collapsed) | 设置块是否处于收起状态。 | |
setColour(colour) | 更改某个代码块的颜色。 | |
setCommentText(text) | 设置此代码块的评论文本。 | |
setDeletable(deletable) | 设置此分块是否可删除。 | |
setDisabledReason(disabled, reason) | 添加或移除可能导致屏蔽功能停用的原因为何。如果某个代码块有任何原因需要停用,则该代码块本身将被视为已停用。屏蔽内容可能会同时出于多种独立原因而被停用,例如用户手动停用屏蔽内容,或者屏蔽内容无效。 | |
setEditable(editable) | 设置此块是否可编辑。 | |
setFieldValue(newValue, name) | 为此分块设置给定字段的值。 | |
setHelpUrl(url) | 设置此屏蔽功能的帮助页面的网址。 | |
setInputsInline(newBoolean) | 设置值输入是水平排列还是垂直排列。 | |
setMovable(movable) | 设置此块是否可移动。 | |
setMutator(_mutator) | 为此代码块提供一个更改器对话框。 | |
setNextStatement(newBoolean, opt_check) | 设置另一个分块是否可以链接到此分块的底部。 | |
setOnChange(onchangeFn) | 设置一个回调函数,以便在块的父级工作区发生变化时使用,从而替换之前的 onchange 处理脚本。通常,此方法仅从构造函数、块类型初始化函数或扩展程序初始化函数调用。 | |
setOutput(newBoolean, opt_check) | 设置此代码块是否返回值。 | |
setOutputShape(outputShape) | 设置块的输出形状。 | |
setPreviousStatement(newBoolean, opt_check) | 设置此分块是否可以链接到其他分块的底部。 | |
setStyle(blockStyleName) | 设置块的样式和颜色值。 | |
setTooltip(newTip) | 设置此代码块的提示。 | |
setWarningText(_text, _opt_id) | 设置此屏蔽区域的警告文本。 | |
toDevString() | 此方法会返回一个字符串,以开发者术语(类型名称和 ID;仅限英语)描述此分块。 仅用于控制台日志和错误。如果您需要使用用户的母语(包括版块文本、字段值和子版块)的字符串,请使用 toString()。 |
|
toString(opt_maxLength, opt_emptyToken) | 为此代码块及其所有子项创建直观易懂的文本表示法。 | |
unplug(opt_healStack) | 将此块从其上级块中拔下。如果此代码块是语句,可以选择将下方的代码块与顶部的代码块重新连接。 |