封鎖課程
單一區塊的課程。通常不會直接呼叫,建議使用 workspace.newBlock()。
Signature:
export declare class Block implements IASTNodeLocation, IDeletable
實作: IASTNodeLocation、IDeletable
建構函式
建構函式 | 修飾符 | 說明 |
---|---|---|
(buildor)(workspace, prototypeName, opt_id) | 建構 Block 類別的新執行個體 |
屬性
屬性 | 修飾符 | 類型 | 說明 |
---|---|---|---|
childBlocks_ | protected |
這個 [] | |
collapsed_ | protected |
boolean | |
COLLAPSED_FIELD_NAME |
|
字串 | 為收合欄位指定的語言中立 ID。 |
COLLAPSED_INPUT_NAME |
|
字串 | 為收合輸入內容指定的語言中立 ID。 |
colour_ | protected |
字串 | 區塊色彩,格式為「#RRGGBB」。 |
compose? | (p1:封鎖) => void | (選用) 這項選用函式可根據異動器對話方塊的內容重新設定區塊。 | |
contextMenu | boolean | ||
資料 | 字串 | 空值 | 在區塊與 XML 之間往返的選用文字資料。沒有影響 第三方可能會利用該工具取得中繼資料。 | |
分解? | (p1:工作區) => 封鎖 | (選用) 這項選用函式會將此區塊的元件填入變異器的對話方塊。 | |
destroy? | () => void | (選用) 處理時呼叫的選用方法。 | |
domToMutation? | (p1:元素) => void | (選用) 可選用的反序列化方法,用於定義從 XML 將異動狀態還原序列化。這必須與定義 mutationToDom 結合。 |
|
getDeveloperVariables? | () => 字串 [] | (選用) 用於宣告開發人員變數的選用屬性。傳回變數名稱清單,供產生器使用。開發人員變數絕不會向使用者顯示,但在產生的程式碼中會宣告為全域變數。 | |
帽子? | 字串 | (選填) 帽子類型的名稱。 | |
helpUrl | string | Function | null | 區塊說明字串,或會傳回網址的函式。空值表示沒有幫助。 | |
圖示 | IIcon[] | ||
id | 字串 | ||
init? | () => void | (選用) 在初始化期間呼叫的選用方法。 | |
inputList | 輸入值 [] | ||
inputsInline? | boolean | (選用) | |
inputsInlineDefault? | boolean | (選用) | |
isInFlyout | boolean | ||
isInMutator | boolean | ||
isInsertionMarker_ | protected |
boolean | 如果這個區塊是插入標記,則為 True。 |
loadExtraState? | (p1:任何) => void | (選用) 這是選用的序列化方法,用於定義如何從與 JSON 相容的項目將區塊的額外狀態 (例如異動狀態) 反序列化。這必須與定義 saveExtraState 結合。 |
|
異動內容? | (...p1: any[]) => 元素 | (選用) 這是選用的序列化方法,用於定義如何將異動狀態序列化為 XML。這必須與定義 domToMutation 結合。 |
|
nextConnection | Connection | 空值 | ||
環境改變? | ((p1: Abstract) => void) | null | (選用) 此為選用回呼方法,會在區塊父項工作區變更時使用。這通常只會從建構函式、區塊類型初始化工具函式或擴充功能初始化函式呼叫。 | |
outputConnection | Connection | 空值 | ||
outputShape_ | protected |
數字 | 空值 | |
parentBlock_ | protected |
這個 | 空值 | |
previousConnection | Connection | 空值 | ||
已轉譯 | boolean | null | ||
RTL | boolean | ||
saveExtraState? | (doFullSerialization?: boolean) =>任一 | (選用) 這是選用的序列化方法,用於定義如何將區塊的額外狀態 (例如異動狀態) 序列化為與 JSON 相容的項目。這必須與定義 loadExtraState 結合。 |
|
styleName_ | protected |
字串 | 區塊樣式的名稱。 |
suppressPrefixSuffix | boolean | null | 選用屬性,用來隱藏將 STATEMENT_PREFIX 和 STATEMENT_SUFFIX 新增至產生的程式碼。 | |
工具提示 | Tooltip.TipInfo | ||
類型 | 字串 | ||
工作區 | Workspace |
方法
方法 | 修飾符 | 說明 |
---|---|---|
addIcon(icon) | 將指定圖示新增至區塊。 | |
allInputsFilled(opt_shadowBlocksAreFilled) | 以遞迴方式檢查所有陳述式和值輸入內容是否均已填入區塊。也會檢查此堆疊中的所有下列陳述式區塊。 | |
appendDummyInput(name) | 附加虛擬輸入列。 | |
appendEndRowInput(name) | 附加結束該列的輸入值。 | |
appendInput(input) | 附加指定的輸入列。 允許將自訂輸入附加至區塊。 |
|
appendStatementInput(name) | 附加陳述式輸入列。 | |
appendValueInput(name) | 附加值輸入列。 | |
bumpNeighbours() | 將未連接的區塊加至對齊的區塊。兩個未實際連接的方塊不應意外對齊螢幕上。 | |
dispose(healStack) | 解除這個區塊。 | |
disposeInternal() | protected |
我們沒有執行頂層區塊的必要操作,即可處置這個區塊。例如不會觸發事件、拔除區塊等。 |
doInit_() | protected |
呼叫 init() 函式並處理相關事件觸發等。 |
getChildren(ordered) | 找出直接巢狀結構內的所有區塊。包含值和陳述式輸入值,以及任何下列陳述式。排除輸出分頁標籤或上述任何陳述式的任何連線。您可以選擇依照位置 (由上至下) 排序封鎖。 | |
getColour() | 取得方塊的顏色。 | |
getCommentText() | 傳回這個區塊的註解 (如果沒有註解,則傳回 null)。 | |
getDescendants(ordered) | 請找出直接或間接在這個區塊內的所有區塊。在清單中加入這個封鎖條件。包含值和陳述式輸入內容,以及任何下列敘述。排除輸出分頁標籤或上述任何陳述式的任何連線。您可以選擇依照位置 (由上至下) 排序封鎖。 | |
getField(name) | 傳回區塊中的已命名欄位。 | |
getFieldValue(name) | 傳回指定欄位的語言中立值。 | |
getHue() | 取得區塊的 HSV 色調值。如果未設定色調,則為空值。 | |
getIcon(type) | ||
getIcons() | ||
getInheritedDisabled() | 瞭解封鎖條件是否因家長而停用。系統不會考慮區塊本身的已停用屬性。 | |
getInput(name) | 擷取已命名的輸入物件。 | |
getInputsInline() | 瞭解輸入值是以水平或垂直方式排列。 | |
getInputTargetBlock(name) | 擷取附加至已命名輸入項目的區塊。 | |
getInputWithBlock(block) | 傳回連線至指定區塊的輸入內容。 | |
getNextBlock() | 傳回與這個區塊直接連結的下一個陳述式區塊。 | |
getOutputShape() | 取得區塊的輸出形狀。 | |
getParent() | 如果這個區塊位於頂層,請傳回上層區塊或空值。父項區塊是連接至先前連線的區塊 (用於陳述式區塊),或是連接到輸出連線的區塊 (以值區塊)。 | |
getPreviousBlock() | 傳回連線至上一個連線的區塊。 | |
getRelativeToSurfaceXY() | 在工作區單位中,傳回這個區塊左上角相對於繪圖介面原點 (0,0) 的座標。 | |
getRootBlock() | 傳回這個區塊樹狀結構中最高的區塊。如果這個區塊位於頂層,就會傳回此區塊。 | |
getStyleName() | 取得區塊樣式的名稱。 | |
getSurroundParent() | Return the parent block that surrounds the current block, or null if this block has no surrounding block. 父項區塊可能只是上一個陳述式,而周圍區塊則是 if 陳述式、迴圈等等。 | |
getTooltip() | 傳回這個區塊的工具提示文字。 | |
getVars() | 傳回這個區塊參照的所有變數。 | |
hasIcon(type) | ||
initModel() | 對區塊的所有欄位呼叫 initModel。可能會多次呼叫。建立區塊後,以及第一次與其互動之前,都必須呼叫 initModel 或 initSvg。互動包括 UI 動作 (例如點擊和拖曳) 和觸發事件 (例如建立、刪除及變更)。 | |
isCollapsed() | 取得封鎖是否收合。 | |
isDeletable() | 取得這個區塊是否可刪除。 | |
isDisposed() | 如果這個區塊已被處理 / 刪除,則傳回 。 | |
isDuplicatable() | 取得區塊是否可重複。如果複製這個區塊和子系,這個區塊會超出工作區的容量,這個區塊無法重複。如果複製這個區塊和子系,系統會將任何類型放在其 maxInstances 上,此區塊無法重複。 | |
isEnabled() | 取得是否啟用這項封鎖功能。 | |
isInsertionMarker() | 取得這個區塊是否為插入標記區塊。 | |
isOwnDeletable() | 傳回這個區塊本身的可刪除屬性為 true 或 false。 | |
isOwnEditable() | 傳回這個區塊本身的可編輯屬性為 true 或 false。 | |
isShadow() | 取得這個模塊是否為陰影區塊。 | |
jsonInit(json) | 使用適用於國際化且適用於國際化的 JSON 說明來初始化這個區塊。 | |
mixin(mixinObj、opt_disableCheck) | 將 MixinObj 的鍵/值新增至這個區塊物件。根據預設,這個方法會檢查 MixinObj 中的鍵不會覆寫區塊中現有的值,包括原型值。這有助於因應日後的封鎖功能不相容情形,來解決混合 / 擴充功能不相容的問題。只要將 True 做為第二個引數,即可停用這項檢查。 | |
moveBy(dx, dy, 原因) | 以相對偏移值移動區塊。 | |
moveInputBefore(name, refName) | 將已命名的輸入內容移至這個區塊上的其他位置。 | |
moveNumberedInputBefore(inputIndex, refIndex) | 將編號輸入內容移至這個區塊上的其他位置。 | |
removeIcon(type) | 從區塊中移除 getType 與指定類型 iconType 的圖示。 | |
removeInput(name, opt_quiet) | 移除這個區塊中的輸入內容。 | |
renameVarById(oldId, newId) | 通知說明變數正在重新命名。如果 ID 與這個區塊的其中一個變數相符,請重新命名。 | |
setCollapsed(collapsed) | 設定區塊是否收合。 | |
setColour(colour) | 變更方塊顏色。 | |
setCommentText(text) | 設定這個區塊的留言文字。 | |
setDeletable(deletable) | 設定此區塊是否可刪除。 | |
setEditable(editable) | 設定是否開放編輯這個封鎖條件。 | |
setEnabled(enabled) | 設定是否啟用封鎖功能。 | |
setFieldValue(newValue, name) | 設定這個區塊的指定欄位值。 | |
setHelpUrl(網址) | 設定這個區塊的說明頁面網址。 | |
setInputsInline(newBoolean) | 設定值輸入內容的水平或垂直排列方式。 | |
setMovable(movable) | 設定此區塊是否可移動。 | |
setMutator(_mutator) | 為這個區塊提供靜音對話方塊。 | |
setNextStatement(newBoolean, opt_check) | 設定另一個區塊是否能鏈結到這個區塊的底部。 | |
setOnChange(onchangeFn) | 設定回呼函式,供區塊的父項工作區變更時使用,並取代先前的 onchange 處理常式。這通常只會從建構函式、區塊類型初始化工具函式或擴充功能初始化函式呼叫。 | |
setOutput(newBoolean, opt_check) | 設定這個區塊是否傳回值。 | |
setOutputShape(outputShape) | 設定區塊的輸出形狀。 | |
setPreviousStatement(newBoolean, opt_check) | 設定這個區塊是否可鏈結到另一個區塊的底部。 | |
setStyle(blockStyleName) | 設定區塊的樣式和顏色值。 | |
setTooltip(newTip) | 設定這個區塊的工具提示。 | |
setWarningText(_text, _opt_id) | 設定這個區塊的警告文字。 | |
toDevString() | 這個方法會在開發人員字詞中傳回描述這個區塊的字串 (類型名稱和 ID;僅限英文)。 建議用於控制台記錄檔和錯誤。如需採用使用者母語的字串 (包括區塊文字、欄位值和子區塊),請使用 [toString()]。 |
|
toString(opt_maxLength, opt_emptyToken) | 為這個區塊及任何子項建立清楚易懂的文字表示法。 | |
unplug(opt_healStack) | 從另一個方塊拔除這個方塊。如果這個區塊是陳述式,可選擇重新連結下方區塊和頂端的區塊。 |