パーツ・インターフェース

パーツは、特定のインターフェースを実装する必要がなく、特定のベース・クラスから継承する必要もありません。 ただし、パーツは、オプションで何らかのインターフェースを実装して、その親からのコールバックを受信できます。 例えば、あるパーツが IFocusable インターフェースを実装した場合は、その親はそのインターフェースを使用してパーツにフォーカスを当てます。 パーツは、インターフェースを直接実装すること、または IAdaptable を実装してインターフェースのアダプターを提供することが可能です。

サイト・インターフェースと同様に、パーツ・インターフェースは org.eclipse.core.component.types 拡張ポイントに登録されます。 サイト・インターフェースおよびパーツ・インターフェースを区別するための XML マークアップには多少の違いがあります。 どのプラグインも、実装するビューで使用可能なインターフェースのセットを拡張でき、さらに PDE プラグイン・レジストリーを使用してそれらのすべてのインターフェースを検索できます。

ワークベンチは、パーツにより実装される以下のインターフェースを提供します。

インターフェース
説明
IFocusable
パーツが setFocus を実装できるようにします。
IPersistable
パーツがそのセッション間の状態を保管できるようにします。
IMultiPart
パーツにアクティブな子の概念があることを指示します。
ISite
パーツによりこれが実際に実装されることはありませんが、他のパーツ・インターフェースの実装は、そのサイトにアクセスするために ISite に依存することができます。

パーツは、ライフ・サイクル・インターフェースを実装することもできます。 ライフ・サイクル・インターフェースは、以下の幾つかの点で通常のパーツ・インターフェースと異なります。 パーツは、以下のライフ・サイクル・インターフェースをサポートしています。
インターフェース
説明
IDisposable
コンポーネントが配置されたときに通知を受信します。
INestedComponent
マルチプレクサーの子により実装されます。 アクティブなパーツが変更された場合に、活動化および非活動化メッセージを受信します。