Interfaces de composant "part"
Les composants "part" n'ont pas besoin d'implémenter une interface particulière ou d'hériter d'une classe de base spécifique. Mais ils peuvent implémenter certaines interfaces afin de recevoir des rappels de leur parent. Par exemple, si un composant "part" implémente
l'interface IFocusable, son parent utilisera cette interface pour donner le focus au composant "part". Les composants "part" peuvent implémenter directement l'interface, ou implémenter IAdaptable et fournir un adaptateur pour l'interface.
De même que les interfaces de site, les interfaces de composant "part" sont enregistrées dans le point d'extension org.eclipse.core.component.types . Il existe une légère différence dans le marquage XML, qui distingue une interface de site et une interface de composant "part". Tous les plug-ins peuvent étendre l'ensemble des interfaces disponibles à l'implémentation pour une vue, et le registre de plug-ins PDE peut être utilisé pour trouver toutes ces interfaces.
Le plan de travail fournit les interfaces suivantes pour être implémentées par les composants "part" :
Interface |
Description |
IFocusable |
Permet au composant "part" d'implémenter setFocus.
|
IPersistable |
Permet au composant "part" d'enregistrer son état entre les sessions. |
IMultiPart |
Indique que le composant "part" a la notion d'un enfant actif. |
ISite |
Bien qu'il ne soit jamais implémenté par un composant "part", l'implémentation d'autres interfaces de composants "part" peut dépendre d'ISite pour obtenir l'accès à leur sites. |
Les composants "part" peuvent également implémenter des interfaces de cycle de vie. Les interfaces de cycle de vie diffèrent des interfaces de composant "part" classiques en plusieurs points :
- Une interface de cycle de vie doit être implémentée directement (elle ne peut pas être fournie comme adaptateur) ;
- Toutes les dépendances d'un composant "part" peuvent également implémenter l'interface de cycle de vie ;
- Quand une notification de cycle de vie est envoyée à un composant "part", elle est aussi envoyée à toutes les dépendances du composant ;
- Les interfaces de cycle de vie sont figées dans le code et ne sont pas enregistrées avec un point d'extension.
Les composants "part" prennent en charge les interfaces de cycle de vie suivantes :
Interface |
Description |
IDisposable |
Reçoit une notification quand le composant est supprimé. |
INestedComponent |
Implémenté par les enfants d'un multiplexeur.
Reçoit les messages d'activation et de désactivation quand le composant "part" actif change.
|