我正在使用E4应用程序,目前正在使用Part。我想在Workbench级别上下文中推送一个标志,唯一可以实现的方法是
context.getParent().getParent().getParent().set("FLAG", false);
有没有更好的方法进入Workbench级别?
答案 0 :(得分:1)
可以从应用程序对象访问工作台上下文:
@Inject
MApplication application;
...
IEclipseContext appContext = application.getContext();
使用getParent()
调用非常容易出错,因为对应用程序模型的任何更改都可能会破坏代码。
答案 1 :(得分:0)
@Inject
IEclipseContext eclipseContext;
当然你必须在E4ApplicationModel中。如果没有,你可以注入这个(在E4ApplicationModel中的Processor / LifeCycleManager /其他......):
MyClass myClass = new MyClass();
ContextInjectionFactory.inject(myClass,eclipseContext);