BlockSvg 类
用于块的 SVG 表示法的类。通常不直接调用,建议使用 workspace.newBlock()。
Signature:
export declare class BlockSvg extends Block implements IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable, IDeletable
扩展: 屏蔽
实现: IASTNodeLocationSvg、IBoundedElement、ICopyable<BlockCopyData>、IDraggable、IDeletable
构造函数
构造函数 | 修饰符 | 说明 |
---|---|---|
(structor)(workspace, 原型名称, opt_id) | 构造 BlockSvg 类的新实例 |
属性
属性 | 修饰符 | 类型 | 说明 |
---|---|---|---|
COLLAPSED_WARNING_ID |
|
(未声明) | 用于显示“已收起警告”的 ID警告。允许我们移除“收起警告”警告,而不移除属于该屏蔽项的任何警告。 |
customContextMenu? | (p1:Array<ContextMenuOption | LegacyContextMenuOption>)=>无效 | (可选) | |
分解? | (p1:工作区)=>BlockSvg | (可选) | |
高度 | number | 此文本块的高度,不包括上方或下方的任何语句块。高度以工作区单位为单位。 | |
INLINE |
|
(未声明) | 用于标识要内嵌呈现的行的常量。不要与 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。 |