blockly > Workspace

Workspace 類別

工作區的類別。這是包含區塊的資料結構。無 UI,可直接建立。

Signature:

export declare class Workspace implements IASTNodeLocation 

實作: IASTNodeLocation

建構函式

建構函式 修飾符 說明
(建構函式)(opt_options) 建構 Workspace 類別的新執行個體

屬性

屬性 修飾符 類型 說明
connectionChecker IConnectionChecker
connectionDBList ConnectionDB[] 一組用於快速查詢連線位置的資料庫。
horizontalLayout boolean
id 字串
isFlyout readonly boolean 這個工作區是可以飛出的工作區嗎?
isMutator readonly boolean 這個工作區是電梯電梯的表面嗎?
MAX_UNDO 號碼 堆疊中的復原事件數量上限。0會關閉復原功能,Infinity會設為無限制。
選項 選項
redoStack_ protected 摘要[]
已轉譯 boolean 如果工作區可以顯示,則傳回 true;如果是無頭工作區,則傳回 false
RTL boolean
SCAN_ANGLE static 號碼 從水平方向翻轉即可清除方塊。執行順序通常由上到下,但少了一點角度會改變掃描,以由左至右偏誤 (在 RTL 中反轉)。單位為度數。請參閱:https://tvtropes.org/pmwiki/pmwiki.php/Main/DiagonalBilling
toolboxPosition toolbox.Position
undoStack_ protected 摘要[]

方法

方法 修飾符 說明
addChangeListener(func) 當這個工作區中的項目有所變更時,請呼叫函式。請注意,堆疊中可能有數個近期事件。因此,如果事件是在新增變更事件監聽器的數毫秒前發生的事件,您可能就會呼叫新的變更事件監聽器。
addTopBlock(block) 將區塊新增至頂端區塊清單。
addTypedBlock(block) 在輸入鍵的區塊清單中,新增區塊。
allInputsFilled(opt_shadowBlocksAreFilled) 檢查工作區中的所有值和陳述式輸入內容是否都以區塊填滿。
clear() 在工作區中處理所有區塊和註解。
clearUndo() 清除復原/重做堆疊。
createVariable(name, opt_type, opt_id) 建立指定名稱、選用類型和選用 ID 的變數。
deleteVariableById(id) 按照傳入的 ID 及其所有用途從這個工作區中刪除變數。可能會提示使用者確認。
dispose() 請丟棄這個工作區。取消與所有 DOM 元素的連結,以免記憶體流失。
fireChangeListener(event) 觸發變更事件。
getAll() static 尋找所有工作區。
getAllBlocks(ordered) 在工作區中尋找所有區塊。您可以選擇依照位置、由上至下 (含輕微 LTR 或 RTL 偏誤) 排序區塊。
getAllVariableNames() 傳回所有類型的所有變數名稱。
getAllVariables() 傳回所有類型的所有變數。
getBlockById(id) 在這個工作區中找出具有指定 ID 的區塊。
getBlocksByType(type, ordered) 請找出關聯類型的區塊並傳回。您可以選擇依照位置、由上至下 (含輕微 LTR 或 RTL 偏誤) 排序區塊。
getById(id) static 找出含有指定 ID 的工作區。
getProcedureMap() 傳回工作集中所有程序的對應圖。
getRootWorkspace()

如果工作區有父項,就會傳回這個工作區的根工作區。

舉例來說,翻轉式工作區和迷你工作區泡泡中有父項工作區。

getTopBlocks(ordered) 找出並傳回頂層區塊。您可以選擇依照位置、由上至下 (含輕微 LTR 或 RTL 偏誤) 排序區塊。
getVariable(name, opt_type) 依據指定名稱尋找變數,然後傳回。如果沒有找到,則傳回空值。
getVariableById(id) 依據指定 ID 找出變數並傳回。如果沒有找到,則傳回空值。
getVariableMap() 傳回工作區中所有變數的對應圖。
getVariablesOfType(type) 找出包含指定類型的變數。如果類型為空值,系統會傳回空白字串類型的變數清單。
getVariableUsesById(id) 尋找以 ID 識別指定變數的所有用途。
getWidth() 傳回工作區的水平偏移。適合在 XML 中使用 LTR/RTL 相容性。與無頭工作區無關。
hasBlockLimits() 檢查工作區是否設有封鎖數量上限,或是特定類型的區塊數量上限。
isCapacityAvailable(typeCountsMap) 針對要建立指定數量的區塊,確認是否還有容量可建立。如果地圖代表的區塊總數大於剩餘容量,則會傳回 false。如果類型數量大於該類型的剩餘容量,則會傳回 false。
newBlock(prototypeName, opt_id) 取得新建立的區塊。
remainingCapacity() 在達到 maxBlocks 前可加入工作區的區塊數量。
remainingCapacityOfType(type) 在達到該類型允許的 maxInstances 之前,可以加入工作區的區塊數量。
removeChangeListener(func) 停止監聽這個工作區的變更。
removeTopBlock(block) 從常見封鎖清單移除封鎖。
removeTypedBlock(block) 從依據類型鍵的封鎖清單中移除區塊。
renameVariableById(id, newName) 更新變數對應中變數的名稱,即可重新命名變數。找出要使用指定 ID 重新命名的變數。
undo(重做) 復原或重做上一個動作。