BlockSvg 類別
區塊的 SVG 表示法類別。通常不會直接呼叫,建議使用 workspace.newBlock()。
Signature:
export declare class BlockSvg extends Block implements IASTNodeLocationSvg, IBoundedElement, ICopyable<BlockCopyData>, IDraggable
擴充項目: 封鎖
實作: IASTNodeLocationSvg、IBoundedElement、ICopyable<BlockCopyData>、IDraggable
建構函式
建構函式 | 修飾符 | 說明 |
---|---|---|
(buildor)(workspace, prototypeName, opt_id) | 建構 BlockSvg 類別的新執行個體 |
屬性
屬性 | 修飾符 | 類型 | 說明 |
---|---|---|---|
COLLAPSED_WARNING_ID |
|
(未宣告) | 用於發出「已收合警告」警告的 ID。允許我們移除「已收合警告」警告,而不移除相關的任何警告。 |
customContextMenu? | (p1:Array<ContextMenuOption | LegacyContextMenuOption>) => void | (選用) | |
分解? | (p1:工作區) => BlockSvg | (選用) | |
高 | 號碼 | 此區塊的高度,不包括上方或下方的任何陳述式區塊。高度是以工作區單元為單位。 | |
內嵌 |
|
(未宣告) | 用於識別以內嵌方式轉譯的資料列常數。不要與 Blockly.inputTypes 衝突。 |
更動子 | MutatorIcon | 空值 | 塊狀的變動器圖示 (如果有的話)。 | |
nextConnection | RenderedConnection | ||
outputConnection | RenderedConnection | ||
previousConnection | RenderedConnection | ||
已轉譯 | boolean | ||
saveConnections? | (p1:BlockSvg) => void | (選用) | |
樣式 | BlockStyle | ||
警告 | WarningIcon | 空值 | 封鎖的警告圖示 (如果有的話)。 | |
寬度 | 號碼 | 此區塊的寬度,包括任何連接的值區塊。寬度是以工作區單位表示。 | |
工作區 | WorkspaceSvg |
方法
方法 | 修飾符 | 說明 |
---|---|---|
addIcon(icon) | ||
addSelect() | 將「select」視覺效果加入區塊,但實際上並未選取該效果或觸發事件。 | |
appendInput(input) | ||
bumpNeighbours() | 未連接的區塊加上對齊的波紋。 兩個未實際連接的區塊不應恰恰在螢幕上對齊,以免造成使用者混淆。 |
|
checkAndDelete() | 刪除方塊並隱藏主角。如果方塊處於飛航狀態,系統不會刪除該方塊。這在內容選單和鍵盤快速鍵中稱為完整的刪除動作。如果要從工作區丟棄區塊,且不需執行飛航檢查、處理事件分組或隱藏主席,請直接使用 block.dispose() 。 |
|
dispose(healStack, animate) | 解除這個區塊。 | |
disposeInternal() | 我們沒有執行頂層區塊的必要操作,即可處置這個區塊。例如會觸發 UI 效果、移除節點等。 | |
generateContextMenu() | protected |
產生這個區塊的內容選單。 |
getBoundingRectangle() | 傳回邊框的座標,用來說明這個區塊的尺寸,以及任何在其下方堆疊的區塊。座標系統:工作區座標。 | |
getChildren(ordered) | 找出直接巢狀結構內的所有區塊。包含值和陳述式輸入值,以及任何下列陳述式。排除輸出分頁標籤或上述任何陳述式的任何連線。您可以選擇依照位置 (由上至下) 排序封鎖。 | |
getColour() | 取得方塊的顏色。 | |
getColourSecondary() | 取得區塊的次要顏色。 | |
getColourTertiary() | 取得方塊的第三色。 | |
getCommentIcon() | 取得附加至這個區塊的註解圖示;如果區塊沒有註解,則傳回 null。 | |
getNextBlock() | 傳回與這個區塊直接連結的下一個陳述式區塊。 | |
getPreviousBlock() | 傳回連線至上一個連線的區塊。 | |
getRelativeToSurfaceXY() | 在工作區單位中,傳回這個區塊左上角相對於繪圖介面原點 (0,0) 的座標。如果區塊位於工作區,(0, 0) 就是工作區座標系統的起點。這項設定不會隨工作區調整規模而改變。 | |
getSvgRoot() | 傳回 SVG 的根節點;如果沒有,則傳回空值。 | |
initSvg() | 建立並初始化區塊的 SVG 表示法。可能會多次呼叫。 | |
markDirty() | 通知這個區塊上的每個輸入內容,以標示乾淨的欄位。骯髒欄位是指需要重新算繪的欄位。 | |
moveBy(dx, dy, 原因) | 以相對偏移值移動區塊。 | |
moveNumberedInputBefore(inputIndex, refIndex) | 將編號輸入內容移至這個區塊上的其他位置。 | |
moveTo(xy, 原因) | 將方塊移至特定位置。 | |
removeIcon(type) | ||
removeInput(name, opt_quiet) | 移除這個區塊中的輸入內容。 | |
removeSelect() | 從區塊中移除視覺「選取」視覺效果,但實際上不會取消選取或觸發事件。 | |
Render() | 根據區塊的內容和設定,立即調整區塊的版面配置與重排。 | |
select() 鍵 | 選擇這個區塊。以視覺方式醒目顯示方塊,如果尚未選取方塊,則會觸發選取事件。 | |
setCollapsed(collapsed) | 設定區塊是否收合。 | |
setColour(colour) | 變更方塊顏色。 | |
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() | 將這個方塊貼至最近的格線點。 | |
tab(開始, 前進) | 開啟下一個 (或上一個) FieldTextInput。 | |
toCopyData() | 編碼要複製的區塊。 | |
translate(x, y) | 對區塊的 SVG 的 transform 屬性設定平移,藉此轉換區塊。 | |
unselect() 鍵 | 取消選取這個區塊。取消醒目顯示區塊,並在目前選取區塊時觸發選取 (false) 事件。 | |
updateMarkers_() | protected |
視需要重新繪製任何附加的標記或遊標 SVG。 |