Interfaces de Parte
As partes não precisam implementar qualquer interface específica ou herdar de qualquer classe base específica. No entanto, as partes podem opcionalmente implementar determinadas interfaces para receber retornos de chamadas de seu pai. Por exemplo, se uma parte implementar a interface IFocusable, seu pai utilizará essa interface para dar foco à parte.
Partes podem implementar a interface diretamente ou implementar
IAdaptable e fornecer um adaptador para a interface.
Se maneira semelhante a interfaces de site, as interfaces de parte são registradas no ponto de extensão org.eclipse.core.component.types. Há uma pequena diferença na marcação XML para distinguir entre uma interface de site e uma interface de parte. Qualquer plug-in pode estender o conjunto de interfaces disponíveis para uma visualização a implementar e o registro do plug-in PDE pode ser utilizado para localizar todas essas interfaces.
O workbench fornece as seguintes interfaces a serem implementadas por partes:
Interface |
Descrição |
IFocusable |
Permite que a parte implemente setFocus.
|
IPersistable |
Permite que a parte salve seu estado entre sessões. |
IMultiPart |
Indica que a parte tem a noção de um filho ativo. |
ISite |
Embora esta nunca seja realmente implementada
por uma parte, as implementações de outras interfaces de partes podem
depender do ISite para obter acesso a seu site. |
Partes também podem implementar interfaces de ciclo de vida. Interfaces de ciclo de vida são diferentes das interfaces normais de parte de várias maneiras:
- Uma interface de ciclo de vida deve ser implementada diretamente (ela não pode ser fornecida como um adaptador);
- Qualquer uma ou todas as dependências da parte também podem implementar a interface de ciclo de vida;
- Quando uma notificação de ciclo de vida é enviada a uma parte, ela também é enviada para todas as dependências da parte;
- Interfaces de ciclo de vida têm hardcode atribuído e não são registradas com um ponto de extensão.
Partes suportam as seguintes interfaces de ciclo de vida:
Interface |
Descrição |
IDisposable |
Recebe uma notificação quando o componente
é descartado. |
INestedComponent |
Implementada por filhos de um multiplexador.
Recebe mensagens de ativação e de desativação quando a parte ativa é alterada.
|