كيف تسقط أرقام محرري مرفق البيئة العالمية في العالم الخارجي؟

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

سؤال

بعد التحقيقات الطويلة وقراءة هذا السؤال ما زلت لم أحصل على حل" جيد "لمشكلتي.

لدي محرر Gef وأريد السماح للمستخدمين بسحب وإسقاط الأشكال (== كائنات النموذج) من هذا المحرر إلى طريقة عرض مخصصة أخرى متاحة من وجهة نظري.

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

بعد التحقيقات وجدت هذه التدوينة على منتديات eclipse لكن الحل غير مقبول بالنسبة لي. وبالتالي ، فقد بحثت بشكل أعمق وتوصلت إلى مقتطف SWT النقي التالي الذي يوضح أن أحداث MouseMove (تلك المستخدمة بواسطة gef لدعم السحب داخل المحرر) لم تعد تعمل بمجرد إضافة مصدر السحب: Genacodicetagpre

أعتقد أن هذا هو السلوك الطبيعي لوجهة نظر رجل الأعمال اليوم. هل تؤكد؟

علاوة على ذلك ، أنا أبحث حقًا عن حل لهذه المشكلة الأخرى التي تم اقتراحها في منتدى Eclipse والذي يتكون من تنشيط DragSource الخاص بي فقط إذا تم استيفاء شرط معين مثل الضغط على Shift (يتم ذلك في طريقة DragSourceListener.dragStart عن طريق تعيين event.doit إلى false)

نرحب بأي مساعدة واقتراحات وتعليقات.

شكرًا مقدمًا ،

مانو

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

المحلول

على الأرجح تريد تمديد السحب والإفلات العادي لمرفق البيئة العالمية لاحتواء دعم سحب الصور أيضًا.

عندما تسحب العناصر داخل محرر مرفق البيئة العالمية ، يمكنك سحبها كأشكال (في الواقع الأمر أكثر تعقيدًا بعض الشيء ، فهو يستخدم نمط الطلب والأوامر). ولكن عندما يتجاوز السحب حدود المحرر ، يجب أن تكون قادرًا على توفير ie. صورة من هذه البيانات.

يوفر SWT دعمًا لعدة عمليات نقل بيانات سحب مختلفة مثل هذا: Genacodicetagpre

لذلك أعتقد أنك تريد العثور على طريقة في DragTracker من GEF لتضمين أيضًا نقل الصور هذا إلى نظام السحب الخاص بنظام التشغيل. DragTrackers هي طريقة تابعة لمرفق البيئة العالمية للتعامل مع السحب ، ويتم إرجاعها في رمز تكوين الرمز الخاص بوظيفة EditPart

لست متأكدًا تمامًا من كيفية القيام بذلك ، ولكن توسيع DragTracker الخاص الذي يمكنه أيضًا توفير صورة على مستوى نظام التشغيل يجب أن يفي بالغرض.

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

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