窗口标题是否包含具有兼容性层的Eclipse 4应用程序中的核心插件的版本号?

时间:2015-08-27 01:06:33

标签: eclipse eclipse-plugin eclipse-rcp e4

混合模式 Eclipse RCP应用程序中,我想将应用程序窗口标题更改为" Great App v1.3.22"。

我基本上有应用程序(基于3.x)和产品(基于4.5(火星))分成两个插件(在一个有用的blog post后面描述了如何在Eclipse 4中使用3.x视图,我需要CNF)。

目前,标题是"得到"来自产品插件中定义的org.eclipse.core.runtime.products扩展点:

<extension
  id="my_product_id"
  point="org.eclipse.core.runtime.products">
  <product
    name="Great App"
    application="my.application">
  </product>
</extension>

我可以在<product name>属性中使用变量吗?如果是这样,有哪些变量?或者这可以通过&#34;覆盖&#34;来实现。窗口标题通过Trimmed Window中的Application.e4xmi条目,再次提供哪些变量?或者我是否必须采用古老的方式并在旧的ApplicationWorkbenchWindowAdvisor中以编程方式设置标题(但是,如果我能够在CNF可用时切换到纯E4应用程序,那么它将无法使用作为原生E4 插件)?

1 个答案:

答案 0 :(得分:0)

您无法使用任何变量。

您可以在LifeCycle课程中更改主窗口标题。 @ProcessAdditions方法是您最早可以执行此操作的方法:

@ProcessAdditions
public void processAdditions(MApplication app, EModelService modelService, IApplicationContext applicationContext)
{
  MWindow window = (MWindow)modelService.find("id of main trimmed window", app);

  window.setLabel("new text");
}

我不确定你想从哪里获得该版本。一种可能性是产品定义中的属性:

<extension
  id="my_product_id"
  point="org.eclipse.core.runtime.products">
  <product
    name="Great App"
    application="my.application">
     <property
           name="version"
           value="1.3.22">
      </property>
   </product>
</extension>

您必须手动维护此属性,或在构建中执行某些操作来设置它。

您可以使用IApplicationContext

进行访问
applicationContext.getBrandingProperty("version")