Durch die Bereitstellung einer einfachen API für Sichten und Editoren, auch bekannt als Abschnitte, ermöglicht das Komponentenframework die Verschachtelung und Erstellung vorhandener Abschnitte. Die Komponentenframework-API ermöglicht es Clients, Abschnitte innerhalb beliebiger SWT-Kombinationen zu realisieren, die Zuverlässigkeit zu verbessern und Verluste zu prüfen, indem ein Abschnitt mit lokalen Schnittstellen auf seiner Site kommuniziert statt globale Objekte anzusprechen, ermöglicht Clients, den Satz an Schnittstellen, die von einer Site verfügbar sind, zu erweitern und stellt ein Framework für Clients zur Verfügung, um ihre eigenen wiederverwendbaren Komponenten unter Verwendung derselben API, die für Sichten und Editoren verfügbar ist, zu erstellen. Das Komponentenframework ermöglicht auch das Konstruieren und Dekonstruieren eines Abschnitts mit autarken Operation, und es ermöglicht vorhandenen Abschnitten, neue Site-Schnittstellen zu verwenden.
Dieses einfache Beispiel stellt eine Sicht bereit, die ihren Namen, Titel, Tooltip und Abbildung setzt und demonstriert, wie ein Editor oder eine Sicht unter Verwendung des Komponentenframeworks zu schreiben ist. Es zeigt die Signalquelle mit Hilfe der Komponenten-API. Neue Abschnitte können Argumente in ihren Konstruktor aufnehmen und müssen keine bestimmte Schnittstelle implementieren oder von einer bestimmten Basisklasse übernehmen.
/**
* Beispielsicht, die ihren Namen, Tooltip, Abbildung und Inhaltsbeschreibung setzt.
Die Sicht
* verwendet ein kundenspezifisches Bild, das durch das Plug-in geliefert wird.
*
* @Ab 3.1
*/
public class NameViewNew {
/**
* Komponentenkonstruktor. Nicht direkt aufrufen.
*/
public NameViewNew(Composite parent, INameable name, IPluginImages
images) {
name.setName("Name Sicht (Neu)");
name.setContentDescription("Inhaltsbeschreibung");
name.setTooltip("Dies ist ein Tooltip");
name.setImage(images.getImage("icons/sample.gif"));
// erstellt einen falschen Ansichtsinhalt
Label content = new Label(parent, SWT.NONE);
content.setText("Sichtinhalt hier");
}
}
Beachten Sie, dass die Argumente, die dem Konstruktor der Ansicht gegeben werden, schon von ihrem Kontext wissen. So muss zum Beispiel der Schnittstelle 'IPluginImages' nicht gesagt werden, zu welchem Plug-in die Sicht gehört. In ähnlicher Weise sind die Schnittstellen verlustsicher. In diesem Beispiel wird die Abbildung der Sicht automatisch durch die Implementierung 'INameable' zugeordnet und nicht mehr zugeordnet, so dass die Sicht selbst keine Entledigungsmethode implementieren muss.
Es ist interessant festzustellen, dass die API für Sichten und Editoren exakt gleich ist. In anderen Worten, wenn wir uns entschieden hätten, die Klasse 'NameViewNew' mit dem Erweiterungspunkt 'org.eclipse.ui.editors' zu registrieren, könnte er auch ohne weitere Änderung als Editor verwendet werden.