คลาส Workspace
ชั้นเรียนสำหรับพื้นที่ทำงาน นี่คือโครงสร้างข้อมูลที่ประกอบด้วยการบล็อก ทั้งนี้ไม่มี UI และสร้างได้โดยไม่ต้องมีส่วนหัว
ลายเซ็น:
export declare class Workspace implements IASTNodeLocation
การใช้งาน: IASTNodeLocation
ผู้ผลิต
ผู้ผลิต | ตัวปรับแต่ง | คำอธิบาย |
---|---|---|
(เครื่องมือสร้าง)(opt_options) | สร้างอินสแตนซ์ใหม่ของคลาส Workspace |
พร็อพเพอร์ตี้
พร็อพเพอร์ตี้ | ตัวปรับแต่ง | Type | คำอธิบาย |
---|---|---|---|
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) | เมื่อมีการเปลี่ยนแปลงเกิดขึ้นในพื้นที่ทำงาน ให้เรียกใช้ฟังก์ชัน โปรดทราบว่าอาจมีเหตุการณ์ล่าสุด 2-3 รายการอยู่แล้วในกลุ่ม ดังนั้นอาจมีการเรียก Listener การเปลี่ยนแปลงใหม่ด้วยเหตุการณ์ที่เกิดขึ้นไม่กี่มิลลิวินาทีก่อนที่จะเพิ่ม Listener การเปลี่ยนแปลง | |
addTopBlock(block) | เพิ่มบล็อกลงในรายการบล็อกยอดนิยม | |
addTypedBlock(block) | เพิ่มบล็อกลงในรายการบล็อกที่แบ่งตามประเภท | |
allInputsFilled(opt_shadowBlocksAreFilled) | ตรวจสอบว่าอินพุตค่าและคำสั่งทั้งหมดในพื้นที่ทำงานเต็มไปด้วยบล็อกหรือไม่ | |
clear() | กำจัดบล็อกและความคิดเห็นทั้งหมดในพื้นที่ทำงาน | |
clearUndo() | ล้างการเลิกทำ/ทำซ้ำสแต็ก | |
createVariable(name, opt_type, opt_id) | สร้างตัวแปรพร้อมชื่อที่ตั้งไว้ ประเภทที่ไม่บังคับ และรหัสที่ไม่บังคับ | |
deleteVariableById(id) | ลบตัวแปรตามรหัสที่ส่งและการใช้งานทั้งหมดจากพื้นที่ทำงานนี้ อาจแจ้งให้ผู้ใช้ยืนยัน | |
dispose() | กำจัดพื้นที่ทำงานนี้ ยกเลิกการลิงก์จากองค์ประกอบ DOM ทั้งหมดเพื่อป้องกันข้อมูลรั่วไหล | |
fireChangeListener(event) | เริ่มการทำงานของเหตุการณ์การเปลี่ยนแปลง | |
getAll() | static |
ค้นหาพื้นที่ทำงานทั้งหมด |
getAllBlocks(ordered) | ค้นหาบล็อกทั้งหมดในพื้นที่ทํางาน บล็อกสามารถจัดเรียงได้ตามตำแหน่ง โดยสามารถเลือกจากบนลงล่าง (มีการให้น้ำหนักพิเศษแบบ LTR หรือ RTL เล็กน้อย) | |
getAllVariableNames() | แสดงผลชื่อตัวแปรทั้งหมดทุกประเภท | |
getAllVariables() | แสดงผลตัวแปรทุกประเภท | |
getBlockById(id) | หาบล็อกในพื้นที่ทํางานนี้ด้วยรหัสที่ระบุ | |
getBlocksByType(type, ordered) | ค้นหาบล็อกที่มีประเภทที่เกี่ยวข้องและส่งบล็อกเหล่านั้นกลับมา บล็อกสามารถจัดเรียงได้ตามตำแหน่ง โดยสามารถเลือกจากบนลงล่าง (มีการให้น้ำหนักพิเศษแบบ LTR หรือ RTL เล็กน้อย) | |
getById(id) | static |
ค้นหาพื้นที่ทำงานที่มีรหัสที่ระบุ |
getProcedureMap() | แสดงผลแผนที่ของกระบวนการทั้งหมดในเวิร์กเพซ | |
getRootWorkspace() | แสดงผลพื้นที่ทำงานรูทของพื้นที่ทำงานนี้หากพื้นที่ทำงานมีระดับบนสุด เช่น พื้นที่ทำงานในฟองอากาศขนาดเล็กและลูกโป่งพื้นที่ทำงานขนาดเล็กจะมีพื้นที่ทำงานระดับบนสุด |
|
getTopBlocks(ordered) | ค้นหาบล็อกระดับบนสุดและส่งคืน บล็อกสามารถจัดเรียงได้ตามตำแหน่ง โดยสามารถเลือกจากบนลงล่าง (มีการให้น้ำหนักพิเศษแบบ LTR หรือ RTL เล็กน้อย) | |
getVariable(name, opt_type) | ค้นหาตัวแปรตามชื่อและแสดงผล แสดงผล Null หากไม่พบ | |
getVariableById(id) | ค้นหาตัวแปรตามรหัสที่กำหนดและแสดงผลตัวแปร แสดงผล Null หากไม่พบ | |
getVariableMap() | แสดงแมปของตัวแปรทั้งหมดในพื้นที่ทำงาน | |
getVariablesOfType(type) | หาตัวแปรในประเภทที่ระบุ หากประเภทเป็น Null ระบบจะแสดงรายการตัวแปรที่มีประเภทสตริงว่างเปล่า | |
getVariableUsesById(id) | หาการใช้งานทั้งหมดของตัวแปรที่กำหนดซึ่งระบุด้วยรหัส | |
getWidth() | แสดงออฟเซ็ตแนวนอนของพื้นที่ทำงาน มีไว้สำหรับความเข้ากันได้กับ LTR/RTL ใน XML ไม่เกี่ยวข้องกับพื้นที่ทำงานแบบไม่มีส่วนหัว | |
hasBlockLimits() | ตรวจสอบว่าพื้นที่ทำงานมีขีดจำกัดของจำนวนการบล็อกสูงสุด หรือจำนวนบล็อกสูงสุดของประเภทที่เจาะจงหรือไม่ | |
isCapacityAvailable(typeCountsMap) | ตรวจสอบว่ามีขีดจำกัดสำหรับบล็อกของจำนวนที่ระบุที่จะสร้างหรือไม่ หากจำนวนบล็อกทั้งหมดที่แสดงโดยแผนที่มีมากกว่าความจุที่เหลือทั้งหมด แผนที่จะแสดงค่าเท็จ หากจำนวนของประเภทมีค่ามากกว่าขีดจำกัดที่เหลือสำหรับประเภทนั้น ระบบจะแสดงผลเป็น "เท็จ" | |
newBlock(prototypeName, opt_id) | รับบล็อกที่สร้างขึ้นใหม่ | |
remainingCapacity() | จำนวนบล็อกที่อาจเพิ่มไปยังพื้นที่ทำงานก่อนไปถึง maxBlocks | |
remainingCapacityOfType(type) | จำนวนบล็อกของประเภทที่กำหนดซึ่งอาจเพิ่มไปยังพื้นที่ทำงานก่อนที่จะถึงจำนวนสูงสุดของอินสแตนซ์สูงสุดที่อนุญาตสำหรับประเภทนั้น | |
removeChangeListener(func) | หยุดรับข้อมูลการเปลี่ยนแปลงของพื้นที่ทำงานนี้ | |
removeTopBlock(block) | นําการบล็อกออกจากรายการบล็อกยอดนิยม | |
removeTypedBlock(block) | นําบล็อกออกจากรายการบล็อกที่ใส่ไว้ตามประเภท | |
renameVariableById(id, newName) | เปลี่ยนชื่อตัวแปรโดยอัปเดตชื่อตัวแปรในแมปตัวแปร ระบุตัวแปรที่จะเปลี่ยนชื่อด้วยรหัสที่กำหนด | |
undo(ทำซ้ำ) | เลิกทำหรือทำซ้ำการดำเนินการก่อนหน้า |