以编程方式附加Eclipse分离视图

时间:2013-06-27 12:23:52

标签: eclipse swt rcp

我已经以编程方式从eclipse中分离了一个视图。 现在我想把它附回来。 什么是最有效的方法。

2 个答案:

答案 0 :(得分: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 );

答案 1 :(得分:2)

detach(*)的匹配操作为org.eclipse.e4.ui.workbench.modeling.EModelService.insert(MPartSashContainerElement, MPartSashContainerElement, int, float)

我发现的唯一工作示例是在DND支持SplitDropAgent中,但它并不容易阅读。我怀疑你需要找到你以前分离过的部分。