如何添加透视监听器

2024-01-03

在我们的应用程序中,我们有 4 个视图(视图 1、2、3 和 4)和 3 个视角(视角 1、2 和 3)。

观点是通过实施来建立的IPerspectivefactory视图是通过扩展viewPart来构建的。

我们面临着这样一种情况:在选择任何视角的情况下,我们希望将焦点设置到特定视图。

例如,将视图 1 视为公共视图,它将显示在所有 3 个透视图下。每当我们选择任何视角时,我们都希望将焦点设置到 View1。

如何将听众添加到观点中?

我们知道我们必须添加IPerspectiveListerner监听视角的变化,但我们不确定在哪里添加它,以便我们在我们实现的方法中获得执行控制IPerspectiveListener.


您可以使用以下代码:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().addPerspectiveListener(new IPerspectiveListener() {
  @Override
  public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
    try {
      page.showView("...", null, IWorkbenchPage.VIEW_VISIBLE);
    } catch (PartInitException ex) {
      ex.printStackTrace();
    }
  }

  @Override
  public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
  }
});

编辑:由于这与 view1 相关,因此您可以将此代码放置在 view1 插件的激活器中。当然,直到从 view1 插件加载一些代码后它才会显示。就像是:

Job job = new UIJob("Add Perspective listener") {
    public IStatus runInUIThread(IProgressMonitor monitor) {
        addPerspectiveListener();
        return Status.OK_STATUS;
    }
};
job.setSystem(true);
job.schedule();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何添加透视监听器 的相关文章

随机推荐