java - Eclipse RCP 并通过透视图和 View 进行迭代

标签 java eclipse-rcp

我有一个带有许多插件的 Eclipse RCP 应用程序。每个插件都有自己的视角,包括新 View 或共享 View 。 我需要使用插件在原始应用程序的基础上创建一个单独的应用程序。 该应用程序将充当每个插件/视角的权限配置器。

为此,我需要执行以下操作:

  • 启动时强制初始化所有插件
  • 获取应用程序中的所有透视对象并显示 ID
  • 对于每个透视图,获取与该透视图关联的所有 View 并显示其 ID
  • 对于每个 View 对象获取所有属性(实际上每个 View 都将从一个特殊的基类继承:例如 SpecialView)

基于这一特殊角色(管理员)将为所有其他角色配置权限(应显示哪个透视图、在每个透视图中将显示哪些 View 、在每个 View 上哪些命令将处于 Activity 状态等)。

我对上述要求有疑问:

  • 如何在启动时强制所有插件初始化(Eclipse 使用延迟激活)?
  • 如何获取透视对象(不是 IPerspectiveDescriptor)和 View 对象?

最佳答案

要强制激活,您可以在 plugin.xml 编辑器中设置一个标志,前提是该插件是单例。

要查找 View 和透视图,您可以循环扩展注册表,提供插件的正确 ID 以及 View 和透视图扩展点:

IExtensionRegistry er = Platform.getExtensionRegistry();
IExtensionPoint ep = er.getExtensionPoint(plug-in_id, extensionId);
IExtensions[] ext = ep.getExtensions();

一旦有了扩展,您还可以拥有实现它的类等等。

关于java - Eclipse RCP 并通过透视图和 View 进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4185558/

相关文章:

java - 关于mysql、java日期和时区的困惑

java - Nashorn java.lang.NoClassDefFoundError : jdk/nashorn/api/scripting/JSObject

eclipse-rcp - 创建 eclipse 扩展点时选择和序列之间的区别

java - Eclipse RCP 4 - 处理程序方法参数

swt - 学习 Eclipse RCP 和 SWT/JFace

eclipse-plugin - 脏的 EditorPart 如何禁止 Eclipse 重命名其资源?

java - 迭代器如何在并发 HashMap 中实现故障安全

java - 如何测试 HDFS I/O 吞吐量

java - 如何计算上个月的天数?

java - 查看具有 2 种可能布局的绑定(bind),将绑定(bind)变量分配给 2 个生成的绑定(bind)类