【问题标题】:Welcome page not closing on perspective change欢迎页面未关闭视角更改
【发布时间】:2014-05-27 13:58:09
【问题描述】:

我有一个 RCP 应用程序,我在其中添加了介绍页面(欢迎页面)。这是使用 IIntroPart 实现的。所以我的不是面向 xml 的欢迎页面。

问题:当应用程序启动时,欢迎页面显示完美。但是现在当欢迎页面仍然打开(可见)时,如果我尝试在我的应用程序中打开一个透视图,欢迎页面不会向右移动(就像在 Eclipse IDE 中那样)为我选择的透视图腾出空间。

所以即使选择了透视图,透视图也不会显示,欢迎页面仍然占据整个工作台区域。请注意,选定的视角不会隐藏在欢迎页面后面。但是选择的透视图在透视图快捷方式中得到更新!

重新启动时(清除元数据后),如果我手动关闭欢迎页面然后尝试打开透视图,透视图就会正常打开。

这是因为欢迎页面(当它可见时)选择的透视图没有在工作台中打开。

谁能帮我解决这个问题?它的行为应该与 Eclipse IDE 中欢迎页面的行为方式一样。也就是说,当欢迎页面仍然打开时,如果打开了一个透视图,那么欢迎页面应该向右移动,为透视图腾出空间,因此(选定的透视图和欢迎页面)都应该可见。

更新:

在这个问题上取得了一些进展。现在,当我选择要打开的透视图(“窗口-> 打开透视图-> MyPerspective”)时,欢迎页面(介绍部分)仍然打开,我能够关闭欢迎页面(这是通过将部分侦听器添加到欢迎页面)。但是现在显示了一个空白区域,并且没有显示透视图。但是,选定的透视图在应用程序透视图快捷栏中得到更新

欢迎任何帮助...

【问题讨论】:

  • 您使用的是哪个 Eclipse 版本..?
  • eclipse版本为3.6.2

标签: eclipse eclipse-rcp


【解决方案1】:

添加透视监听器并最小化欢迎页面。将以下代码放入Activator启动方法中。

    final IWorkbench workbench = PlatformUI.getWorkbench();
    workbench.getDisplay().asyncExec(new Runnable() {
        public void run() {
                workbench.getActiveWorkbenchWindow().addPerspectiveListener(new IPerspectiveListener() {

                    public void perspectiveActivated(IWorkbenchPage arg0, IPerspectiveDescriptor arg1) {
                        // Nothing to do

                    }

                    public void perspectiveChanged(IWorkbenchPage arg0, IPerspectiveDescriptor arg1, String arg2) {

                        // Fix for bug number 8028
                        IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
                        IViewPart introView = page.findView("org.eclipse.ui.internal.introview");//$NON-NLS-1$
                        if (introView != null && page.getReference(introView) != null) {
                            int currentState = page.getPartState(page.getReference(introView));
                            if (currentState != IWorkbenchPage.STATE_MINIMIZED) {
                                page.setPartState(page.getReference(introView), IWorkbenchPage.STATE_MINIMIZED);
                            }
                        }

                    }
                });                
        }
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 2015-03-28
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-09-22
    相关资源
    最近更新 更多