package tk.eclipse.plugin.htmleditor; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IExtension; import org.eclipse.core.runtime.IExtensionPoint; import org.eclipse.core.runtime.IExtensionRegistry; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.resource.StringConverter; import tk.eclipse.plugin.htmleditor.editors.IHTMLColorConstants; public class HTMLPreferenceInitializer extends AbstractPreferenceInitializer { @Override public void initializeDefaultPreferences() { IPreferenceStore store = HTMLPlugin.getDefault().getPreferenceStore(); store.setDefault(HTMLPlugin.PREF_TEMPLATE_COMPACT_VIEW, true); store.setDefault(HTMLPlugin.PREF_COLOR_TAG,StringConverter.asString(IHTMLColorConstants.TAG)); store.setDefault(HTMLPlugin.PREF_COLOR_WO_TAG,StringConverter.asString(IHTMLColorConstants.WO_TAG)); store.setDefault(HTMLPlugin.PREF_COLOR_ATTRIBUTE,StringConverter.asString(IHTMLColorConstants.ATTRIBUTE)); store.setDefault(HTMLPlugin.PREF_COLOR_COMMENT,StringConverter.asString(IHTMLColorConstants.HTML_COMMENT)); store.setDefault(HTMLPlugin.PREF_COLOR_DOCTYPE,StringConverter.asString(IHTMLColorConstants.PROC_INSTR)); store.setDefault(HTMLPlugin.PREF_COLOR_STRING,StringConverter.asString(IHTMLColorConstants.STRING)); store.setDefault(HTMLPlugin.PREF_COLOR_OGNL,StringConverter.asString(IHTMLColorConstants.SCRIPT)); store.setDefault(HTMLPlugin.PREF_COLOR_DYNAMIC,StringConverter.asString(IHTMLColorConstants.SCRIPT)); store.setDefault(HTMLPlugin.PREF_COLOR_SCRIPT,StringConverter.asString(IHTMLColorConstants.SCRIPT)); store.setDefault(HTMLPlugin.PREF_COLOR_CSSPROP,StringConverter.asString(IHTMLColorConstants.CSS_PROP)); store.setDefault(HTMLPlugin.PREF_COLOR_CSSCOMMENT,StringConverter.asString(IHTMLColorConstants.CSS_COMMENT)); store.setDefault(HTMLPlugin.PREF_COLOR_CSSVALUE,StringConverter.asString(IHTMLColorConstants.CSS_VALUE)); store.setDefault(HTMLPlugin.PREF_EDITOR_TYPE,"noPreview"); store.setDefault(HTMLPlugin.PREF_DTD_URI,""); store.setDefault(HTMLPlugin.PREF_DTD_PATH,""); store.setDefault(HTMLPlugin.PREF_DTD_CACHE,true); store.setDefault(HTMLPlugin.PREF_ASSIST_AUTO,false); store.setDefault(HTMLPlugin.PREF_ASSIST_CHARS,"</\""); store.setDefault(HTMLPlugin.PREF_ASSIST_CLOSE,true); store.setDefault(HTMLPlugin.PREF_ASSIST_TIMES,0); store.setDefault(HTMLPlugin.PREF_USE_SOFTTAB,false); store.setDefault(HTMLPlugin.PREF_SOFTTAB_WIDTH,2); store.setDefault(HTMLPlugin.PREF_COLOR_FG,StringConverter.asString(IHTMLColorConstants.FOREGROUND)); store.setDefault(HTMLPlugin.PREF_COLOR_BG,StringConverter.asString(IHTMLColorConstants.BACKGROUND)); store.setDefault(HTMLPlugin.PREF_COLOR_BG_DEF,true); store.setDefault(HTMLPlugin.PREF_JSP_COMMENT,StringConverter.asString(IHTMLColorConstants.JAVA_COMMENT)); store.setDefault(HTMLPlugin.PREF_JSP_STRING,StringConverter.asString(IHTMLColorConstants.JAVA_STRING)); store.setDefault(HTMLPlugin.PREF_JSP_KEYWORD,StringConverter.asString(IHTMLColorConstants.JAVA_KEYWORD)); store.setDefault(HTMLPlugin.PREF_PAIR_CHAR, true); store.setDefault(HTMLPlugin.PREF_SHOW_XML_ERRORS, true); store.setDefault(HTMLPlugin.PREF_COLOR_JSCOMMENT,StringConverter.asString(IHTMLColorConstants.JAVA_COMMENT)); store.setDefault(HTMLPlugin.PREF_COLOR_JSSTRING,StringConverter.asString(IHTMLColorConstants.JAVA_STRING)); store.setDefault(HTMLPlugin.PREF_COLOR_JSKEYWORD,StringConverter.asString(IHTMLColorConstants.JAVA_KEYWORD)); store.setDefault(HTMLPlugin.PREF_CUSTOM_ATTRS, ""); store.setDefault(HTMLPlugin.PREF_CUSTOM_ELEMENTS, ""); store.setDefault(HTMLPlugin.PREF_TASK_TAGS, "FIXME\t2\nTODO\t1\nXXXX\t1\n"); store.setDefault(HTMLPlugin.PREF_ENABLE_CLASSNAME, false); store.setDefault(HTMLPlugin.PREF_CLASSNAME_ATTRS, "type class classname className bean component"); store.setDefault(HTMLPlugin.PREF_SCHEMA_MAPPINGS, ""); getContributions(store); } private void getContributions(IPreferenceStore store) { try { IExtensionRegistry registry = Platform.getExtensionRegistry(); IExtensionPoint point = registry.getExtensionPoint(HTMLPlugin.getDefault().getPluginId() + ".preferenceContributer"); IExtension[] extensions = point.getExtensions(); for(int i=0;i<extensions.length;i++){ IConfigurationElement[] elements = extensions[i].getConfigurationElements(); for (int j = 0; j < elements.length; j++) { if ("contributer".equals(elements[j].getName())) { IHTMLPreferenceContributer contributer = (IHTMLPreferenceContributer) elements[j].createExecutableExtension("class"); contributer.initializeDefaultPreferences(store); } } } } catch(Exception ex){ HTMLPlugin.logException(ex); } } }