Workspace 課程
工作區的類別。這是包含區塊的資料結構。沒有 UI,可無頭建立。
Signature:
export declare class Workspace
建構函式
| 建構函式 | 修飾符 | 說明 |
|---|---|---|
| (建構函式)(opt_options) | 建構 Workspace 類別的新例項 |
屬性
| 屬性 | 修飾符 | 類型 | 說明 |
|---|---|---|---|
| connectionChecker | IConnectionChecker | ||
| connectionDBList | ConnectionDB[] | 這組資料庫可快速查詢連線位置。 | |
| horizontalLayout | 布林值 | ||
| id | 字串 | ||
| isFlyout | readonly |
布林值 | 這個工作區是否為飛出視窗的介面? |
| isMutator | readonly |
布林值 | 這個工作區是否為變異器介面? |
| MAX_UNDO | 數字 | 堆疊中的復原事件數量上限。0 會關閉復原功能,Infinity 則會將復原次數設為無限制。 |
|
| 選項 | 選項 | ||
| redoStack_ | protected |
Abstract[] | |
| rendered | 布林值 | 如果工作區可見,則傳回 true;如果工作區無周邊,則傳回 false。 |
|
| RTL | 布林值 | ||
| SCAN_ANGLE | static |
數字 | 將角度從水平方向移開,掃描是否有方塊。執行順序通常是由上而下,但只要稍微調整角度,掃描就會略微偏向由左至右 (如果是 RTL 語言,則會反向)。單位為度數。請參閱:https://tvtropes.org/pmwiki/pmwiki.php/Main/DiagonalBilling |
| toolboxPosition | toolbox.Position | ||
| undoStack_ | protected |
Abstract[] |
方法
| 方法 | 修飾符 | 說明 |
|---|---|---|
| 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 的工作區。 |
| getCommentById(id) | 找出這個工作區中具有指定 ID 的留言。 | |
| getPotentialVariableMap() | 傳回包含「潛在」變數的變數對應。這些項目會顯示在飛出式視窗中,但不會顯示在工作區中。 | |
| getProcedureMap() | 傳回工作區中所有程序的對應。 | |
| getRootWorkspace() | 如果工作區有父項,則傳回這個工作區的根工作區。 舉例來說,彈出式視窗和迷你工作區泡泡中的工作區都有父項工作區。 |
|
| getTopBlocks(ordered) | 找出並傳回頂層區塊。區塊可依位置排序,由上到下 (略微偏向 LTR 或 RTL)。 | |
| getVariable(name, opt_type) | 依指定名稱尋找變數並傳回。如果找不到,則傳回空值。 | |
| getVariableById(id) | 依據指定 ID 找出變數並傳回。如果找不到,則傳回空值。 | |
| getVariableMap() | 傳回工作區中所有變數的地圖。 | |
| getVariableMapClass() | protected |
|
| getVariablesOfType(type) | 找出指定類型的變數。如果型別為空值,則傳回型別為空字串的變數清單。 | |
| getVariableUsesById(id) | 找出指定變數的所有用途 (以 ID 識別)。 | |
| getWidth() | 傳回工作區的水平偏移量。適用於 XML 中的 LTR/RTL 相容性。不適用於無頭工作區。 | |
| hasBlockLimits() | 檢查工作區是否對方塊數量上限或特定類型方塊數量上限設有限制。 | |
| isCapacityAvailable(typeCountsMap) | 檢查是否還有剩餘容量,可建立指定計數的區塊。如果地圖代表的區塊總數超過剩餘總容量,則會傳回 false。如果某個型別的計數超過該型別的剩餘容量,則會傳回 false。 | |
| isReadOnly() | 傳回這個工作區是否處於唯讀模式。 | |
| newBlock(prototypeName, opt_id) | 取得新建立的區塊。 | |
| newComment(id) | 取得新建立的留言。 | |
| remainingCapacity() | 可新增至工作區的方塊數量,達到 maxBlocks 前。 | |
| remainingCapacityOfType(type) | 可新增至工作區的指定類型方塊數量,達到該類型允許的 maxInstances 之前。 | |
| removeChangeListener(func) | 停止監聽這個工作區的變更。 | |
| removeTopBlock(block) | 從熱門積木清單中移除積木。 | |
| removeTypedBlock(block) | 從依類型鍵入的區塊清單中移除區塊。 | |
| renameVariableById(id, newName) | 如要重新命名變數,請在變數對應表中更新變數名稱。使用指定 ID 找出要重新命名的變數。 | |
| setIsReadOnly(readOnly) | 設定這個工作區是否處於唯讀模式。 | |
| sortByOrigin(a, b) | protected |
依據工作區中受限元素的位置排序,由上到下 (略微偏向 LTR 或 RTL)。 |
| 復原(重做) | 復原或重做上一個動作。 |