TL; DR: Ich weiß nicht, wie ich dem Benutzer einen Bestätigungsdialog vor dem Schließen der durch EMF Compare definierten CompareEditor
präsentieren kann.Bestätigung vor dem Schließen eines Editors in Eclipse RCP
Weitere Details:
ich einen relativ einfachen Anwendungsfall haben, Ich mag würde aufnehmen: den Benutzer auffordert, sie bestätigen möchten einen Editor schließen, nachdem sie die enge (x) Taste auf gedrückt haben das Werkbankfenster.
Ich habe von der Eclipse forum festgestellt, dass das Anfügen einer IPartListener
an das Fenster nicht helfen wird, da die partClosed()
Methode nur aufgerufen wird, nachdem das Fenster geschlossen wurde.
Die empfohlene Lösung besteht darin, die Schnittstelle ISaveablePart2
in dem Teil zu implementieren, den der Benutzer schließt. Allerdings kann ich das nicht, da der Teil von einem Plugin kommt. Insbesondere ist es der durch EMF definierte CompareEditor
Vergleich. Ich kann also keine zusätzlichen Schnittstellen hinzufügen. Oder, wenn ich es irgendwie kann, weiß ich nicht, wie ich es machen soll (die Klasse zu erweitern sieht nicht nach einer Option aus, da sie von einer anderen EMF Compare-Klasse und nicht direkt von meinem Code instanziiert wird).
Ein weiteres suggestion ich sah ist ein IPerspectiveListener2
anstelle der IPartListener
zu verwenden, da dieser Listener benachrichtigt wird, bevor das Teil tatsächlich geschlossen ist. Ich weiß jedoch immer noch nicht, wie ich das Schließen des Teils innerhalb dieses Hörers abbrechen kann. Ist das überhaupt möglich?
Verwenden Sie Eclipse 4? Sie könnten wahrscheinlich einen benutzerdefinierten 'ISaveHandler' in Eclipse 4 verwenden. Dies ist in einer e4-Anwendung einfach durchzuführen, nicht sicher, wie es in einer 3.x-Kompatibilitätsmodus-App funktioniert. –
@ greg-449 Ich bin leider im 3.x Kompatibilitätsmodus ausgeführt. – Epicurus