EditPart واحد لجميع المشاهدات النموذجية (في GMF / GEF)

StackOverflow https://stackoverflow.com/questions/946368

  •  09-09-2019
  •  | 
  •  

سؤال

نحن نعمل على إنشاء أداة نمذجة بناء على إطار وأدوات GMF. لدينا شرط للسماح للمستخدمين بإضافة طرق عرض (أرقام) في وقت التشغيل واستخدامها في مخططاتهم. سوف نستخدم ملفات SVG لتمثيل الأرقام.

ما هو الهيكل الصحيح لبرنامج EditParts وغيرها من الفئات ذات الصلة مرفق البيئة العالمية في مثل هذه الحالة؟ كنا نفكر في تنفيذ فئة EditPart ل GEF واحدة، من شأنها أن تخلق الشكل المناسب بناء على المعلمة (المسار إلى ملف SVG) الموجود في النموذج. حتى الآن لا يبدو أن العمل.

يجب أن يكون هناك شخص فعل بالفعل شيء مثل هذا من قبل. googling والمنتديات الكسوف لم تكن مفيدة حتى الآن ...

هل كانت مفيدة؟

المحلول

حسنا وجدنا حل (جزئي). لدينا عنصر واحد، واعتمادا على معلمة نقوم بإنشاء شخصية طفل داخلها، والتي تستخدم ملف SVG (بناء على المعلمة).

يسمى رمز الاختبار التالي في منشئ الرقم:

scalableimagefigure svg؛ عنوان URL URL؛ إذا (اكتب == 1) {url = architecturestudiodiagreditorplugin.getinstance (). GetBundle (). GetStry ("الرموز" + iPath.Sefarator + "Shadow-box.svg")؛ } آخر {url = and architecturestudiodiagreditorplugin.getinstance (). GetBundle (). GetEndry ("الرموز" + iPath.separator + "star.svg")؛ } SVG = جديد ScalableImageFigure (RenderedImAgefactory.getinstance (URL)، صحيح، حقيقي، صحيح)؛

  this.add(svg);

الآن نحتاج إلى معرفة كيفية الحصول على العديد من العناصر في اللوحة.

نصائح أخرى

الطريقة الصحيحة هي الحصول على تعيين واحد إلى واحد بين الشكل والتحرير. أيضا يجب ترك مهمة اللوحة للشخصية. كيف يجب رسم الصورة، يجب أن يكون المنطق داخل الرقم ليس في editpart.

شكرا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top