Hallo.
Momentan schreibe ich ein kleines Eclipse Plugin, welches einen Editor für einen von mir definierten Dateityp enthält.
Standardmäßig öffnet man den Editor ja durch einen Doppelklick auf die Datei aus dem Package Explorer.
Nun möchte ich aber, dass zu jeder Zeit nur ein einziger dieser Editoren offen ist.
Das kann prinzipiell 2 Möglichkeiten haben
1)
Die aktuell offene Datei bleibt offen und die neu zu öffnende Datei wird ignoriert.
2)
Die aktuell offene Datei wird geschlossen und die neu zu öffnende Datei wird geöffnet.
Mir ist egal, welche der beiden Varianten ich benutze, aber ich bekomm es einfach nicht hin =(
Möglichkeit 2 scheitert daran, dass Eclipse Sicherheitsmechanismen hat, die greifen, wenn man einen Teil der Workbench schließt während man einen anderen öffnet. Zu Möglichkeit 1 habe ich bereits gelesen, dass man die equals() methode des EditorInput überschreiben soll, aber da komm ich ja gar nicht ran, weil ich den EditorInput nie selbst setzen kann, sondern der standardmäßig beim Öffnen einer Datei ein FileEditorInput wird.
Ich hoffe, dass mir jemand weiterhelfen kann, bin für jede Hilfe dankbar.
Momentan schreibe ich ein kleines Eclipse Plugin, welches einen Editor für einen von mir definierten Dateityp enthält.
Standardmäßig öffnet man den Editor ja durch einen Doppelklick auf die Datei aus dem Package Explorer.
Nun möchte ich aber, dass zu jeder Zeit nur ein einziger dieser Editoren offen ist.
Das kann prinzipiell 2 Möglichkeiten haben
1)
Die aktuell offene Datei bleibt offen und die neu zu öffnende Datei wird ignoriert.
2)
Die aktuell offene Datei wird geschlossen und die neu zu öffnende Datei wird geöffnet.
Mir ist egal, welche der beiden Varianten ich benutze, aber ich bekomm es einfach nicht hin =(
Möglichkeit 2 scheitert daran, dass Eclipse Sicherheitsmechanismen hat, die greifen, wenn man einen Teil der Workbench schließt während man einen anderen öffnet. Zu Möglichkeit 1 habe ich bereits gelesen, dass man die equals() methode des EditorInput überschreiben soll, aber da komm ich ja gar nicht ran, weil ich den EditorInput nie selbst setzen kann, sondern der standardmäßig beim Öffnen einer Datei ein FileEditorInput wird.
Ich hoffe, dass mir jemand weiterhelfen kann, bin für jede Hilfe dankbar.