Eclipse RCP并通过Perspectives和Views迭代

时间:2010-11-15 14:57:02

标签: java eclipse-rcp

我有一个带有许多插件的Eclipse RCP应用程序。每个插件都有自己的视角,包含新视图或共享视图。 我需要创建一个基于原始插件的单独应用程序。 此应用程序将充当每个插件/透视图的权限配置程序。

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

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

基于一个特殊角色(管理员)将为所有其他角色配置权限(应显示哪个透视图,在每个透视图中显示哪些视图,在每个视图上将激活哪些命令等)。

我有关于上述要求的问题:

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

1 个答案:

答案 0 :(得分:0)

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

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

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

获得扩展后,您还可以使用实现它的类等等。