أوامر التعليقات التوضيحية
تقدّم هذه الصفحة كيفية تنفيذ أوامر التعليقات التوضيحية في cad-viewer، بما في ذلك طبقة الأوامر وطبقة تفاعل واجهة المستخدم.
يتّبع التصميم عن كثب مفاهيم شبيهة بـ AutoCAD مثل متغيرات النظام والطبقة الحالية وأنماط رسم الكيانات.
نظرة عامة
تُنفَّذ التعليقات التوضيحية في cad-viewer (مثل دوائر التعليقات التوضيحية والمستطيلات والمستطيلات السحابية والرسومات التخطيطية وغيرها) على النحو التالي:
- أوامر متخصصة مشتقة من فئة أساسية مشتركة
- كيانات تُنشأ ديناميكيًا على طبقة تعليقات توضيحية مخصصة
- أنماط رسم تتحكم فيها متغيرات النظام بدلًا من أنماط الطبقات
- شريط أدوات مؤقت في واجهة المستخدم يعدّل متغيرات النظام أثناء تنفيذ الأمر
يضمن هذا النهج:
- سلوكًا متسقًا عبر جميع أوامر التعليقات التوضيحية
- سهولة إظهار/إخفاء جميع التعليقات التوضيحية
- ألفة سير العمل على طراز AutoCAD
جزء الأوامر
فئة الأمر الأساسية
ترث جميع الأوامر المتعلقة بالتعليقات التوضيحية من الفئة الأساسية نفسها:
تُركّز هذه الفئة الأساسية السلوكيات المشتركة، مثل:
- إدارة طبقة التعليقات التوضيحية
- نسخ متغيرات النظام واستعادتها
- التعامل مع دورة حياة الأمر (بدء / إنهاء / إلغاء)
بالوراثة من AcApBaseRevCmd، تتبع جميع أوامر التعليقات التوضيحية نمط التنفيذ نفسه وسلوك متغيرات النظام نفسه.
إدارة طبقة التعليقات التوضيحية
تُنشأ جميع كيانات التعليقات التوضيحية على طبقة تعليقات توضيحية مخصصة، وهي:
- تُنشأ ديناميكيًا إذا لم تكن موجودة
- تُستخدم فقط أثناء تنفيذ أوامر التعليقات التوضيحية
خلف الكواليس، يتحقق ذلك عبر التلاعب بمتغير النظام:
clayer(الطبقة الحالية)
سير العمل
قبل إنشاء كيان تعليق توضيحي:
- تُحفظ القيمة الأصلية لـ
clayer - يُبدَّل
clayerإلى طبقة التعليقات التوضيحية
- تُحفظ القيمة الأصلية لـ
تُنشأ كيانات التعليقات التوضيحية
بعد انتهاء الأمر (أو إلغائه):
- يُستعاد
clayerإلى قيمته الأصلية
- يُستعاد
وهذا يضمن:
- وضع التعليقات التوضيحية دائمًا على الطبقة الصحيحة
- عدم تعديل حالة طبقات المستخدم بشكل دائم
إظهار / إخفاء التعليقات التوضيحية
يتم إخفاء التعليقات التوضيحية أو عرضها ببساطة عبر:
- إخفاء أو عرض طبقة التعليقات التوضيحية
لا حاجة إلى منطق ظهور لكل كيان.
وهذا يجعل إدارة ظهور التعليقات التوضيحية فعّالة ومتسقة.
حل نمط رسم الكيانات
لا تستخدم كيانات التعليقات التوضيحية أنماط الطبقات لمظهرها.
بل تُحل أنماط رسمها من متغيرات النظام، بما في ذلك:
cecolor— لون الكيان الحاليcelweight— وزن خط الكيان الحالي
يتيح هذا التصميم:
- احتفاظ كل تعليق توضيحي بنمطه البصري وقت الإنشاء
- عدم تأثير تغييرات نمط الطبقة في التعليقات التوضيحية الموجودة
جزء واجهة المستخدم
شريط أدوات نمط رسم الكيان
عند إنشاء كيان تعليق توضيحي، يُعرض مكوّن واجهة المستخدم التالي:
السلوك
يظهر في المنتصف العلوي من العارض
يسمح للمستخدمين بتعديل:
- اللون
- وزن الخط
- أنماط رسم الكيانات الأخرى
لأن شريط الأدوات هذا يتداخل مع عرض اسم الملف:
- يُخفى اسم الملف مؤقتًا أثناء ظهور شريط الأدوات
ربط متغيرات النظام
تعدّل تفاعلات المستخدم مع MlEntityDrawStyleToolbar متغيرات النظام مباشرةً، مثل:
cecolorcelweight
ثم تُستخدم متغيرات النظام هذه بواسطة كيانات التعليقات التوضيحية أثناء الإنشاء، مما يضمن:
- تطابق ما يراه المستخدم في شريط الأدوات مع ما يُرسم
- اتساق سلوك التعليقات التوضيحية مع سير العمل على طراز AutoCAD
استعادة متغيرات النظام
بعد انتهاء أمر التعليق التوضيحي (بنجاح أو بدون):
- تُستعاد متغيرات النظام المعدّلة (
cecolorوcelweightوغيرها) إلى قيمها الأصلية
وهذا يضمن:
- عدم تأثير أوامر التعليقات التوضيحية بشكل دائم في حالة الرسم العامة
- إمكانية تبديل المستخدمين بأمان بين أوامر التعليقات التوضيحية وأوامر الرسم العادية
الملخص
بُني نظام التعليقات التوضيحية في cad-viewer حول ثلاث أفكار رئيسية:
وراثة الأوامر
- تشترك جميع أوامر التعليقات التوضيحية في التنفيذ الأساسي نفسه
التنظيم القائم على الطبقات
- تعيش جميع التعليقات التوضيحية على طبقة تعليقات توضيحية تُدار ديناميكيًا
أنماط مدفوعة بمتغيرات النظام
- تُتحكم أنماط الرسم عبر متغيرات النظام، لا عبر أنماط الطبقات
توفّر هذه البنية:
- سلوك أوامر يمكن التنبؤ به
- إدارة سهلة للتعليقات التوضيحية
- تجربة مستخدم مألوفة شبيهة بـ CAD