gpt4 book ai didi

java - 在 Eclipse RCP saveAndRestore 中只恢复几个 View

转载 作者:行者123 更新时间:2023-11-29 03:28:36 24 4
gpt4 key购买 nike

我们有一个内部 Eclipse RCP 应用程序,它只有 View 而没有编辑器。

我们在 WorkBenchAdvisor 中使用 Eclipse saveAndRestore API 来保存和恢复工作台状态。它按预期工作。

我们根据用户权限控制 View 的显示。

假设应用程序有 2 个用户;经理和员工。如果经理登录,将显示所有 View ,如果员工登录,则某些 View 将被抑制。到目前为止一切顺利。

假设经理登录并打开他的所有 View 并关闭应用程序。一名员工现在在同一台机器上登录。现在的问题是,由于 eclipse 恢复了工作台状态,员工没有权限的 View 也被恢复了。

eclipse 是否提供了一个占位符,我们可以在其中检查用户对恢复 View 的许可,而不相应地显示这些 View ?

请告知如何解决此问题。

用户的身份验证是使用在 WorkBenchAdvisor 中打开的登录对话框完成的。

使用的 Eclipse 版本:3.7

感谢您的帮助。

谢谢

最佳答案

当您将 View 状态保存到备忘录中时,存储一些附加信息,关于谁可以看到该 View 。为此,请在您的 View 中覆盖 saveState(IMemento memento)。之后,当所有内容都已加载时,您可以强制关闭不相关的 View (查看 WorkbenchWindowAdvisor 中的方法)。

另一种可能性是在 View 的 init 方法中抛出 PartInitException。这仍然会打开带有错误消息的 View ,您已提供(例如,“无权限打开此 View ”)而不是内容。

关于java - 在 Eclipse RCP saveAndRestore 中只恢复几个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19696380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com