使用application.e4xmi,我想使用此应用程序模型通过片段创建视图。你能告诉我一步一步的程序。
我试过的是,我在一个插件应用程序中创建了一个片段。因为我已经创建了部分堆栈之后我已经给出了应用程序ID,然后创建了部分。这里我给出了类URI是我的视图类(viewplugin项目中的视图类路径)。但是在运行配置中没有该视图插件,我无法看到视图部分。
答案 0 :(得分:1)
据我了解你的问题,你希望有一个包含模型片段的插件,它有助于位于另一个插件中的应用程序模型,问题是(View-)Part 你试图以这种方式贡献不会在应用程序窗口中显示。我希望我没有错在那里,我会假设错误不仅仅是模型片段的插件不包含在运行配置中......(?)
您可以在Lars Vogel's webpages中找到有用的教程。但是,由于各种要求可能令人困惑,我将总结未来潜在读者的过程。
TL; DR :
@PostConstruct
- 注释方法中创建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)
那应该是它。在运行应用程序项目的产品时,部件应该像预期的那样出现(假设包含该部件的插件包含在运行配置中......)。