Workbench-Editoren

Obwohl die Implementierung eines Workbench-Editors für jedes Plug-in und den Inhalt, der bearbeitet werden soll, spezifisch ist, bietet die Workbench eine allgemeine Struktur für die Erstellung eines Editors. Die folgenden Konzepte gelten für alle Editoren der Workbench.

Editorkomponenten und deren Eingabe

Ein Editor muss die Schnittstelle IEditorPart implementieren und wird häufig durch eine Erweiterung der Klasse EditorPart erstellt.  Ein Editor implementiert seine Benutzerschnittstelle in der Methode createPartControl. Mit Hilfe dieser Methode werden die SWT-Fensterobjekt oder JFace-Anzeigefunktionen assembliert, die den Editorinhalt darstellen. 

Eine Editoreingabe ist eine Beschreibung des zu bearbeitenden Elements. Ein Beispiel für eine Editoreingabe wäre ein Dateiname, obwohl er etwas allgemeiner ist. Die Schnittstelle IEditorInput definiert das Protokoll für eine Editoreingabe, einschließlich des Namens der Eingabe und des Images, mit dem sie in den Anzeigenobjekten oben im Editor dargestellt werden soll.

Editoreingabe-Etikett

Die Plattform stellt zwei generische Editoreingaben zur Verfügung. Die Schnittstelle IFileEditorInput stellt eine Eingabe dar, die eine Datei im Dateisystem ist.  Die Schnittstelle IStorageEditorInput stellt eine Eingabe dar, die ein Bytestrom ist. Diese Bytes können aus anderen Quellen als dem Dateisystem stammen.

Editoreingabe zurücksetzen

Wenn Ihr Editor die Ersetzung des Eingabeobjekts für den Editor während der Verarbeitung unterstützen kann, sollten Sie  IReusableEditor implementieren. Durch eine Implementierung dieser Schnittstelle kann die Workbench Ihren Editor "wiederverwenden".  In den Benutzervorgaben für die Workbench kann ein Benutzer festlegen, dass Editoren wiederverwendet werden, sobald eine bestimmte Anzahl von ihnen geöffnet wurde.

In Editoreingabe navigieren 

Wenn Sie ein Navigationsprotokoll in Ihrem Editor implementieren wollen, sollten Sie die Schnittstelle INavigationLocationProvider implementieren.  Sie stellt einen Mechanismus bereit, mit dem die Workbench eine aktuelle Navigationsposition (INavigationLocation) abfragen kann, was zur Einrichtung eines Navigationsprotokolls erforderlich ist.  Die Workbench verarbeitet die Mechanismen der Benutzerschnittstelle für die Navigation.  Ihre Schnittstelle INavigationLocation wird benachrichtigt, wenn der Editor auf die Position, die er darstellt, zurückgesetzt werden muss.

Der Rest der Implementierung Ihres Editors ist von dem Inhalt abhängig, der dargestellt werden soll.  Im Folgenden wird der gängigste Editortyp näher erläutert: der Texteditor.