我实现了一个e4 RCP应用程序,我想为特殊用户隐藏零件。RCP e4隐藏零件
在E3我知道我能做到这一点与实现IPerspectiveFactory透视类。
我现在sollution是:
@PostConstruct
private void init(EPartService partService) {
MPart part = partService.findPart("part.id.activity");
partService.hidePart(part, true);
}
我这样做的部分班级,当我跑我的应用程序得到这个injectionexcetion:
ENTRY org.eclipse.e4.ui。工作台4 0 2017-08-01 09:08:06.139 !MESSAGE无法从包裹'135'创建类'application.parts.activityPart.ActivityPart' !STACK 0 org.eclipse.e4.core.di.InjectionException :无法处理“ActivityPart#createComposite()”:没有实际值e被发现用于“Composite”参数。 在org.eclipse.e4.core.internal.di.InjectorImpl.reportUnresolvedArgument(InjectorImpl.java:476) 在org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:987) 在org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124) 在org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399) 的组织。 eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318) 在org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162) 在org.eclipse.e4。 ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:105) 在org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributio nFactory.java:74) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:56) at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget( ContributedPartRenderer.java:129) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:997) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine。 safeCreateGui(PartRenderingEngine.java:666) 在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:772) 在org.eclipse.e4.ui.internal.workbench.swt。 PartRenderingEngine.access $ 0(PartRenderingEngine.java:743) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine $ 2.run(PartRenderingEngine.java:737) 在org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 在org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:721) 的组织。 eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1289) at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.lambda $ 0(LazyStackRenderer.java:68) 在org.eclipse.e4.ui.services.internal.events.UIEventHandler $ 1.run(UIEventHandler.java:40) 在org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233) 的组织。 eclipse.swt.widgets.Display.syncExec(Display.java:4889) ...