BlockSvg 类
用于块的 SVG 表示形式的类。通常不会直接调用 workspace.newBlock()。
Signature:
export declare class BlockSvg extends Block implements IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable, IDeletable
扩展:块
实现:IASTNodeLocationSvg、IBoundedElement、ICopyable<BlockCopyData>、IDraggable、IDeletable
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(构造函数)(workspace, protoName, opt_id) | 构造 BlockSvg 类的新实例 |
属性
属性 | 修饰符 | 类型 | 说明 |
---|---|---|---|
COLLAPSED_WARNING_ID |
|
(未声明) | 用于发出“已收起警告”警告的 ID。允许我们移除“已收起的警告”警告,而不移除属于该屏蔽的任何警告。 |
customContextMenu? 吗? | (p1:Array<ContextMenuOption | LegacyContextMenuOption>)=> void | (可选) | |
是否分解? | (p1:工作区) => BlockSvg | (可选) | |
高度 | number | 此块的高度,不包括上方或下方的任何语句块。高度以工作区单位为单位。 | |
内嵌 |
|
(未声明) | 用于标识要以内嵌方式呈现的行的常量。请勿与 Blockly.inputTypes 冲突。 |
赋值函数 | MutatorIcon | null | 块的赋值函数图标(如果有)。 | |
nextConnection | RenderedConnection | ||
outputConnection | RenderedConnection | ||
previousConnection | RenderedConnection | ||
已呈现 | readonly |
(未声明) | 此块是 BlockSVG 吗? |
saveConnections? | (p1:BlockSvg) => 无效 | (可选) | |
样式 | BlockStyle | ||
宽度 | number | 此块的宽度,包括任何连接的值块。宽度以工作区单位为单位。 | |
工作区 | WorkspaceSvg |
方法
方法 | 修饰符 | 说明 |
---|---|---|
addIcon(icon) | ||
addSelect() | 向代码块添加视觉“选择”效果,但并不实际选择该代码块或触发事件。 | |
appendInput(input) | ||
bumpNeighbours() | 使未连接的块出现不一致的情况。 实际上并未连接的两个方块在屏幕上不应该恰好排成一行,因为这会让最终用户感到困惑。 |
|
checkAndDelete() | 执行此操作时可以删除一个方块并隐藏它。如果方块位于浮出控件中,则不会被删除。这将从上下文菜单和键盘快捷键进行调用,作为完全删除操作。如果您要从工作区中处理块,并且不需要执行浮出检查、处理事件分组或隐藏 chaff,请直接使用 block.dispose() 。 |
|
dispose(healStack, animate) | 处理这个块。 | |
disposeInternal() | 丢弃此块,而不执行顶部块所需的操作。例如,触发界面效果、移除节点等。 | |
drag(newLoc, e) | 将方块拖动到指定位置。 | |
endDrag(e) | 结束对块的拖动。 | |
generateContextMenu() | protected |
为此块生成上下文菜单。 |
getBoundingRectangle() | 用于返回边界框的坐标,该边界框用于描述此图块以及堆叠在其下的任何图块的尺寸。坐标系:工作区坐标。 | |
getChildren(ordered) | 查找直接嵌套在此代码块中的所有代码块。包括价值和语句输入,以及任何后续语句。不包括输出标签页或任何前面的语句中的任何连接。块可以选择按位置从上到下排序。 | |
getColour() | 获取砌块的颜色。 | |
getColourSecondary() | 获取砌块的辅助色。 | |
getColourTertiary() | 获取方块的第三色。 | |
getNextBlock() | 返回直接连接到此代码块的下一个语句代码块。 | |
getPreviousBlock() | 返回连接到上一个连接的块。 | |
getRelativeToSurfaceXY() | 返回相应图块左上角相对于绘图表面原点 (0,0) 的坐标,以工作区单位为单位。如果块位于工作区上,则 (0, 0) 为工作区坐标系的原点。这不会随着工作区缩放而改变。 | |
getSvgRoot() | 返回 SVG 的根节点;如果不存在,则返回 null。 | |
initSvg() | 创建并初始化块的 SVG 表示形式。可以多次调用。 | |
isMovable() | 返回此块是否可移动。 | |
markDirty() | 通知此块上的每个输入将其字段标记为脏。脏字段是需要重新渲染的字段。 | |
moveBy(dx, dy, reason) | 按相对偏移量移动块。 | |
moveNumberedInputBefore(inputIndex, refIndex) | 将带编号的输入内容移至此方块上的其他位置。 | |
moveTo(xy, reason) | 将块移到某个位置。 | |
removeIcon(type) | ||
removeInput(name, opt_quiet) | 从此代码块中移除输入。 | |
removeSelect() | 从块中删除视觉“选择”效果,但并不实际取消选择该效果或触发事件。 | |
渲染 | 根据块的内容和设置立即布置和重排块。 | |
revertDrag() | 将块移回拖动开始时所处的位置。 | |
scheduleSnapAndBump() | 贴靠网格,然后在下一个渲染结束时将相邻方块移开。 | |
select() | 选择此图块。以视觉方式突出显示该砌块。 | |
setCollapsed(collapsed) | 设置该屏蔽设置是否收起。 | |
setColour(colour) | 更改块的颜色。 | |
setDisabledReason(disabled, reason) | 添加或移除相关屏蔽设置可能被停用的原因。如果某个屏蔽设置因任何原因被停用,则该屏蔽设置本身将被视为已停用。一个屏蔽设置可能会由于多个独立的原因同时被停用,例如当用户手动停用它或该屏蔽设置无效时。 | |
setDragStrategy(dragStrategy) | 设置此方块的拖动策略。 | |
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() | 将此图块贴靠到最近的网格点。 | |
startDrag(e) | 开始拖动方块。 | |
标签页(开始、前进) | 打开下一个(或上一个)FieldTextInput。 | |
toCopyData() | 对块进行编码以进行复制。 | |
toFlyoutInfo() | 返回可在浮出控件中显示的此块的表示形式。 | |
translate(x, y) | 通过在块的 SVG 的转换属性上设置平移来转换块。 | |
unselect() | 取消选择此块。以视觉方式取消突出显示 blockv。 | |
updateMarkers_() | protected |
根据需要重新绘制任何附加的标记或光标 svgs。 |