E4 RCP 如何在启动时从首选项设置工具栏项目

E4 RCP How to set Toolbar item from preferences on start-up

Eclipse E4 (4.4.2),我在
的应用程序模型中定义了一个 Handled Tool Item Windows 和对话框 -> Trim 栏 -> Window Trim -> 工具栏

项目的类型检查。项调用 Selected 的选项指定启动 RCP 应用程序时工具栏项的默认选择。我在 org.eclipse.core.runtime.preferences.InstanceScope 中保留工具栏项目的当前状态(其他非 UI 首选项也存储在这里)。

有没有办法将应用程序重新启动时工具栏项目的选择状态设置为存储在我的首选项中的值?即,如果在退出应用程序时选择工具栏项目,则在启动时选择工具栏项目,如果在现有应用程序中取消选择工具栏项目,则在启动时不选择工具栏项目。

没有标准方法,因为 Eclipse 应用程序平台对首选项一无所知。

您可以使用使用 org.eclipse.e4.workbench.model 扩展点定义的模型处理器来添加代码来初始化项目。

<extension
     id="themeContribution"
     point="org.eclipse.e4.workbench.model">
  <processor
        beforefragment="false"
        class="package.ItemProcessor">
     <element
           id="item.id">
     </element>
  </processor>

或者,您应该能够编写代码,通过应用程序 LifeCycle class 的 @ProcessAdditions 方法中的首选项设置工具栏项目值(假设您有一个)。请注意,可能为此提前调用了 @PostContextCreate 方法。