部件接口

部件不必实现任何特定接口或继承任何特定基类。然而,部件可以有选择地实现某些接口,以便接收来自其父代的回调。例如,如果某个部件实现 IFocusable 接口,则其父代将使用该接口来将焦点放在此部件上。允许部件直接实现该接口或实现 IAdaptable 并为该接口提供适配器。

与站点接口类似,将在 org.eclipse.core.component.types 扩展点注册部件接口。在 XML 标记中存在微小差别,以便区分站点接口和部件接口。任何插件都可以扩展可供视图实现的接口集,并且可以使用 PDE 插件注册表来查找所有这样的接口。

工作台提供下列接口供部件实现:

接口
描述
IFocusable
允许部件实现 setFocus。
IPersistable
允许部件在会话之间保存其状态。
IMultiPart
指示部件知道活动的子代。
ISite
尽管部件实际上从未实现它,但其它部件接口的实现仍然可以依赖 ISite 来获取对这些部件接口的站点的访问权。

部件还可以实现生命周期接口。生命周期接口与常规的部件接口之间存在以下几个差别: 部件支持下列生命周期接口:
接口
描述
IDisposable
当组件被除去时接收通知。
INestedComponent
由多路复用器的子代实现。当活动部件更改时接收激活和取消激活消息。