كيف يعرف محررو NetBeans أن الملف لم يتم تعديله بعد التراجع؟
سؤال
يستخدم NetBeans المعيار UndoManager
API لتنفيذ وظائف التراجع. ولكن لا معيار javax.swing.undo.UndoManager
ولا org.openide.awt.UndoRedo.Manager
ليس لديه أي طريقة لتمييز الدول كما تم حفظها والتحقق من الحالة المعدلة. ومع ذلك ، إذا قمت بتغيير الملف واضغط على التراجع ، يتم تمييز الملف على أنه غير معدّل. كيف يفعلون ذلك؟ أحتاج إلى نفس الوظيفة لمحرري (غير النص) إذا كان تطبيق NetBeans RCP.
المحلول
لقد اكتشفت هذا. ال CloneableEditSupport
يضيف UndoableEdit
عندما يحفظ شخص ما الملف. يشير هذا التحرير إلى عندما يتراجع شخص ما عن الحالة المحفوظة أو إعادة البيع إلى الحالة المحفوظة. كما أنه يلف التعديلات التالية (حتى الأول المهمة) لاعتراض الإعادة من الحالة المحفوظة والتراجع إلى الحالة المحفوظة.
هذه الخدعة تعمل فقط إذا كان كل شيء UndoableEdit
S التي تولدها مهمة.