blockly > BlockSvg

BlockSvg 类

用于块的 SVG 表示形式的类。通常不会直接调用 workspace.newBlock()。

Signature:

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

扩展

实现IASTNodeLocationSvgIBoundedElementICopyable<BlockCopyData>、IDraggableIDeletable

构造函数

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

属性

属性 修饰符 类型 说明
COLLAPSED_WARNING_ID

static

readonly

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

static

readonly

(未声明) 用于标识要以内嵌方式呈现的行的常量。请勿与 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。