BlockSvg 類別
區塊的 SVG 表示法類別。通常不會直接呼叫,最好使用 workspace.newBlock()。
Signature:
export declare class BlockSvg extends Block implements IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable, IDeletable
擴充: 封鎖
實作: IASTNodeLocationSvg、IBoundedElement、ICopyable<BlockCopyData>、IDraggable、IDeletable
建構函式
建構函式 | 修飾符 | 說明 |
---|---|---|
(buildor)(workspace, prototypeName, opt_id) | 建構 BlockSvg 類別的新例項 |
屬性
屬性 | 修飾符 | 類型 | 說明 |
---|---|---|---|
COLLAPSED_WARNING_ID |
|
(未宣告) | 傳送「已收合警告」的 ID警告。讓我們能夠移除「已收合的警告」警告,而不會移除任何屬於封鎖的警告。 |
customContextMenu? | (p1:Array<ContextMenuOption | LegacyContextMenuOption>) =>void | (選用) | |
(p1:工作區) =>BlockSvg | (選用) | ||
高度 | 數字 | 這個區塊的高度,不含任何上方或下方的陳述式區塊。高度是以 Workspace 單位為單位。 | |
INLINE |
|
(未宣告) | 用於識別將以內嵌方式顯示的資料列的常數。不要與 Blockly.inputTypes 發生衝突。 |
變動者 | MutatorIcon |空值 | 區塊的變動器圖示 (如果有的話)。 | |
nextConnection | RenderedConnection | ||
outputConnection | RenderedConnection | ||
previousConnection | RenderedConnection | ||
算繪 | readonly |
(未宣告) | 這個區塊是封鎖可擴充向量圖形 (SVG) 嗎? |
saveConnections? | (p1:BlockSvg) =>void | (選用) | |
風格 | BlockStyle | ||
寬度 | 數字 | 此區塊的寬度,包括任何連結的值區塊。寬度是以 Workspace 單位為單位。 | |
工作區 | WorkspaceSvg |
方法
方法 | 修飾符 | 說明 |
---|---|---|
addIcon(icon) | ||
addSelect() | 加入視覺「選取」但實際上不會選取或引發事件。 | |
appendInput(input) | ||
bumpNeighbours() | 凸起未連接的區塊。 兩個未實際連接的區塊不應與畫面中同步顯示,以免造成使用者混淆。 |
|
checkAndDelete() | 刪除方塊並隱藏鑰匙圈。如果落地中,方塊就不會遭到刪除。這會透過內容選單和鍵盤快速鍵呼叫,做為「Full Delete」(完全刪除) 的動作。如果要從工作區丟棄某個區塊,而不需要執行飛出檢查、處理事件分組或隱藏茶葉,請直接使用 block.dispose() 。 |
|
dispose(healStack, animate) | 丟棄這個區塊。 | |
disposeInternal() | 在不執行頂層區塊要求的情況下丟棄這個區塊。例如:會觸發 UI 效果、移除節點等 | |
drag(newLoc, e) | 將方塊拖曳到指定位置。 | |
endDrag(e) | 結束區塊的拖曳動作。 | |
generateContextMenu() | protected |
產生這個區塊的內容選單。 |
getBoundingRectangle() | 傳回定界框座標,說明這個區塊的尺寸,以及其下的任何區塊。座標系統:工作區座標。 | |
getChildren(ordered) | 找出直接嵌入這個區塊中的所有區塊。包含值與陳述式輸入內容,以及下列任何聲明。排除輸出分頁或上一個陳述式中的任何連線。封鎖條件可視需要根據位置排序;由上至下。 | |
getColour() | 取得方塊的顏色。 | |
getColourSecondary() | 取得區塊的次要顏色。 | |
getColourTertiary() | 取得塊狀的第三色。 | |
getNextBlock() | 傳回直接連結到這個區塊的下一個陳述式區塊。 | |
getPreviousBlock() | 傳回與先前連線相連結的區塊。 | |
getRelativeToSurfaceXY() | 以工作區單位傳回這個區塊左上角的座標 (以 0,0 為基準)。如果區塊位於工作區,(0, 0) 是工作區座標系統的來源。這不會隨著工作區規模而改變。 | |
getSvgRoot() | 傳回 SVG 的根節點;如果不存在,則傳回空值。 | |
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 的轉換屬性轉換屬性,藉此轉換區塊。 | |
unselect() | 取消選取這個封鎖條件。在畫面上取消醒目顯示區塊。 | |
updateMarkers_() | protected |
視需要重新繪製任何附加的標記或遊標 SVG。 |