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: 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.