【问题标题】:How can i block certain views depending on active perspective?如何根据主动视角阻止某些视图?
【发布时间】:2012-06-21 20:13:21
【问题描述】:

我希望能够最小化、调整大小甚至关闭视图,然后当我觉得它可以从菜单中恢复它们时。

一个具体的例子:
我有视图 V1、V2、V3、V4、V5、V6、V7 和观点 P1、P2、P3。 如果我切换到 P1 透视图,会显示视图 V1 和 V2,但如果我想要我也可以打开 V4,其余视图将不可用。
如果我切换到透视图 P2,则会显示视图 V3 和 V5,但如果我愿意,我也可以打开 V4 和 V6,其余视图将不可用。
如果我切换到透视 P3,会显示视图 V1 和 V3,但如果我愿意,我也可以打开 V4、V6 和 V7,其余视图不可用。
因此,根据哪个视角处于活动状态,我只能访问特定的一组视图

关于我应该如何做到这一点的任何建议?

谢谢大家

LE:顺便说一句,我想以编程方式执行此操作,以便我可以在应用程序中实现这些规则

【问题讨论】:

    标签: java eclipse eclipse-rcp


    【解决方案1】:

    只需创建自定义透视图:http://www.newyyz.com/ntgsite/tag/custom-perspective/

    然后,您可以根据需要拥有尽可能多的视角,并根据您想要的视图进行定制。

    【讨论】:

    • 好吧,我想用 java 代码来做,因为我想制作自己的应用程序。但是,除此之外,在您的解决方案中,如果我创建自己的视角,我仍然可以访问所有视图。
    • 这就是 Eclipse 作为平台的工作方式。即使您使用 Eclipse 分发高度定制的 RCP 应用程序,也不会真正阻止最终用户访问视图或在平台中安装其他软件。
    【解决方案2】:

    不应该试图禁止在这些视角中创建其他视图。这正是使 Eclipse 成为每个用户的良好可定制工具的原因。 肯定不知道作为用户真正需要什么视图,你只能猜测并创建一些好的默认视图。

    【讨论】:

      【解决方案3】:

      除了@Bananeweizen 提到的,您还可以创建固定视角。它们阻止用户在该透视图中打开其他视图。这只是默认情况下,您必须选择允许用户打开任何视图为他们提供一组固定的视图。

      没有您可以否决的 preViewOpen 事件。您可以添加一个部件侦听器,当您不想要的部件打开时,安排UIJob 隐藏该部件......但在这种情况下用户会看到闪烁。

      【讨论】:

      • 而且我认为即使是固定视角,他也可以保存该视角的副本并修改它,或者不?
      • 哦...有一些属性可以防止“打开透视”按钮出现,例如org.eclipse.ui.IWorkbenchPreferenceConstants.SHOW_OPEN_ON_PERSPECTIVE_BAR。但是,即使用户可以复制透视图,它仍然是固定的,他们将无法更改它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 2013-09-01
      • 1970-01-01
      • 2019-10-24
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      相关资源
      最近更新 更多