我在不同的PartStacks中构建了大约10-15个部件。每个零件都应该有一些Handled Tool Item,其中4个是相同的。 因此,我想重复使用这4个工具栏项,而不是手动将它们添加到每个部分。
在Eclipse 3.x中,我们通过继承构建了这些工具栏 - 每个视图都应该有这个工具栏项扩展一个类,它会添加这些项。
是否有正确的方法来拥有"工具栏模板"?
想要任何想法;)
干杯,斯蒂芬
解决方案 :(谢谢格雷格)
谢谢Greg,处理器工作了。
以下是相应的代码:
@Inject
@Named("de.test.myperspective")
private MPerspective perspective;
@Inject
private MApplication application;
@Execute
public void execute(EModelService modelService) {
if (perspective != null) {
List<MPart> parts = modelService.findElements(perspective, null,
MPart.class, null);
for (MPart part : parts) {
MUIElement snip = modelService.cloneSnippet(application,
"de.test.mytoolbarsnippet", null);
MToolBar toolbar = (MToolBar) snip;
part.getToolbar().getChildren()
.addAll(0, toolbar.getChildren());
}
}
}
在fragment.xmi中,我向Application-&gt; Snippets添加了一个新的ModelFragment,并添加了一个ID为&#34; de.test.mytoolbarsnippet&#34;的工具栏。那里。
答案 0 :(得分:0)
您可以在应用程序模型中使用Snippet
。
使用EModelService
cloneSnippet
方法从代码段创建控件。
您可以在应用程序模型上运行的处理器中执行此操作 - 请参阅org.eclipse.e4.workbench.model
扩展点processor
元素。