Abschnittsschnittstellen

Abschnitte müssen nicht eine bestimmte Schnittstelle implementieren oder von einer bestimmten Basisklasse übernehmen. Jedoch können Abschnitte optional bestimmte Schnittstellen implementieren, um Rückrufe von ihren übergeordneten Elementen zu empfangen. Wenn ein Abschnitt zum Beispiel die Schnittstelle IFocusable implementiert, wird sein übergeordnetes Element diese Schnittstelle verwenden, um auf diesen Abschnitt zu zielen. Abschnitte können entweder die Schnittstelle direkt implementieren oder sie können IAdaptable implementieren und einen Adapter für die Schnittstelle zur Verfügung stellen.

Ähnlich wie Site-Schnittstellen werden Abschnittsschnittstellen in dem Erweiterungspunkt org.eclipse.core.component.types registriert. Es gibt einen geringen Unterschied in der XML-Markup-Formatierung, um zwischen einer Site-Schnittstelle und einer Abschnittsschnittstelle zu unterscheiden. Jedes Plug-in kann die Gruppe der Schnittstellen, die einer Sicht für die Implementierung zur Verfügung stehen, erweitern, und die PDE-Plug-in-Registry kann verwendet werden, um alle diese Schnittstellen zu finden.

Die Workbench stellt die folgenden Schnittstellen zur Implementierung durch Abschnitte zur Verfügung:

Schnittstelle
Beschreibung
IFocusable
Ermöglicht dem Abschnitt setFocus zu implementieren.
IPersistable
Ermöglicht dem Abschnitt, seinen Status zwischen Sitzungen zu speichern.
IMultiPart
Zeigt an, dass der Abschnitt die Vorstellung eines aktiven untergeordneten Elements hat.
ISite
Obschon dies nie wirklich durch einen Abschnitt implementiert wird, können die Implementierungen anderer Abschnittsschnittstellen von ISite abhängig sein, um Zugriff auf ihre Site zu erlangen.

Es kann sein, dass Abschnitte auch Lebenszyklusschnittstellen implementieren. Lebenszyklusschnittstellen unterscheiden sich auf mehrere Weisen von regulären Abschnittsschnittstellen: Abschnitte unterstützen die folgenden Lebenszyklusschnittstellen:
Schnittstelle
Beschreibung
IDisposable
Empfängt eine Benachrichtigung, wenn die Komponente entfernt wird.
INestedComponent
Implementiert durch untergeordnete Elemente eines Multiplexers. Empfängt Aktivierungs- und Deaktivierungsnachrichten, wenn sich der aktive Abschnitt ändert.