package de.urszeidler.shr5.ecp.preferences; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.draw2d.ColorConstants; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EEnumLiteral; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.FontData; import de.urszeidler.shr5.ecp.Activator; import de.urszeidler.shr5.scripting.PlacementOptions; import de.urszeidler.shr5.scripting.ScriptingPackage; /** * Class used to initialize default preference values. */ public class PreferenceInitializer extends AbstractPreferenceInitializer { /* * (non-Javadoc) * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() */ public void initializeDefaultPreferences() { FontData[] defaultFont = JFaceResources.getDefaultFont().getFontData(); FontData[] boldFont = new FontData[defaultFont.length]; for (int i = 0; i < defaultFont.length; i++) { boldFont[i] = new FontData(defaultFont[i].getName(), defaultFont[i].getHeight(), SWT.BOLD); } FontData[] italic = new FontData[defaultFont.length]; for (int i = 0; i < defaultFont.length; i++) { italic[i] = new FontData(defaultFont[0].getName(), defaultFont[0].getHeight() - 2, SWT.ITALIC); } FontData[] normal = new FontData[defaultFont.length]; for (int i = 0; i < defaultFont.length; i++) { normal[i] = new FontData(defaultFont[0].getName(), defaultFont[0].getHeight() - 2, defaultFont[0].getStyle()); } FontData[] header = new FontData[defaultFont.length]; for (int i = 0; i < defaultFont.length; i++) { header[i] = new FontData(defaultFont[0].getName(), defaultFont[0].getHeight() + 2, SWT.BOLD); } IPreferenceStore store = Activator.getDefault().getPreferenceStore(); store.setDefault(PreferenceConstants.FOOTER_GAP, 24); store.setDefault(PreferenceConstants.PAGE_MARGIN, 24); store.setDefault(PreferenceConstants.PRINT_PERSONA_DECRIPTION, true); store.setDefault(PreferenceConstants.PRINT_USEABLE_SKILLS, true); store.setDefault(PreferenceConstants.PRINT_CHARACTER_ADVACEMENTS, true); store.setDefault(PreferenceConstants.CURRENCY_SYMBOL, "¥"); store.setDefault(PreferenceConstants.FONT_MAIN_HEADER, PreferenceConverter.getStoredRepresentation(boldFont)); store.setDefault(PreferenceConstants.FONT_TABLE_HEADER, PreferenceConverter.getStoredRepresentation(italic)); store.setDefault(PreferenceConstants.FONT_NORMAL_TEXT, PreferenceConverter.getStoredRepresentation(normal)); store.setDefault(PreferenceConstants.FONT_HEAD1_TEXT, PreferenceConverter.getStoredRepresentation(header)); store.setDefault(PreferenceConstants.DEFAUL_PROJECT_NAME, Activator.DEFAUL_PROJECT_NAME); EList<EEnumLiteral> eLiterals = ScriptingPackage.Literals.PLACEMENT_OPTIONS.getELiterals(); for (EEnumLiteral eEnumLiteral : eLiterals) { PreferenceConverter.setDefault(store, PreferenceConstants.SCRIPT_GRAPH_COLOR_BG+eEnumLiteral.getName(), ColorConstants.blue.getRGB() ); PreferenceConverter.setDefault(store, PreferenceConstants.SCRIPT_GRAPH_COLOR_FG+eEnumLiteral.getName(), ColorConstants.black.getRGB() ); } PreferenceConverter.setDefault(store, PreferenceConstants.SCRIPT_GRAPH_COLOR_BG+PlacementOptions.COMBAT, ColorConstants.red.getRGB() ); PreferenceConverter.setDefault(store, PreferenceConstants.SCRIPT_GRAPH_COLOR_FG+PlacementOptions.COMBAT, ColorConstants.white.getRGB() ); PreferenceConverter.setDefault(store, PreferenceConstants.SCRIPT_GRAPH_COLOR_BG+PlacementOptions.HOME_GROUND, ColorConstants.green.getRGB() ); PreferenceConverter.setDefault(store, PreferenceConstants.SCRIPT_GRAPH_COLOR_FG+PlacementOptions.HOME_GROUND, ColorConstants.black.getRGB() ); PreferenceConverter.setDefault(store,PreferenceConstants.SKILL_GROUP_BCK_COLOR, ColorConstants.buttonDarker.getRGB()); store.setDefault(PreferenceConstants.NO_DEFAULT_SKILL_GROUP_BCK_COLOR,false); store.setDefault(PreferenceConstants.SKILL_GROUP_BOLT,true); } }