Interfejsy części

Części nie muszą implementować konkretnego interfejsu ani dziedziczyć z konkretnej klasy bazowej. Jednak aby uzyskiwać wywołania zwrotne od elementu macierzystego, części mogą implementować określone interfejsy. Na przykład jeśli dana część implementuje interfejs IFocusable, będzie on używany przez element macierzysty do aktywowania części. Możliwe jest zarówno bezpośrednie implementowanie interfejsu przez części, jak również implementowanie metody IAdaptable i udostępnienie adaptera dla interfejsu.

Interfejsy części, podobnie jak interfejsy serwisu, są rejestrowane w punkcie rozszerzenia org.eclipse.core.component.types. Aby odróżnić interfejs serwisu od interfejsu części, w języku znaczników XML istnieje niewielka różnica. Zestaw interfejsów do zaimplementowania przez widok może zostać rozszerzony przez dowolny moduł dodatkowy. Do wyszukania wszystkich tego typu interfejsów można użyć rejestru modułów dodatkowych środowiska PDE.

Środowisko robocze udostępnia następujące interfejsy, które mogą zostać zaimplementowane przez części:

Interfejs
Opis
IFocusable
Umożliwia zaimplementowanie metody setFocus.
IPersistable
Umożliwia zapisywanie stanu części między sesjami.
IMultiPart
Wskazuje, że część jest informowana o aktywnym elemencie potomnym.
ISite
Chociaż ten interfejs nie jest nigdy implementowany przez część, implementacje innych interfejsów części mogą odwoływać się do interfejsu ISite, aby uzyskać dostęp do swojego serwisu.

Części mogą także implementować interfejsy związane z cyklem życia. Interfejsy związane z cyklem życia różnią się od zwykłych interfejsów części w następujący sposób: Części obsługują następujące interfejsy związane z cyklem życia:
Interfejs
Opis
IDisposable
Odbiera powiadomienie o zutylizowaniu komponentu.
INestedComponent
Implementowany przez elementy potomne multipleksera. Odbiera komunikaty o włączaniu i wyłączaniu podczas zmian aktywnej części.