0

我在 Eclipse 3.7 中有一个工作插件,带有Views一个Perspective.
现在我尝试将其移至 Eclipse Kepler 4.3,因此我遵循Jonas Helming 的教程
我所有的视图都基于TemplateView另一个插件中的一个。这TemplateView被转换为e4样式POJO视图。
我的插件对此进行了扩展TemplateView并添加了包装类(如教程中所述)。

e3如果我以风格运行我的应用程序(意味着TemplateView正在扩展ViewPart)一切都很好并且Perspective被添加了。但是当我将它更改为e4样式时(意味着TemplateView正在扩展并且POJO我在我plugin.xml的.PerspectiveViews

mye3 View并不是很有趣,因为它主要使用我的自定义 api(这只会在这里混淆并且它工作正常 - 因为它以 开头e3

这是e4包装类:

import org.eclipse.e4.tools.compat.parts.DIViewPart;
import lumo.views.contact.e3.PojoDetailView;

public class E4DetailView extends DIViewPart<PojoDetailView> {
    public E4DetailView() {
        super(PojoDetailView.class);
    }
}

这个问题是这个问题的一部分,但没有欺骗

4

1 回答 1

0

解决方案:重要的是你确实使用构造函数 with@Inject Annotation和 haveComposite parent作为参数,然后创建内容。像这样:

@Inject
public PojoDetailView(Composite parent) {
  // either put creation code here or call the 3e styled function
  createPartControl(parent);
}

我的错误是我有一个普通的构造函数和一个Annotation @PostConstructon createPartControl(Composite parent)(这应该在之后执行DI,但显然没有)

于 2013-07-30T11:28:35.593 回答