Lớp BlockDragger
Lớp dành cho người dùng kéo khối. Nó di chuyển các khối xung quanh không gian làm việc khi chúng bị kéo bằng chuột hoặc thao tác chạm.
Chữ ký:
export declare class BlockDragger implements IBlockDragger
Triển khai: IBlockDragger
Hàm khởi tạo
Hàm dựng | Công cụ sửa đổi | Nội dung mô tả |
---|---|---|
(hàm khởi tạo)(khối, không gian làm việc) | Tạo một thực thể mới của lớp BlockDragger |
Thuộc tính
Tài sản | Công cụ sửa đổi | Loại | Nội dung mô tả |
---|---|---|---|
connectionPreviewer | protected |
IConnectionPreviewer | |
draggingBlock_ | protected |
BlockSvg | Khối trên cùng trong ngăn xếp đang được kéo. |
dragIconData_ | protected |
Biểu tượngPositionData[] | |
startXY_ | protected |
Tọa độ | |
workspace_ | protected |
WorkspaceSvg | Không gian làm việc mà khối đang được kéo vào. |
wouldDeleteBlock_ | protected |
boolean | Liệu khối có bị xoá nếu bị xoá ngay lập tức hay không. |
Phương thức
Phương thức | Công cụ sửa đổi | Nội dung mô tả |
---|---|---|
Ngắt kết nốiBlock_(healStack, currentDragDeltaXY) | protected |
Ngắt kết nối rồi di chuyển khối đó đến vị trí mới. |
kéo(e; delta) | Thực hiện một bước kéo khối, dựa trên sự kiện nhất định. Hãy cập nhật màn hình cho phù hợp. | |
dragIcons_() | protected |
Di chuyển tất cả các biểu tượng được liên kết với thao tác kéo này. |
endDrag(e, currentDragDeltaXY) | Kết thúc thao tác kéo khối và đưa khối đó trở lại không gian làm việc. | |
fireDragEndEvent_() | protected |
Kích hoạt một sự kiện giao diện người dùng khi kết thúc quá trình kéo khối. |
fireDragStartEvent_() | protected |
Kích hoạt một sự kiện giao diện người dùng khi bắt đầu quá trình kéo khối. |
fireMoveEvent_() | protected |
Kích hoạt sự kiện di chuyển khi kết thúc quá trình kéo khối. |
getInsertionMarkers() | Lấy danh sách các điểm đánh dấu chèn hiện có. Các lượt kéo có 0, 1 hoặc 2 điểm đánh dấu chèn. | |
getNewLocationAfterDrag_(currentDragDeltaXY) | protected |
Tính toán delta kéo và giá trị vị trí mới sau khi kéo một khối. |
maybeDeleteBlock_() | protected |
Có thể xoá khối kéo, nếu được phép. Nếu this.wouldDeleteBlock_ không đúng, khối sẽ không bị xoá. Lệnh này sẽ được gọi ở cuối quá trình kéo khối. |
pixelsToWorkspaceUnits_(pixelCoord) | protected |
Chuyển đổi đối tượng toạ độ từ pixel thành đơn vị không gian làm việc, bao gồm cả nội dung sửa cho không gian làm việc của biến thể. Hàm này không xem xét các nguồn gốc khác nhau. Công cụ này chỉ đơn giản là điều chỉnh theo tỷ lệ các giá trị x và y của đầu vào. |
shouldDisconnect_(healStack) | protected |
Liệu chúng ta có nên ngắt kết nối khối khi bắt đầu kéo hay không. |
startDrag(currentDragDeltaXY, healStack) | Bắt đầu kéo một khối. | |
updateBlockAfterMove_() | protected |
Cập nhật thông tin cần thiết để đặt khối tại một vị trí nhất định. |
updateCursorDuringBlockDrag_() | protected |
Cập nhật con trỏ (và có thể cả nắp thùng rác) để phản ánh xem khối kéo có bị xoá hay không nếu được thả ra ngay lập tức. |
updateToolboxStyle_(isEnd) | protected |
Thêm hoặc xoá kiểu con trỏ cho hộp công cụ. Đây là những gì sẽ thay đổi con trỏ để hiển thị dấu x khi một khối có thể xoá được giữ trên hộp công cụ. |