我以编程方式从 Eclipse 中分离了一个视图。现在我想把它附回去。什么是最有效的方法。
问问题
881 次
2 回答
2
您必须进行一些强制转换有效性和空有效性检查,但这是交易:
PartSite partSite = (PartSite)yourDetachedView.getViewSite();
PartPane partPane = partSite.getPane();
ViewStack viewStack = (ViewStack)partPane.getContainer();
ViewPane viewPane = (ViewPane)viewStack.getSelection();
viewPane.doAttach();
编辑:这是另一种方式。
PartSite site = (PartSite)yourDetachedView.getSite();
WorkbenchPage workbenchPage = (WorkbenchPage)site.getPage();
String viewId = site.getId();
String secondaryId = yourDetachedView.getViewSite().getSecondaryId();
IViewReference viewReference = workbenchPage.findViewReference( viewId, secondaryId );
Perspective activePerspective = workbenchPage.getActivePerspective();
PerspectiveHelper presentation = activePerspective.getPresentation();
presentation.attachPart( viewReference );
于 2013-06-27T13:43:52.033 回答
2
的匹配操作detach(*)
是org.eclipse.e4.ui.workbench.modeling.EModelService.insert(MPartSashContainerElement, MPartSashContainerElement, int, float)
。
我发现的唯一工作示例是在 DND 支持SplitDropAgent中,但它不容易阅读。我怀疑您需要找到之前分离的部分。
于 2013-06-28T18:14:21.303 回答