如何通过链接到应用程序模型eclipse插件的片段创建视图

时间:2015-01-13 10:26:30

标签: eclipse e4

使用application.e4xmi,我想使用此应用程序模型通过片段创建视图。你能告诉我一步一步的程序。

我试过的是,我在一个插件应用程序中创建了一个片段。因为我已经创建了部分堆栈之后我已经给出了应用程序ID,然后创建了部分。这里我给出了类URI是我的视图类(viewplugin项目中的视图类路径)。但是在运行配置中没有该视图插件,我无法看到视图部分。

1 个答案:

答案 0 :(得分:1)

据我了解你的问题,你希望有一个包含模型片段的插件,它有助于位于另一个插件中的应用程序模型,问题是(View-)Part 你试图以这种方式贡献不会在应用程序窗口中显示。我希望我没有错在那里,我会假设错误不仅仅是模型片段的插件不包含在运行配置中......(?)

您可以在Lars Vogel's webpages中找到有用的教程。但是,由于各种要求可能令人困惑,我将总结未来潜在读者的过程。

TL; DR

  • 您可能为 Part 设置了错误的元素ID 和/或功能名称
  • 您的问题意味着您可能尝试将 Part 模型元素实现为 ViewPart ,而在E4中,(View)部分不再有任何接口要实现,所以也许尝试在@PostConstruct - 注释方法中创建Part控件。
  • 您所贡献的 Part 未显示的另一个可能原因是插件提供的模型片段没有针对捆绑选项SymbolicName和/或ActivationPolicy的正确设置( 'Plug-in is singleton''在加载类时激活')。

应用

为了让应用程序模型有所贡献,我们首先需要一个Eclipse4应用程序项目。选择文件 - >创建一个新 - > Eclipse主菜单中的其他。在 Eclipse 4 类别中选择向导 Eclipse 4 Application Project 。根据需要为项目命名,选择Equinox作为OSGI框架,然后选中 Generate an Activator ... 选项。新创建的项目将包含文件Application.e4xmi(您的应用程序模型)和*.product文件(产品定义)。打开后者并确保在{em>概述标签中将org.eclipse.e4.ui.workbench.swt.E4Application设置为应用

打开Application.e4xmi并在模型树中的某处附加零件堆栈,因为您可能已经做过了。

模型片段

为模型片段创建一个新插件。让它有一个Activator类不会造成伤害。但是,重要的是,选项在加载其中一个类时激活此插件此插件是单个 都被选中< / strong>在其plugin.xml编辑器的概述标签中。接下来,使用 New - &gt;创建模型片段。其他...... - &gt; Eclipse 4 - &gt;型号 - &gt;插件的Package Explorer上下文菜单中的New Model Fragment 。该向导将自动创建org.bbaw.bts.ui.pdr.fragment的扩展名,指定您的模型片段文件。插件的依赖项应包括:

org.eclipse.swt
org.eclipse.jface
org.eclipse.e4.core.di
org.eclipse.e4.ui.workbench
javax.inject
org.eclipse.e4.ui.di

打开模型片段文件(默认为fragment.e4xmi)并将模型片段附加到模型片段节点。您的新 Model Fragment 元素需要同时指定元素ID Featurename 才能正确处理应用程序模型你要贡献的元素。因此,将先前在应用程序模型中创建的零件堆栈 ID 复制到 模型片段的元素ID 字段。在 Featurename 字段中,键入children,因为这是我们要贡献的Part堆栈属性。然后,将 Part 附加到 Model Fragment 元素,并指定Part的实现的 Class URI 。这个类基本上是一个POJO,不需要ViewPart的实现!它在使用@PostConstruct注释注释的方法中创建其GUI,例如

@PostConstruct
public final void createComposite(final Composite parent)

那应该是它。在运行应用程序项目的产品时,部件应该像预期的那样出现(假设包含该部件的插件包含在运行配置中......)。