blockly > WorkspaceSvg

صف WorkspaceSvg

صف لإنشاء مساحة عمل هذه منطقة على الشاشة بها سلة قمامة اختيارية وأشرطة تمرير وفقاعات التفسيرية وميزة السحب.

Signature:

export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg 

تمديد: Workspace

عمليات التنفيذ: IASTNodeLocationSvg

الشركات المصنِّعة

الشركة المصنِّعة مفاتيح التعديل الوصف
(دالة الإنشاء)(options) تنشئ هذه السياسة مثيلاً جديدًا من الفئة WorkspaceSvg.

أماكن إقامة

الموقع مفاتيح التعديل النوع الوصف
configureContextMenu ((menuOptions: ContextMenuOption[], e: Event) => void) | null يمكن للمطوّرين تحديد هذه الدالة لإضافة خيارات قائمة مخصّصة إلى قائمة سياق مساحة العمل أو تعديل مجموعة خيارات القائمة التي تم إنشاؤها في مساحة العمل.
keyboardAccessibilityMode boolean True إذا كان وضع تسهيل الاستخدام لوحة المفاتيح مفعَّلاً، أو false في الحالات الأخرى.
عرض boolean حالة عرض مساحة عمل SVG تعرض القيمة false لمساحات العمل بلا واجهة مستخدم رسومية، والقيمة true لمثيلات WorkspaceSvg.
مقياس الرقم المقياس الحالي.
شريط التمرير ScrollbarPair | قيمة خالية أشرطة التمرير في مساحة العمل هذه، إن كانت متوفّرة.
scrollX الرقم

تمت إزاحة التمرير الأفقي الحالي بوحدات البكسل، نسبةً إلى أصل مساحة العمل.

من المفيد التفكير في منظر، ولوحة رسم تتحرك أسفل هذا العرض. ومع تحرك اللوحة إلى اليمين، تصبح هذه القيمة أكثر إيجابية، ويصبح العرض الآن "يظهر" للجانب الأيسر من اللوحة. ومع تحرك اللوحة إلى اليسار، تصبح هذه القيمة أكثر سلبية، ويصبح العرض الآن "يرى" الجانب الأيمن من اللوحة.

الأمر المُربك في هذه القيمة هو أنها لا تحتوي على إزاحة مطلقة لليسار ولا يجب أن تتضمنها. وذلك لأنه يُستخدم لحساب قيمة viewLeft.

ترتبط طريقة العرض Left بأصل مساحة العمل (على الرغم من أنها بوحدات البكسل). مصدر مساحة العمل هو أعلى يمين مساحة العمل (على الأقل عندما تكون مفعَّلة). ويتم إزاحته من أعلى يسار قسم blocklyDiv بحيث لا يكون أسفل مربّع الأدوات.

عندما تكون مساحة العمل مفعّلة، يكون مصدر مساحة العمل وviewLeft في موقع X نفسه. عندما تنزلق لوحة الرسم باتجاه اليمين أسفل العرض، تصبح هذه القيمة (scrollX) أكثر إيجابية، وتصبح طريقة العرض viewLeft أكثر سلبية بالنسبة إلى أصل مساحة العمل (تخيل أن أصل مساحة العمل كنقطة على اللوحة تنزلق إلى اليمين مع تحرك اللوحة إلى اليمين).

لذلك إذا كان ScrollX سيتضمن absoluteLeft، فإن هذا سيؤدي بطريقة "إلى إلغاء" مصدر مساحة العمل. وهذا يعني أن طريقة العرض Left ستمثل الحافة اليسرى لعنصر blocklyDiv بدلاً من الحافة اليسرى لمساحة العمل.

scrollY الرقم

إزاحة التمرير العمودي الحالي بوحدات البكسل، نسبةً إلى أصل مساحة العمل

من المفيد التفكير في منظر، ولوحة رسم تتحرك أسفل هذا العرض. ومع تحرك اللوحة لأسفل، تصبح هذه القيمة أكثر إيجابية، ويصبح العرض الآن "يرى" الجزء العلوي من اللوحة. وكلما تحركت اللوحة للأعلى، تصبح هذه القيمة أكثر سلبية، ويكون العرض "يرى" الجزء السفلي من اللوحة.

هذا الأمر المربك في هذه القيمة هو أنها لا تحتوي على إزاحة مطلقة ولا يجب أن تتضمنها. وذلك لأنه يُستخدم لحساب قيمة viewTop.

يرتبط العرض العلوي بأصل مساحة العمل (على الرغم من أنه بوحدات البكسل). مصدر مساحة العمل هو أعلى يمين مساحة العمل (على الأقل عندما تكون مفعَّلة). ويتم إزاحته من أعلى يسار قسم blocklyDiv بحيث لا يكون أسفل مربّع الأدوات.

عند تفعيل مساحة العمل، يكون مصدر مساحة العرض ومصدر مساحة العمل في الموقع "ص" نفسه. وعندما تنزلق لوحة الرسم باتجاه الأسفل، تصبح هذه القيمة (scrollY) أكثر إيجابية، وتصبح طريقة العرض viewTop أكثر سلبية بالنسبة إلى مصدر مساحة العمل (الصورة في أصل مساحة العمل كنقطة على اللوحة ينزلق إلى الأسفل مع تحرك اللوحة).

لذلك إذا كان التمرير Y سيتضمن absoluteTop، فإن هذا سيؤدي بطريقة "إلى إلغاء" مصدر مساحة العمل. وهذا يعني أن viewTop سيمثل الحافة العلوية من blocklyDiv، وليس الحافة العلوية لمساحة العمل.

startScrollX الرقم قيمة التمرير الأفقي عند بدء الانتقال بوحدات بكسل
startScrollY الرقم قيمة التمرير العمودي عند بدء الانتقال بوحدات بكسل
svgBackground_ SVGElement
svgBlockCanvas_ SVGElement
svgBubbleCanvas_ SVGElement
svgGroup_ SVGElement
themeManager_ protected ThemeManager
المهملات المهملات | فارغ سلة مهملات مساحة العمل (إن وجدت).
zoomControls_ ZoomControls | قيمة خالية

الطُرق

الطريقة مفاتيح التعديل الوصف
addTopBlock(block) لإضافة مجموعة إلى قائمة الوحدات الأساسية
addTopBoundedElement(element) لإضافة عنصر محدود إلى قائمة العناصر المرتبطة بأعلى.
addTopComment(comment) لإضافة تعليق إلى قائمة أهم التعليقات
centerOnBlock(id, blockOnly) مرِّر مساحة العمل لتوسيط في القطعة المحدّدة. إذا كانت الكتلة تحتوي على قوالب أخرى مكدسة أسفلها، سيتم توسيط مساحة العمل على المكدس، ما لم تكن block Only صحيحًا.
cleanUp() قم بتنظيف مساحة العمل بترتيب جميع الكتل في عمود.
clear() تخلص من جميع القوالب في مساحة العمل، مع تحسين لمنع عمليات تغيير الحجم.
createDom(opt_backgroundClass, injectionDiv) إنشاء عناصر DOM لمساحة العمل
createVariable(name, opt_type, opt_id) أنشئ متغيّرًا جديدًا بالاسم الذي أدخلته. عدِّل القائمة المنبثقة لإظهار المتغير الجديد على الفور.
deleteVariableById(id) احذف متغيّرًا من خلال رقم التعريف الذي تم تمريره. عدِّل القائمة المنبثقة لإظهار حذف المتغيّر على الفور.
disposition() تخلَّص من مساحة العمل هذه. يمكنك إلغاء الربط بجميع عناصر DOM لمنع تسرُّب الذاكرة.
getAllBlocks(ordered) العثور على جميع الوحدات الأساسية في مساحة العمل ويتم ترتيب القطع اختياريًا حسب الموضع، من أعلى إلى أسفل (مع انحياز طفيف من LTR أو RTL).
getAudioManager() الحصول على مدير الصوت لمساحة العمل هذه
getBlockById(id) ابحث عن القطعة في مساحة العمل هذه باستخدام المعرّف المحدّد.
getBlocksBoundingBox() احسب مربع الإحاطة للكتل البرمجية الموجودة في مساحة العمل. نظام الإحداثيات: إحداثيات مساحة العمل.
getBubbleCanvas() احصل على عنصر SVG الذي يشكّل سطح الفقاعة.
getButtonCallback(key) احصل على وظيفة معاودة الاتصال المرتبطة بمفتاح معين، للنقرات على الأزرار والتصنيفات في القائمة المنبثقة.
getCanvas() احصل على عنصر SVG الذي يشكّل سطح الرسم.
getComponentManager() الحصول على مدير المكوّنات لمساحة العمل هذه.
getCursor() مؤشر مساحة العمل هذه
getDragTarget(e) لعرض هدف السحب الذي انتهى فيه حدث المؤشر.
getFlyout(opt_own) الحصول على القائمة المنبثقة المرتبطة بمساحة العمل هذه. قد تكون هذه القائمة المنبثقة مملوكة لصندوق الأدوات أو مساحة العمل، بناءً على تكوين صندوق الأدوات. ستكون قيمة فارغة إذا لم تكن هناك قائمة منبثقة.
getGrid() احصل على كائن الشبكة لمساحة العمل هذه، أو احصل على قيمة فارغة إذا لم يكن هناك أي منها.
getInverseScreenCTM() الحصول على أداة "التحايل على التدابير التكنولوجية" للشاشة المقلوبة
getMarkerManager() يمكنك الحصول على مدير العلامات لمساحة العمل هذه.
getMetricsManager() الحصول على مدير المقاييس لمساحة العمل هذه
getParentSvg() احصل على عنصر SVG الذي يحتوي على مساحة العمل هذه. ملاحظة: نفترض أنّ يتم استدعاء هذه العملية فقط بعد إدخال مساحة العمل في DOM.
getRenderer() يمكنك تثبيت عارض القوالب في مساحة العمل هذه.
getRootWorkspace()
getScale() احصل على عامل التكبير/التصغير في مساحة العمل. في حال كان مساحة العمل تضم أحد الوالدَين، يتم استدعاء أحد الوالدَين للحصول على مقياس Workspace.
getSvgGroup() تعرض مجموعة SVG لمساحة العمل.
getTheme() الحصول على عنصر مظهر مساحة العمل
getToolbox() احصل على علامة لصندوق الأدوات المرتبط بمساحة العمل هذه، إن توفّرت.
getToolboxCategoryCallback(key) يمكنك الحصول على وظيفة معاودة الاتصال المرتبطة بمفتاح معيّن لتعبئة فئات صندوق الأدوات المخصّصة في مساحة العمل هذه.
getTopBlocks(ordered) يعثر على قوالب المستوى الأعلى وتُرجعها. ويتم ترتيب القطع اختياريًا حسب الموضع، من أعلى إلى أسفل (مع انحياز طفيف من LTR أو RTL).
getTopBoundedElements() للعثور على العناصر المرتبطة بالمستوى الأعلى وعرضها
getWidth() تعرض الإزاحة الأفقية لمساحة العمل. هذا الخيار مخصّص للتوافق مع LTR/RTL في ملف XML.
hideChaff(onlyClosePopups) إغلاق التلميحات وقوائم السياق والاختيارات المنسدلة وما إلى ذلك
hideComponents(onlyClosePopups) إخفاء أي مكوّنات قابلة للإخفاء تلقائيًا (مثل القائمة المنبثقة، سلة المهملات، وأي مكونات مسجَّلة بواسطة المستخدم)
highlightBlock(id, opt_state) يمكنك تمييز جزء في مساحة العمل أو إلغاء تمييزه. غالبًا ما يتم استخدام تمييز الحظر لوضع علامة مرئية على الكتل التي يتم تنفيذها حاليًا.
isDraggable() هل مساحة العمل هذه قابلة للسحب؟
isDragging() هل يسحب المستخدم حاليًا كتلة أو يمرر في القائمة المنبثقة/مساحة العمل؟
isMovable()

هل مساحة العمل هذه قابلة للنقل؟

هذا يعني أن المستخدم يمكنه إعادة وضع إحداثيات X Y لمساحة العمل من خلال الإدخال. يمكن أن يكون ذلك من خلال أشرطة التمرير أو عجلة التمرير أو السحب أو من خلال التكبير أو التصغير باستخدام عجلة التمرير أو التصغير أو التكبير بإصبعين (نظرًا لأن التكبير/التصغير في توسيط موضع الماوس). لا يشمل ذلك التكبير/التصغير باستخدام عناصر التحكم في التكبير/التصغير نظرًا لأن إحداثيات X Y يتم تحديدها برمجيًا.

isMovableHorizontally() هل مساحة العمل هذه قابلة للنقل أفقيًا؟
isMovableVertically() هل يمكن نقل مساحة العمل هذه عموديًا؟
isVisible() الحصول على دالة isvisible
markFocused() يمكنك وضع علامة على مساحة العمل هذه باعتبارها مساحة العمل الرئيسية محل التركيز حاليًا.
moveDrag(e) يمكنك تتبُّع سحب عنصر على مساحة العمل هذه.
newBlock(prototypeName, opt_id) الحصول على قالب تم إنشاؤه حديثًا
لصق(الحالة) يلصق التعليق المرتبط بالكتلة أو مساحة العمل على مساحة العمل. لا يتحقق مما إذا كانت هناك سعة متبقية للكائن، يجب إجراء ذلك قبل استدعاء هذه الطريقة.
recordDragTargets() أنشئ قائمة بجميع مناطق الحذف لمساحة العمل هذه.
refreshTheme() يمكنك إعادة تحميل جميع الأجزاء في مساحة العمل بعد تعديل المظهر.
registerButtonCallback(key, func) تسجيل دالة معاودة اتصال مرتبطة بمفتاح معين، للنقرات على الأزرار والتسميات في القائمة المنبثقة. على سبيل المثال، يجب مطابقة أحد الأزرار التي يحدّدها ملف XML بواسطة استدعاء recordButtonCallback("CREATE_VARIABLE", yourCallbackFunction).
registerToolboxCategoryCallback(key, func) تسجيل دالة معاودة اتصال مرتبطة بمفتاح معيّن، لتعبئة فئات صندوق الأدوات المخصّصة في مساحة العمل هذه. انظر فئات المتغيرات والإجراءات كمثال.
removeButtonCallback(key) إزالة طلب معاودة الاتصال للنقر على زر في القائمة المنبثقة
removeToolboxCategoryCallback(key) إزالة معاودة الاتصال لنقرة على اسم فئة مخصّصة في مربّع الأدوات.
removeTopBlock(block) إزالة حظر من قائمة المجموعات العليا
removeTopBoundedElement(element) إزالة عنصر مرتبط من قائمة العناصر المرتبطة بأعلى.
removeTopComment(comment) لإزالة تعليق من قائمة أهم التعليقات.
renameVariableById(id, newName) يمكنك إعادة تسمية متغيّر من خلال تعديل اسمه في خريطة المتغيّر. عدِّل القائمة المنبثقة لإظهار المتغيّر الذي تمت إعادة تسميته على الفور.
render() عرض جميع الوحدات في مساحة العمل
resize() يمكنك تغيير حجم مساحة عمل Chrome بالكامل وإعادة ضبط موضعها (مربّع الأدوات والمهملات وأشرطة التمرير وما إلى ذلك). ينبغي استدعاؤه عند حدوث تغيير يتطلب إعادة حساب أبعاد المهملات ومواضعها أو تكبير/تصغير أو صندوق الأدوات وما إلى ذلك (مثل تغيير حجم النافذة).
scrollCenter() توسيط مساحة العمل.
setResizeHandlerWrapper(handler) حفظ بيانات معالج تغيير الحجم حتى نتمكن من حذفها لاحقًا من التخلص منها.
setResizesEnabled(enabled) يمكنك تعديل ما إذا كانت ميزة تغيير الحجم في مساحة العمل هذه مفعَّلة. في حال تفعيل هذا الإعداد، سيتم تغيير حجم مساحة العمل عندما يكون ذلك مناسبًا. وفي حال إيقافها، لن يتم تغيير حجم مساحة العمل إلى أن تتم إعادة تفعيلها. استخدم هذا الخيار لتجنب تغيير الحجم أثناء إجراء عملية على دفعة من أجل الأداء.
setScale(newScale) اضبط عامل التكبير/التصغير في مساحة العمل.
setTheme(theme) ضبط كائن مظهر مساحة العمل وفي حال عدم اختيار أي مظهر، يتم ضبط المظهر التلقائي على Classic.
setVisible(isVisible) تبديل إمكانية رؤية مساحة العمل الميزة مخصَّصة حاليًا لمساحة العمل الرئيسية فقط.
startDrag(e, xy) ابدأ في تتبع سحب أحد العناصر على مساحة العمل هذه.
الترجمة(x, y) ترجمة مساحة العمل هذه إلى إحداثيات جديدة.
updateInverseScreenCTM() وضع علامة "غير نظيفة" على الشاشة المعكوسة للتحايل على التدابير التكنولوجية
updateToolbox(toolboxDef) عدِّل شجرة الكتل في مربع الأدوات الحالي.
تكبير(س، ص، مقدار) لتكبير مساحة العمل أو تصغيرها بالنسبة إلى/تمركز على الإحداثي (س، ص).
zoomCenter(type) تكبير القوالب المتمركزة في مركز العرض مع التكبير أو التصغير.
zoomToFit() تكبير القوالب لتلائم مساحة العمل إن أمكن.