Skip to content

أوامر التعليقات التوضيحية ​

تقدّم هذه الصفحة كيفية تنفيذ أوامر التعليقات التوضيحية في cad-viewer، بما في ذلك طبقة الأوامر وطبقة تفاعل واجهة المستخدم.
يتّبع التصميم عن كثب مفاهيم شبيهة بـ AutoCAD مثل متغيرات النظام والطبقة الحالية وأنماط رسم الكيانات.

نظرة عامة ​

تُنفَّذ التعليقات التوضيحية في cad-viewer (مثل دوائر التعليقات التوضيحية والمستطيلات والمستطيلات السحابية والرسومات التخطيطية وغيرها) على النحو التالي:

  • أوامر متخصصة مشتقة من فئة أساسية مشتركة
  • كيانات تُنشأ ديناميكيًا على طبقة تعليقات توضيحية مخصصة
  • أنماط رسم تتحكم فيها متغيرات النظام بدلًا من أنماط الطبقات
  • شريط أدوات مؤقت في واجهة المستخدم يعدّل متغيرات النظام أثناء تنفيذ الأمر

يضمن هذا النهج:

  • سلوكًا متسقًا عبر جميع أوامر التعليقات التوضيحية
  • سهولة إظهار/إخفاء جميع التعليقات التوضيحية
  • ألفة سير العمل على طراز AutoCAD

جزء الأوامر ​

فئة الأمر الأساسية ​

ترث جميع الأوامر المتعلقة بالتعليقات التوضيحية من الفئة الأساسية نفسها:

تُركّز هذه الفئة الأساسية السلوكيات المشتركة، مثل:

  • إدارة طبقة التعليقات التوضيحية
  • نسخ متغيرات النظام واستعادتها
  • التعامل مع دورة حياة الأمر (بدء / إنهاء / إلغاء)

بالوراثة من AcApBaseRevCmd، تتبع جميع أوامر التعليقات التوضيحية نمط التنفيذ نفسه وسلوك متغيرات النظام نفسه.

إدارة طبقة التعليقات التوضيحية ​

تُنشأ جميع كيانات التعليقات التوضيحية على طبقة تعليقات توضيحية مخصصة، وهي:

  • تُنشأ ديناميكيًا إذا لم تكن موجودة
  • تُستخدم فقط أثناء تنفيذ أوامر التعليقات التوضيحية

خلف الكواليس، يتحقق ذلك عبر التلاعب بمتغير النظام:

  • clayer (الطبقة الحالية)

سير العمل ​

  1. قبل إنشاء كيان تعليق توضيحي:

    • تُحفظ القيمة الأصلية لـ clayer
    • يُبدَّل clayer إلى طبقة التعليقات التوضيحية
  2. تُنشأ كيانات التعليقات التوضيحية

  3. بعد انتهاء الأمر (أو إلغائه):

    • يُستعاد clayer إلى قيمته الأصلية

وهذا يضمن:

  • وضع التعليقات التوضيحية دائمًا على الطبقة الصحيحة
  • عدم تعديل حالة طبقات المستخدم بشكل دائم

إظهار / إخفاء التعليقات التوضيحية ​

يتم إخفاء التعليقات التوضيحية أو عرضها ببساطة عبر:

  • إخفاء أو عرض طبقة التعليقات التوضيحية

لا حاجة إلى منطق ظهور لكل كيان.
وهذا يجعل إدارة ظهور التعليقات التوضيحية فعّالة ومتسقة.

حل نمط رسم الكيانات ​

لا تستخدم كيانات التعليقات التوضيحية أنماط الطبقات لمظهرها.

بل تُحل أنماط رسمها من متغيرات النظام، بما في ذلك:

  • cecolor — لون الكيان الحالي
  • celweight — وزن خط الكيان الحالي

يتيح هذا التصميم:

  • احتفاظ كل تعليق توضيحي بنمطه البصري وقت الإنشاء
  • عدم تأثير تغييرات نمط الطبقة في التعليقات التوضيحية الموجودة

جزء واجهة المستخدم ​

شريط أدوات نمط رسم الكيان ​

عند إنشاء كيان تعليق توضيحي، يُعرض مكوّن واجهة المستخدم التالي:

السلوك ​

  • يظهر في المنتصف العلوي من العارض

  • يسمح للمستخدمين بتعديل:

    • اللون
    • وزن الخط
    • أنماط رسم الكيانات الأخرى

لأن شريط الأدوات هذا يتداخل مع عرض اسم الملف:

  • يُخفى اسم الملف مؤقتًا أثناء ظهور شريط الأدوات

ربط متغيرات النظام ​

تعدّل تفاعلات المستخدم مع MlEntityDrawStyleToolbar متغيرات النظام مباشرةً، مثل:

  • cecolor
  • celweight

ثم تُستخدم متغيرات النظام هذه بواسطة كيانات التعليقات التوضيحية أثناء الإنشاء، مما يضمن:

  • تطابق ما يراه المستخدم في شريط الأدوات مع ما يُرسم
  • اتساق سلوك التعليقات التوضيحية مع سير العمل على طراز AutoCAD

استعادة متغيرات النظام ​

بعد انتهاء أمر التعليق التوضيحي (بنجاح أو بدون):

  • تُستعاد متغيرات النظام المعدّلة (cecolor وcelweight وغيرها) إلى قيمها الأصلية

وهذا يضمن:

  • عدم تأثير أوامر التعليقات التوضيحية بشكل دائم في حالة الرسم العامة
  • إمكانية تبديل المستخدمين بأمان بين أوامر التعليقات التوضيحية وأوامر الرسم العادية

الملخص ​

بُني نظام التعليقات التوضيحية في cad-viewer حول ثلاث أفكار رئيسية:

  1. وراثة الأوامر

    • تشترك جميع أوامر التعليقات التوضيحية في التنفيذ الأساسي نفسه
  2. التنظيم القائم على الطبقات

    • تعيش جميع التعليقات التوضيحية على طبقة تعليقات توضيحية تُدار ديناميكيًا
  3. أنماط مدفوعة بمتغيرات النظام

    • تُتحكم أنماط الرسم عبر متغيرات النظام، لا عبر أنماط الطبقات

توفّر هذه البنية:

  • سلوك أوامر يمكن التنبؤ به
  • إدارة سهلة للتعليقات التوضيحية
  • تجربة مستخدم مألوفة شبيهة بـ CAD