Interfacce parti
Le parti non devono implementare nessuna interfaccia
particolare o ereditare da una classe di base. Tuttavia possono facoltativamente implementare determinate
interfacce per ricevere chiamate dai rispettivi elementi principali. Ad esempio, se una parte implementa l'interfaccia
IFocusable, il rispettivo elemento principale utilizzerà quell'interfaccia per attivare la parte. Le parti possono implementare l'interfaccia direttamente o implementare
IAdaptable e fornire un adattatore per l'interfaccia
Allo stesso modo delle interfacce del sito, le interfacce delle parti vengono registrate nel punto di estensione
org.eclipse.core.component.types. C'è una sottile differenza nella markup XML per distinguere un'interfaccia del sito da un'interfaccia
delle parti. Qualsiasi plugin può estendere un insieme di interfacce disponibile
affinché possano essere implementate da una vista ed è possibile utilizzare il registro di plugin PDE per individuare
tali interfacce.
Il workbench fornisce le seguenti interfacce che possono essere implementate dalle parti:
Interfaccia |
Descrizione |
IFocusable |
Consente alla parte di implementare setFocus.
|
IPersistable |
Consente alla parte di salvare il proprio stato tra una sessione ed un altra. |
IMultiPart |
Indica che la parte può rilevare a presenza di un elemento secondario
attivo. |
ISite |
anche se non viene mai implementato da una parte, le implementazioni di
altre interfacce di parti possono dipendere da
ISite per poter accedere al sito. |
Le parti possono implementare anche interfacce di cicli di vita. Tali interfacce differiscono dalle
interfacce regolari in diversi modi:
- Un'interfaccia di ciclo di vita deve essere implementata direttamente (non può essere fornita come
un adattatore);
- Una o tutte le dipendenze di una parte devono implementare anche l'interfaccia del ciclo di vita.
- Quando una notifica di ciclo di vita viene inviata ad una parte, viene inviata anche a tutte le dipendenze
della parte;
- Le interfacce del ciclo di vita sono codificate e non registrate con un punto di estensione.
Le parti supportano le seguenti interfacce:
Interfaccia |
Descrizione |
IDisposable |
Riceve una notifica quando il componente viene eliminato. |
INestedComponent |
Implementato dagli elementi secondari di un elemento multiplexing.
Riceve messaggi di attivazione e disattivazione quando la parte attiva viene modificata.
|