有没有更好的方法在 E4 应用程序中获取 Workbench 上下文
Is there a better way to get to Workbench context in an E4 application
我正在使用 E4 应用程序,目前在一个部分中。我想在 Workbench 级别上下文中推送一个标志,而我可以到达它的唯一方法是
context.getParent().getParent().getParent().set("FLAG", false);
有没有更好的方法达到Workbench水平?
workbench 上下文可从应用程序对象访问:
@Inject
MApplication application;
...
IEclipseContext appContext = application.getContext();
使用 getParent()
调用很容易出错,因为对应用程序模型的任何更改都可能破坏代码。
@Inject
IEclipseContext eclipseContext;
当然,您必须在 E4ApplicationModel 中。如果没有,您可以注入这个(在 Processor/LifeCycleManager/other in E4ApplicationModel...):
MyClass myClass = new MyClass();
ContextInjectionFactory.inject(myClass,eclipseContext);
我正在使用 E4 应用程序,目前在一个部分中。我想在 Workbench 级别上下文中推送一个标志,而我可以到达它的唯一方法是
context.getParent().getParent().getParent().set("FLAG", false);
有没有更好的方法达到Workbench水平?
workbench 上下文可从应用程序对象访问:
@Inject
MApplication application;
...
IEclipseContext appContext = application.getContext();
使用 getParent()
调用很容易出错,因为对应用程序模型的任何更改都可能破坏代码。
@Inject
IEclipseContext eclipseContext;
当然,您必须在 E4ApplicationModel 中。如果没有,您可以注入这个(在 Processor/LifeCycleManager/other in E4ApplicationModel...):
MyClass myClass = new MyClass();
ContextInjectionFactory.inject(myClass,eclipseContext);