blockly > BlockSvg

BlockSvg 类

用于块的 SVG 表示法的类。通常不会直接调用,建议使用 workspace.newBlock()。

Signature:

export declare class BlockSvg extends Block implements IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable 

扩展屏蔽

实现IASTNodeLocationSvgIBoundedElementICopyable<BlockCopyData>、IDraggable

构造函数

构造函数 修饰符 说明
(constructor)(workspace, protoName, opt_id) 构造 BlockSvg 类的新实例

属性

媒体资源 修饰符 类型 说明
COLLAPSED_WARNING_ID

static

readonly

(未声明) 用于发出“已收起警告”警告的 ID。允许我们移除“已收起的警告”警告,而不移除属于该屏蔽的任何警告。
customContextMenu 吗? (p1:Array<ContextMenuOption | LegacyContextMenuOption>)=> 空 (可选)
如何分解? (p1:工作区) => BlockSvg (可选)
高度 number 此代码块的高度,不包括上方或下方的任何语句块。高度以工作区单位为单位。
内嵌

static

readonly

(未声明) 用于标识要以内嵌方式呈现的行的常量。请勿与 Blockly.inputTypes 冲突。
赋值者 MutatorIcon | null 屏蔽的更改器图标(如果有)。
nextConnection RenderedConnection
outputConnection RenderedConnection
previousConnection RenderedConnection
已呈现 boolean
saveConnections? (p1:BlockSvg)=> void (可选)
样式 BlockStyle
警告 WarningIcon | null 禁播警告图标(如有)。
宽度 number 此块的宽度,包括任何连接的值块。宽度以工作区单位为单位。
工作区 WorkspaceSvg

方法

方法 修饰符 说明
addIcon(icon)
addSelect() 向代码块添加视觉“选择”效果,但实际上并不会选择该代码块或触发事件。
appendInput(input)
bumpNeighbours()

使未连接的块出现不一致的情况。

两个实际并未连接的方块在屏幕上不应对齐排列,因为这会让最终用户感到困惑。

checkAndDelete() 删除一个块并隐藏 chaff 。如果该块在浮出控件中,不会被删除。此操作会从上下文菜单和键盘快捷键进行调用,作为完整的删除操作。如果您要从工作区中处置块且不需要执行浮出检查、处理事件分组或隐藏 chaff,可以直接使用 block.dispose()
dispose(healStack, animate) 处置此块。
disposeInternal() 处理此代码块,而不执行 Top 代码块所需的操作。例如,确实会触发界面效果、移除节点等。
generateContextMenu() protected 为此块生成上下文菜单。
getBoundingRectangle() 返回边界框的坐标,该坐标表示此图块及其堆叠的所有图块的尺寸。坐标系:工作区坐标。
getChildren(ordered) 查找直接嵌套在此代码块中的所有代码块。包括价值和语句输入,以及任何后续语句。排除输出标签页或前面的任何语句中的任何连接。组成要素有选择性地按位置排序;从上到下排序。
getColour() 获取方块的颜色。
getColourSecondary() 获取块的次要颜色。
getColourTertiary() 获取方块的第三色。
getCommentIcon() 获取附加到此代码块的注释图标,如果代码块没有注释,则返回 null。
getNextBlock() 返回直接连接到此代码块的下一个语句代码块。
getPreviousBlock() 返回连接到上一个连接的块。
getRelativeToSurfaceXY() 返回此图块左上角相对于绘图表面原点 (0,0) 的坐标,以工作区单位为单位。如果图块在工作区上,则 (0, 0) 为工作区坐标系的原点。这一点不会随工作区缩放而变化。
getSvgRoot() 返回 SVG 的根节点;如果不存在,则返回 null。
initSvg() 创建并初始化块的 SVG 表示形式。可以多次调用。
markDirty() 通知此块上的所有输入,以将其字段标记为脏。脏字段是需要重新渲染的字段。
moveBy(dx, dy, reason) 以相对偏移量移动块。
moveNumberedInputBefore(inputIndex, refIndex) 将带编号的输入内容移至此块上的其他位置。
moveTo(xy, reason) 将方块移到某个位置。
removeIcon(type)
removeInput(name, opt_quiet) 从此代码块中移除输入。
removeSelect() 从代码块中移除视觉“选择”效果,但实际上并不会取消选择该效果或触发事件。
render() 根据块的内容和设置立即布局和重排块。
select() 选择此方块。以视觉方式突出显示该版块;如果该版块尚未选中,则会触发选择事件。
setCollapsed(collapsed) 设置是否收起该块。
setColour(colour) 更改方块的颜色。
setEditable(editable) 设置此组成要素是否可修改。
setEnabled(enabled) 设置是否启用屏蔽设置。
setHighlighted(highlighted) 设置是否突出显示该方块。块突出显示通常用于直观地标记当前正在执行的块。
setInputsInline(newBoolean) 设置值输入是水平排列还是垂直排列。
setMovable(movable) 设置此砌块是否可移动。
setMutator(mutator) 为此块提供一个更改器对话框。
setNextStatement(newBoolean, opt_check) 设置是否可以将另一个方块连结到此方块的底部。
setOutput(newBoolean, opt_check) 设置此块是否返回值。
setPreviousStatement(newBoolean, opt_check) 设置此版块是否可以链接至其他版块的底部。
setStyle(blockStyleName) 设置方块的样式和颜色值。
setWarningText(text, id) 设置此块的警告文本。
snapToGrid() 将此方块与最近的网格点贴靠。
tab(开始,前进) 打开下一个(或上一个)FieldTextInput。
toCopyData() 对块进行编码以进行复制。
平移(x, y) 通过在块的 SVG 的转换属性上设置转换来转换块。
unselect() 取消选择此屏蔽设置。取消突出显示该块,并在该块当前处于选中状态的情况下触发 select (false) 事件。
updateMarkers_() protected 根据需要重新绘制任何附加的标记或光标 SVG。