繁体   English   中英

Eclipse RCP:以编程方式保存透视图

[英]Eclipse RCP: save a perspective programmatically

我需要自定义RCP应用程序和透视图的用法。 特别是,我想提供一个自定义菜单项,该菜单项可让用户保存当前透视图,但显示内置对话框:

在此处输入图片说明

因此,我不想使用默认的月食方式来注册“保存透视图”操作并将其放入菜单中。 也就是说,我希望这样做:

@Override
protected void makeActions(IWorkbenchWindow window)
{
    // ...
    register(ActionFactory.SAVE_PERSPECTIVE.create(window));
    // ...
}

@Override
protected void fillMenuBar(IMenuManager menuBar)
{
    // ...
    windowMenu.add(getAction(ActionFactory.SAVE_PERSPECTIVE.getId()));
    // ...
}

因此,如果我编写了一个自定义Action,那么在那需要做什么来保存当前的透视图?

这很简单。 在自定义动作中,我执行以下操作来保存透视图:

IWorkbenchPage page = window.getActivePage();
IPerspectiveRegistry perspectiveRegistry = window.getWorkbench()
        .getPerspectiveRegistry();
IPerspectiveDescriptor personalPerspectiveDescriptor = perspectiveRegistry
        .findPerspectiveWithId(perspectiveId);

if (page != null && personalPerspectiveDescriptor != null) {
    // ... other stuff like different confirm dialogs
    page.savePerspectiveAs(personalPerspectiveDescriptor);
}

一个很好的示例,说明如何使用透视图来让用户自定义其布局而不显示太多内置透视图功能:

http://www.subshel​​l.com/en/subshel​​l/blog/article-Eclipse-RCP-Change-Your-Perspective100.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM