blockly >BlockSvg

BlockSvg 类

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

Signature:

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

扩展屏蔽

实现IASTNodeLocationSvgIBoundedElementICopyable<BlockCopyData>、IDraggableIDeletable

构造函数

构造函数 修饰符 说明
(structor)(workspace, 原型名称, opt_id) 构造 BlockSvg 类的新实例

属性

属性 修饰符 类型 说明
COLLAPSED_WARNING_ID

static

readonly

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

static

readonly

(未声明) 用于标识要内嵌呈现的行的常量。不要与 Blockly.inputTypes 冲突。
赋值函数 MutatorIcon |null Block 的变更图标(如果有)。
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() 移除视觉“选择”但并不会取消选择该框或触发事件。
render() 根据块的内容和设置立即布局和重排块。
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) 开始拖动图块。
tab(开头、前进) 打开下一个(或上一个)FieldTextInput。
toCopyData() 对要复制的块进行编码。
toFlyoutInfo() 返回此块的表示形式,它可以显示在浮出控件中。
translate(x, y) 通过在块 SVG 的 transform 属性上设置转换来对块进行转换。
unselect() 取消选择此屏蔽设置。直观地取消突出显示 blockv。
updateMarkers_() protected 根据需要重新绘制任何附加的标记或光标 svg。