فئة WorkspaceSvg
فئة لمساحة عمل هذه مساحة على الشاشة تتضمّن سلة مهملات اختيارية وأشرطة تمرير وفقاعات وإمكانية السحب.
Signature:
export declare class WorkspaceSvg extends Workspace implements IContextMenu, IFocusableNode, IFocusableTree
تمتد إلى: Workspace
التنفيذ: IContextMenu وIFocusableNode وIFocusableTree
الشركات المصنِّعة
الشركة المصنِّعة | مفاتيح التعديل | الوصف |
---|---|---|
(constructor)(options) | تنشئ هذه الدالة مثيلاً جديدًا لفئة WorkspaceSvg |
الخصائص
الموقع | مفاتيح التعديل | النوع | الوصف |
---|---|---|---|
configureContextMenu | ((menuOptions: ContextMenuOption[], e: Event) => void) | null | يمكن للمطوّرين تحديد هذه الدالة لإضافة خيارات قائمة مخصّصة إلى قائمة السياق في مساحة العمل أو تعديل مجموعة خيارات القائمة التي أنشأتها مساحة العمل. | |
keyboardAccessibilityMode | قيمة منطقية | صحيح إذا كان وضع إمكانية استخدام لوحة المفاتيح مفعّلاً، وخطأ في الحالات الأخرى. | |
keyboardMoveInProgress | قيمة منطقية | تعرض القيمة "صحيح" إذا كان يتم حاليًا تنفيذ عملية نقل (سحب) تم بدؤها باستخدام لوحة المفاتيح. | |
rendered | قيمة منطقية | تعرض هذه السمة حالة عرض مساحة عمل SVG. تعرض false لمساحات العمل غير المرئية وtrue لمثيلات WorkspaceSvg . |
|
المقياس | الرقم | المقياس الحالي | |
scrollbar | ScrollbarPair | null | أشرطة التمرير في مساحة العمل هذه، إذا كانت متوفّرة | |
scrollX | الرقم | إزاحة التمرير الأفقي الحالية بوحدات البكسل، بالنسبة إلى نقطة بداية مساحة العمل من المفيد التفكير في طريقة العرض، وفي لوحة الرسم التي تتحرك أسفل طريقة العرض هذه. كلّما تحرّكت لوحة العرض إلى اليمين، أصبحت هذه القيمة أكثر إيجابية، وأصبح العرض الآن "يرى" الجانب الأيسر من لوحة العرض. كلّما تحرّكت لوحة العرض إلى اليسار، أصبحت هذه القيمة أكثر سلبية، وأصبح العرض الآن "يرى" الجانب الأيسر من لوحة العرض. الأمر المحيّر بشأن هذه القيمة هو أنّها لا تتضمّن الإزاحة absoluteLeft، ويجب ألا تتضمّنها. ويرجع ذلك إلى أنّه يُستخدَم لاحتساب قيمة viewLeft. يكون viewLeft مرتبطًا بموضع بدء مساحة العمل (على الرغم من أنّه بوحدات البكسل). نقطة بداية مساحة العمل هي الزاوية العلوية اليسرى من مساحة العمل (على الأقل عندما تكون مفعّلة). يتم نقله من أعلى يسار blocklyDiv حتى لا يكون أسفل صندوق الأدوات. عند تفعيل مساحة العمل، يكون موضع X نفسه لكل من viewLeft ومصدر مساحة العمل. كلما انزلق لوح العرض إلى اليمين تحت طريقة العرض، أصبحت هذه القيمة (scrollX) أكثر إيجابية، وأصبحت قيمة viewLeft أكثر سلبية مقارنةً بموضع لوح العرض الأصلي (تخيّل موضع لوح العرض الأصلي كنقطة على لوح العرض تنزلق إلى اليمين أثناء تحرّك لوح العرض). لذلك، إذا كان scrollX يتضمّن absoluteLeft، سيؤدي ذلك بطريقة ما إلى "إزالة" أصل مساحة العمل. وهذا يعني أنّ viewLeft ستمثّل الحافة اليسرى من blocklyDiv، بدلاً من الحافة اليسرى لمساحة العمل. |
|
scrollY | الرقم | الإزاحة الحالية للتمرير العمودي بوحدات البكسل، بالنسبة إلى نقطة بداية مساحة العمل من المفيد التفكير في طريقة العرض، وفي لوحة الرسم التي تتحرك أسفل طريقة العرض هذه. مع تحرّك لوحة العرض للأسفل، تصبح هذه القيمة أكثر إيجابية، ويتم الآن "عرض" الجزء العلوي من لوحة العرض. كلّما تحرّكت لوحة العرض للأعلى، أصبحت هذه القيمة أكثر سلبية، وأصبح العرض "يرى" الجزء السفلي من لوحة العرض. الأمر المحيّر بشأن هذه القيمة هو أنّها لا تتضمّن الإزاحة absoluteTop، ويجب ألا تتضمّنها. ويرجع ذلك إلى أنّه يُستخدَم لاحتساب قيمة viewTop. يكون viewTop مرتبطًا بموضع بدء مساحة العمل (على الرغم من أنّه بوحدات البكسل). نقطة بداية مساحة العمل هي الزاوية العلوية اليسرى من مساحة العمل (على الأقل عندما تكون مفعّلة). يتم نقله من أعلى يسار blocklyDiv حتى لا يكون أسفل صندوق الأدوات. عند تفعيل مساحة العمل، يكون موضع viewTop وموضع مساحة العمل الجغرافي في الموقع الجغرافي Y نفسه. كلما انزلق لوح العرض إلى الأسفل، أصبحت هذه القيمة (scrollY) أكثر إيجابية، وأصبحت قيمة viewTop أكثر سلبية مقارنةً بموضع لوح العرض الأصلي (الصورة في موضع لوح العرض الأصلي كنقطة على لوح العرض المنزلق إلى الأسفل أثناء تحرّك لوح العرض). لذلك، إذا كان scrollY يتضمّن absoluteTop، سيؤدي ذلك بطريقة ما إلى "إزالة" مصدر مساحة العمل. وهذا يعني أنّ viewTop سيمثّل الحافة العلوية لـ blocklyDiv، بدلاً من الحافة العلوية لمساحة العمل. |
|
startScrollX | الرقم | قيمة التمرير الأفقي عند بدء التمرير بوحدات البكسل | |
startScrollY | الرقم | قيمة التمرير العمودي عند بدء التمرير بوحدات البكسل | |
svgBackground_ | SVGElement | ||
svgBlockCanvas_ | SVGElement | ||
svgBubbleCanvas_ | SVGElement | ||
svgGroup_ | SVGElement | ||
themeManager_ | protected |
ThemeManager | |
trashcan | Trashcan | null | تمثّل هذه السمة سلة المهملات في مساحة العمل (إن وُجدت). | |
zoomControls_ | ZoomControls | null |
الطُرق
الطريقة | مفاتيح التعديل | الوصف |
---|---|---|
addClass(className) | تضيف هذه السمة فئة CSS إلى مساحة العمل. | |
addTopBlock(block) | تضيف هذه السمة حظرًا إلى قائمة الحظر في أعلى الصفحة. | |
addTopBoundedElement(element) | تضيف هذه السمة عنصرًا محددًا إلى قائمة العناصر المحددة الأهم. | |
addTopComment(comment) | تضيف هذه الطريقة تعليقًا إلى قائمة أهم التعليقات. | |
canBeFocused() | راجِع IFocusableNode.canBeFocused. | |
centerOnBlock(id, blockOnly) | مرِّر مساحة العمل لتوسيط البلوك المحدّد. إذا كانت الكتلة تحتوي على كتل أخرى مكدّسة أسفلها، سيتم توسيط مساحة العمل على الحزمة، ما لم تكن قيمة blockOnly صحيحة. | |
cleanUp() | نظِّم مساحة العمل من خلال ترتيب جميع البلوكات في عمود واحد بدون تداخل. | |
clear() | التخلّص من جميع الكتل في مساحة العمل، مع تحسين لمنع تغيير الحجم | |
copyOptionsForFlyout() | تنشئ مجموعة جديدة من الخيارات من خيارات مساحة العمل هذه مع القيم ذات الصلة فقط بقائمة منبثقة. | |
createDom(opt_backgroundClass, injectionDiv) | أنشِئ عناصر DOM لمساحة العمل. | |
dispose() | التخلّص من مساحة العمل هذه إلغاء الربط بجميع عناصر DOM لمنع تسرُّب الذاكرة | |
getAbsoluteScale() | تعرض هذه السمة المقياس المطلق لمساحة العمل. تكون عملية تغيير حجم مساحة العمل مضاعفة؛ فإذا كانت مساحة العمل B (مثل أداة تعديل) ذات الحجم Y متداخلة ضمن مساحة العمل الجذر A ذات الحجم X، سيكون الحجم الفعلي لمساحة العمل B هو X * Y، لأنّه، باعتبارها عنصرًا تابعًا لمساحة العمل A، يتم تغيير حجمها مسبقًا بمعامل تغيير حجم مساحة العمل A، ثم يتم تغيير حجمها بشكل أكبر بمعامل تغيير حجمها الخاص. عادةً ما يعمل هذا الإجراء بشكل جيد، ولكن بالنسبة إلى العناصر العامة (مثل أدوات تعديل الحقول) المرتبطة مرئيًا بمساحة عمل معيّنة ولكنها تقع في المستوى الأعلى من نموذج المستند (DOM) بدلاً من أن تكون عنصرًا تابعًا لمساحة العمل المرتبطة بها، قد يكون من الضروري استخدام المقياس المطلق/الفعّال لعرضها بشكل مناسب. |
|
getAllBlocks(ordered) | العثور على جميع الحظر في مساحة العمل يتم ترتيب البلوكات اختياريًا حسب الموضع، من الأعلى إلى الأسفل (مع ميل طفيف إلى اتجاه النص من اليسار إلى اليمين أو من اليمين إلى اليسار). | |
getAudioManager() | الحصول على أداة إدارة الصوت لمساحة العمل هذه | |
getBlockById(id) | ابحث عن الحظر في مساحة العمل هذه باستخدام المعرّف المحدّد. | |
getBlocksBoundingBox() | احسب المربّع المحيط بالكتل في مساحة العمل. نظام الإحداثيات: إحداثيات مساحة العمل | |
getBubbleCanvas() | احصل على عنصر SVG الذي يشكّل سطح الفقاعة. | |
getButtonCallback(key) | احصل على دالة ردّ الاتصال المرتبطة بمفتاح معيّن، وذلك للنقرات على الأزرار والتصنيفات في اللوحة المنبثقة. | |
getCanvas() | الحصول على عنصر SVG الذي يشكّل سطح الرسم | |
getCommentById(id) | تعرض هذه الطريقة تعليق مساحة العمل الذي يحمل رقم التعريف المحدّد، إذا كان متوفّرًا. | |
getComponentManager() | تعرض هذه الدالة مدير المكوّنات لمساحة العمل هذه. | |
getCursor() | مؤشر مساحة العمل هذه | |
getDragTarget(e) | تعرِض هذه السمة هدف السحب الذي يقع فوقه حدث المؤشر. | |
getFlyout(opt_own) | Getter for the flyout المرتبط بمساحة العمل هذه قد يكون هذا العنصر المنبثق مملوكًا إما لشريط الأدوات أو لمساحة العمل، وذلك حسب إعدادات شريط الأدوات. ستكون القيمة فارغة إذا لم يكن هناك قائمة منبثقة. | |
getFocusableElement() | راجِع IFocusableNode.getFocusableElement. | |
getFocusableTree() | راجِع IFocusableNode.getFocusableTree. | |
getGrid() | تعرض هذه السمة كائن الشبكة لمساحة العمل هذه، أو قيمة فارغة إذا لم يكن هناك كائن شبكة. | |
getInverseScreenCTM() | Getter for the inverted screen CTM. | |
getMarkerManager() | الحصول على أداة إدارة العلامات لمساحة العمل هذه | |
getMetricsManager() | تعرض هذه الدالة أداة إدارة المقاييس لمساحة العمل هذه. | |
getNavigator() | تعرض هذه السمة عنصرًا مسؤولاً عن تنسيق حركة التركيز بين العناصر في مساحة العمل هذه استجابةً لأوامر التنقّل باستخدام لوحة المفاتيح. | |
getNestedTrees() | راجِع IFocusableTree.getNestedTrees. | |
getParentSvg() | احصل على عنصر SVG الذي يحتوي على مساحة العمل هذه. ملاحظة: نفترض أنّه يتم استدعاء هذه الدالة فقط بعد إدراج مساحة العمل في نموذج المستند (DOM). | |
getRenderer() | احصل على أداة عرض الحظر المرفقة بمساحة العمل هذه. | |
getRestoredFocusableNode(previousNode) | راجِع IFocusableTree.getRestoredFocusableNode. | |
getRootFocusableNode() | راجِع IFocusableTree.getRootFocusableNode. | |
getRootWorkspace() | ||
getScale() | الحصول على عامل التكبير أو التصغير لمساحة العمل | |
getSvgGroup() | تعرض هذه السمة مجموعة SVG لمساحة العمل. | |
getTheme() | الحصول على عنصر مظهر مساحة العمل | |
getToolbox() | دالة getter لمجموعة الأدوات المرتبطة بمساحة العمل هذه، إذا كانت متوفرة. | |
getToolboxCategoryCallback(key) | احصل على دالة رد الاتصال المرتبطة بمفتاح معيّن لملء فئات أدوات مخصّصة في مساحة العمل هذه. | |
getTopBlocks(ordered) | تعرض هذه الدالة الحظر على مستوى أعلى وترجعها. يتم ترتيب البلوكات اختياريًا حسب الموضع، من الأعلى إلى الأسفل (مع ميل طفيف إلى اتجاه النص من اليسار إلى اليمين أو من اليمين إلى اليسار). | |
getTopBoundedElements(ordered) | تعثر هذه الطريقة على العناصر المحدودة ذات المستوى الأعلى وتعرضها. | |
getTopComments(ordered) | تعرض هذه الطريقة قائمة بالتعليقات في مساحة العمل هذه. | |
getWidth() | تعرض هذه السمة الإزاحة الأفقية لمساحة العمل. يُستخدم للتوافق مع اللغات التي تُكتب من اليمين إلى اليسار أو من اليسار إلى اليمين في ملف XML. | |
hideChaff(onlyClosePopups) | إغلاق التلميحات وقوائم السياق وخيارات القوائم المنسدلة وما إلى ذلك | |
hideComponents(onlyClosePopups) | إخفاء أي مكونات يمكن إخفاؤها تلقائيًا (مثل القائمة المنبثقة وسلة المهملات وأي مكونات مسجّلة من قِبل المستخدم) | |
highlightBlock(id, opt_state) | تمييز كتلة أو إزالة تمييزها في مساحة العمل يتم غالبًا استخدام تمييز الحظر لتحديد الحظر الذي يتم تنفيذه حاليًا بشكل مرئي. | |
isDraggable() | هل يمكن سحب مساحة العمل هذه؟ | |
isDragging() | تعرض هذه السمة القيمة "صحيح" إذا كان المستخدم يشارك حاليًا في إيماءة سحب، أو إذا كانت عملية نقل بدأتها لوحة المفاتيح قيد التقدّم. تتضمّن إيماءات السحب عادةً نقل مربّع أو عنصر آخر في مساحة العمل، أو تمرير القائمة المنبثقة أو مساحة العمل. يتم تنفيذ الحركات التي يتم بدءها باستخدام لوحة المفاتيح من خلال بنية السحب الأساسية، وتهدف إلى محاكاة (مجموعة فرعية من) إيماءات السحب، وبالتالي يجب عادةً التعامل معها كما لو كانت عملية سحب مستندة إلى الإيماءات. |
|
isMovable() | هل يمكن نقل مساحة العمل هذه؟ يعني هذا أنّه يمكن للمستخدم تغيير موضع إحداثيات X وY لمساحة العمل من خلال الإدخال. يمكن إجراء ذلك من خلال أشرطة التمرير أو عجلة التمرير أو السحب أو التكبير باستخدام عجلة التمرير أو التصغير والتكبير بإصبعين (بما أنّ التكبير يكون في منتصف موضع الماوس). لا يشمل ذلك التكبير باستخدام عناصر التحكّم في التكبير، لأنّه يتم تحديد الإحداثيات X وY آليًا. |
|
isMovableHorizontally() | هل يمكن نقل مساحة العمل هذه أفقيًا؟ | |
isMovableVertically() | هل يمكن نقل مساحة العمل هذه عموديًا؟ | |
isVisible() | Getter for isVisible | |
lookUpFocusableNode(id) | راجِع IFocusableTree.lookUpFocusableNode. | |
markFocused() | وضع علامة على مساحة العمل هذه باعتبارها مساحة العمل الرئيسية التي يتم التركيز عليها حاليًا | |
moveDrag(e) | تتبُّع عملية سحب كائن في مساحة العمل هذه | |
newBlock(prototypeName, opt_id) | الحصول على وحدة إعلانية تم إنشاؤها حديثًا | |
newComment(id) | الحصول على تعليق تم إنشاؤه حديثًا | |
onNodeBlur() | راجِع IFocusableNode.onNodeBlur. | |
onNodeFocus() | راجِع IFocusableNode.onNodeFocus. | |
onTreeBlur(nextTree) | راجِع IFocusableTree.onTreeBlur. | |
onTreeFocus(_node, _previousTree) | راجِع IFocusableTree.onTreeFocus. | |
recordDragTargets() | أنشئ قائمة بجميع مناطق الحذف لمساحة العمل هذه. | |
refreshTheme() | أعِد تحميل جميع الوحدات في مساحة العمل بعد تحديث المظهر. | |
registerButtonCallback(key, func) | تسجيل دالة ردّ اتصال مرتبطة بمفتاح معيّن، وذلك للنقرات على الأزرار والتصنيفات في النافذة المنبثقة على سبيل المثال، يجب أن يتطابق الزرّ المحدّد بواسطة XML مع طلب registerButtonCallback("CREATE_VARIABLE", yourCallbackFunction). | |
registerToolboxCategoryCallback(key, func) | تسجيل دالة ردّ اتصال مرتبطة بمفتاح معيّن، لملء فئات أدوات مخصّصة في مساحة العمل هذه اطّلِع على فئات المتغيرات والإجراءات كمثال. | |
removeButtonCallback(key) | إزالة دالة معالجة لحدث النقر على زر في القائمة المنبثقة | |
removeClass(className) | تزيل هذه الطريقة فئة CSS من مساحة العمل. | |
removeToolboxCategoryCallback(key) | إزالة دالة ردّ الاتصال عند النقر على اسم فئة مخصّصة في شريط الأدوات | |
removeTopBlock(block) | يزيل هذا الإجراء أحد الأقسام من قائمة أهم الأقسام. | |
removeTopBoundedElement(element) | يزيل هذا الإجراء عنصرًا محددًا من قائمة أهم العناصر المحددة. | |
removeTopComment(comment) | يزيل هذا الإجراء تعليقًا من قائمة أهم التعليقات. | |
render() | عرض جميع الوحدات في مساحة العمل | |
resize() | تغيير حجم جميع عناصر واجهة مستخدم مساحة العمل وتغيير موضعها (مثل شريط الأدوات وسلة المهملات وأشرطة التمرير وما إلى ذلك) يجب استدعاء هذه الدالة عند حدوث تغيير يتطلّب إعادة احتساب أبعاد ومواضع سلة المهملات والتكبير والتصغير وشريط الأدوات وما إلى ذلك (مثل تغيير حجم النافذة). | |
scroll(x, y) | يمكنك الانتقال إلى موضع محدّد في مساحة العمل (بالبكسل)، مع البقاء ضمن حدود مساحة العمل. راجِع التعليق على workspaceSvg.scrollX لمزيد من التفاصيل حول معنى هذه القيم. | |
scrollCenter() | توسيط مساحة العمل | |
setIsReadOnly(readOnly) | ||
setNavigator(newNavigator) | تضبط هذه السمة مثيل Navigator المستخدَم في مساحة العمل هذه. | |
setResizeHandlerWrapper(handler) | حفظ بيانات معالج تغيير الحجم لنتمكّن من حذفها لاحقًا في الدالة dispose | |
setResizesEnabled(enabled) | تعديل ما إذا كانت مساحة العمل هذه تتيح تغيير الحجم في حال تفعيل هذا الخيار، سيتم تغيير حجم مساحة العمل عند الحاجة. في حال إيقافها، لن يتم تغيير حجم مساحة العمل إلى أن يتم إعادة تفعيلها. يُستخدَم لتجنُّب تغيير الحجم أثناء عملية مجمّعة، وذلك لتحسين الأداء. | |
setScale(newScale) | اضبط عامل التكبير/التصغير لمساحة العمل. | |
setTheme(theme) | تحديد عنصر مظهر مساحة العمل إذا لم يتم تمرير أي مظهر، سيتم استخدام المظهر Classic تلقائيًا. |
|
setVisible(isVisible) | يؤدي هذا الخيار إلى إظهار مساحة العمل أو إخفائها. مخصّص حاليًا لمساحة العمل الرئيسية فقط. | |
startDrag(e, xy) | بدء تتبُّع عملية سحب كائن في مساحة العمل هذه | |
translate(x, y) | ترجمة مساحة العمل هذه إلى إحداثيات جديدة | |
updateInverseScreenCTM() | وضع علامة على CTM للشاشة العكسية على أنّه غير صالح | |
updateToolbox(toolboxDef) | عدِّل شجرة الحظر في صندوق الأدوات الحالي. | |
zoom(x, y, amount) | تكبّر مساحة العمل أو تصغّرها بالنسبة إلى إحداثيات (س، ص) المحدّدة أو في منتصفها. | |
zoomCenter(type) | تكبير أو تصغير المربّعات المتوسّطة في منتصف العرض | |
zoomToFit() | كبِّر الوحدات لتناسب مساحة العمل إذا أمكن. |