Workspace 課程
適用於工作區的類別。這是包含區塊的資料結構。沒有使用者介面,可無頭建立。
Signature:
export declare class Workspace implements IASTNodeLocation
導入: IASTNodeLocation
建構函式
建構函式 | 修飾符 | 說明 |
---|---|---|
(buildor)(opt_options) | 建構 Workspace 類別的新例項 |
屬性
屬性 | 修飾符 | 類型 | 說明 |
---|---|---|---|
connectionChecker | IConnectionChecker | ||
connectionDBList | ConnectionDB[] | 用於快速查詢連線位置的一組資料庫。 | |
horizontalLayout | 布林值 | ||
id | 字串 | ||
isFlyout | readonly |
布林值 | 這個工作區是戶外飛機的表面嗎? |
isMutator | readonly |
布林值 | 這個工作區是否為變動者的介面? |
MAX_UNDO | 數字 | 堆疊中的復原事件數量上限。0 會關閉復原功能,Infinity 則會設為無限制。 |
|
選項 | 選項 | ||
redoStack_ | protected |
摘要[] | |
算繪 | 布林值 | 如果工作區可見,則傳回 true ,如果是無頭,則傳回 false 。 |
|
RTL | 布林值 | ||
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) | 取得新建立的區塊。 | |
newComment(id) | 取得新建立的註解。 | |
remainingCapacity() | 工作區在達到 maxBlocks 前可加入的區塊數量。 | |
remainingCapacityOfType(type) | 可在達到該類型的 maxInstances 上限前,加入工作區的指定類型的區塊數量。 | |
removeChangeListener(func) | 停止監聽這個工作區的變更。 | |
removeTopBlock(block) | 從頂端封鎖條件清單中移除封鎖條件。 | |
removeTypedBlock(block) | 從依類型鍵入的區塊清單中移除區塊。 | |
renameVariableById(id, newName) | 在變數對應中更新變數名稱,藉此重新命名變數。找出要以指定 ID 重新命名的變數。 | |
復原(重做) | 復原或重做上一個動作。 |