BlockDragger 類別
區塊拖曳工具的類別。用滑鼠或觸控拖曳滑鼠遊標時,這個區塊會在工作區周圍移動區塊。
Signature:
export declare class BlockDragger implements IBlockDragger
實作: IBlockDragger
建構函式
建構函式 | 修飾符 | 說明 |
---|---|---|
(建構函式)(模塊, 工作區) | 建構 BlockDragger 類別的新例項 |
屬性
屬性 | 修飾符 | 類型 | 說明 |
---|---|---|---|
connectionPreviewer | protected |
IConnectionPreviewer | |
draggingBlock_ | protected |
BlockSvg | 要拖曳的堆疊中的頂端區塊。 |
dragIconData_ | protected |
IconPositionData[] | |
startXY_ | protected |
座標 | |
workspace_ | protected |
WorkspaceSvg | 拖曳區塊的工作區。 |
wouldDeleteBlock_ | protected |
boolean | 如果立即捨棄該區塊,系統是否會刪除該區塊。 |
方法
方法 | 修飾符 | 說明 |
---|---|---|
disconnectBlock_(healStack, currentDragDeltaXY) | protected |
中斷連線並移至新位置。 |
drag(e, delta) | 根據指定的事件,執行區塊拖曳步驟。並據此更新螢幕。 | |
dragIcons_() | protected |
移動與這個拖曳項目連結的所有圖示。 |
endDrag(e, currentDragDeltaXY) | 完成區塊拖曳之後,將方塊加回工作區。 | |
fireDragEndEvent_() | protected |
在區塊拖曳結束時觸發 UI 事件。 |
fireDragStartEvent_() | protected |
在區塊拖曳開始時觸發 UI 事件。 |
fireMoveEvent_() | protected |
在區塊拖曳結束時觸發移動事件。 |
getInsertionMarkers() | 取得現有的插入標記清單。拖曳項目會有 0、1 或 2 個插入標記。 | |
getNewLocationAfterDrag_(currentDragDeltaXY) | protected |
計算拖曳區塊後,計算拖曳差異和新的位置值。 |
maybeDeleteBlock_() | protected |
如果允許,可能會刪除拖曳區塊。如果 this.wouldDeleteBlock_ 的值為 True,系統就不會刪除該區塊。此方法必須在區塊拖曳結束時呼叫。 |
pixelsToWorkspaceUnits_(pixelCoord) | protected |
將座標物件從像素轉換為工作區單位,包括變動器工作區的更正功能。這個函式不會考慮不同的來源。只會縮放輸入內容的 x 和 y 值。 |
shouldDisconnect_(healStack) | protected |
是否在開始拖曳時,我們是否應中斷區塊的連線。 |
startDrag(currentDragDeltaXY, healStack) | 開始拖曳區塊。 | |
updateBlockAfterMove_() | protected |
更新在特定位置放置區塊的必要資訊。 |
updateCursorDuringBlockDrag_() | protected |
更新遊標 (也可能是垃圾桶蓋),反映拖曳區塊會立即刪除後,是否刪除。 |
updateToolboxStyle_(isEnd) | protected |
新增或移除工具箱的遊標樣式。在工具箱上放置可刪除的區塊時,遊標會變成顯示 x。 |