我想为一种文件配置一些外观设置。所以我在General->Appearance->Colors and Fonts
。
我的plugin.xml
看起来像这样:
<extension point="org.eclipse.ui.themes">
<themeElementCategory
id="com.example.themeElementCategory"
label="My specific settings">
<description>
Control the appearance of .example files
</description>
</themeElementCategory>
<colorDefinition
categoryId="com.example.themeElementCategory"
id="com.example.colorDefinition"
label="Some Color"
value="COLOR_DARK_BLUE">
<description>
Your description goes here
</description>
</colorDefinition>
<fontDefinition
categoryId="com.example.themeElementCategory"
id="com.example.fontDefinition"
label="Some Font"
value="Lucida Sans-italic-18">
<description>
Description for this font
</description>
</fontDefinition>
</extension>
现在在Colors and Fonts
我有一个新条目,我可以设置颜色和字体。
如何扩展首选项窗口,以便覆盖Restore defaults
,Apply
和Apply and Close
按钮?
在我的<themeElementCategory>
中,我必须添加一个覆盖class=MyHandlingClass
的{{1}},但该类应该扩展/实现什么?
与1相同,但添加performApply()
,仍然不知道应该扩展/实施什么
不太可能创建一个新的首选项页面,该页面扩展PropertyChangeEvent
并实现PreferencePage
如何实现前两个选项之一?
澄清更新
目前,特定文件扩展名的颜色和字体在类(I KNOW)中是硬编码的。
在编辑器中打开文件时,将从该静态类中读取信息并在编辑器中显示。
我想做什么:
IWorkbenchPreferencePage
块中,阅读首选项中配置的设置并更新我班级的静态字段。 答案 0 :(得分:1)
如果您只是想知道主题项何时更改值,请使用addPropertyChangeListener
的{{1}}方法为更改添加侦听器:
IThemeManager
传递给IThemeManager manager = PlatformUI.getWorkbench().getThemeManager();
manager.addPropertyChangeListener(listener);
PropertyChangeEvent
方法的propertyChanged
包含已更改主题项的ID,旧值和新值。