1

我正在向我的应用程序添加一个插件以扩展现有插件的功能(用于高级报告)。该应用程序已经有一个偏好页面。当用户更改现有插件的首选项时,我需要“刷新”新插件的报告。

我的想法是“扩展”现有插件的首选项页面以添加checkbox“传播更改以打开报告”并导致刷新。此刷新仅在使用新插件时适用(它是可选的,现有插件可以单独使用)。加载新插件时,如何扩展首选项页面以添加checkbox并加载该首选项页面而不是现有页面?

这个问题也适用于扩展视图和编辑器,但我不确定如何(在 Java 定义中)扩展来自不同插件的 GUI 组件。我只能看到如何贡献新接口。

4

1 回答 1

0

您可以为此使用OSGi 片段。简而言之,一个片段被添加到主机包(即“托管”片段的那个),它可以覆盖主机包中的任何内容。如果您从类路径的角度考虑,那么片段总是首先出现,然后是主机包。

这意味着您可以使用现有的首选项页面,将此单个源文件复制到片段中,根据需要进行更改,然后将其编译为片段。

于 2013-07-15T15:47:48.163 回答