package org.archstudio.archipelago2.ext.structures; import org.archstudio.eclipse.core.startup.InstantiateArchStudio; import org.eclipse.jface.preference.ColorFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.FontFieldEditor; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.graphics.RGB; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; public class StructurePreferences extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { public static final String PREF_COMPONENT_COLOR = "org.archstudio.archipelago2.ext.structures.componentColor"; public static final String PREF_COMPONENT_FONT = "org.archstudio.archipelago2.ext.structures.componentFont"; public static final String PREF_CONNECTOR_COLOR = "org.archstudio.archipelago2.ext.structures.connectorColor"; public static final String PREF_CONNECTOR_FONT = "org.archstudio.archipelago2.ext.structures.connectorFont"; public static IPreferenceStore getActivatorPreferenceStore() { return Activator.getDefault().getPreferenceStore(); } public static RGB getComponentColor() { return PreferenceConverter.getColor(getActivatorPreferenceStore(), PREF_COMPONENT_COLOR); } public static FontData getComponentFont() { return PreferenceConverter.getFontData(getActivatorPreferenceStore(), PREF_COMPONENT_FONT); } public static RGB getConnectorColor() { return PreferenceConverter.getColor(getActivatorPreferenceStore(), PREF_CONNECTOR_COLOR); } public static FontData getConnectorFont() { return PreferenceConverter.getFontData(getActivatorPreferenceStore(), PREF_CONNECTOR_FONT); } public StructurePreferences() { super("Archipelago Structure Preferences", FLAT); InstantiateArchStudio.instantiate(); setPreferenceStore(getActivatorPreferenceStore()); setDescription("This panel lets you set structure preferences for Archipelago."); } @Override public void init(IWorkbench workbench) {} @Override protected void createFieldEditors() { addField(new FontFieldEditor(PREF_COMPONENT_FONT, "Default Component Font:", getFieldEditorParent())); addField(new ColorFieldEditor(PREF_COMPONENT_COLOR, "Default Component Color:", getFieldEditorParent())); addField(new FontFieldEditor(PREF_CONNECTOR_FONT, "Default Connector Font:", getFieldEditorParent())); addField(new ColorFieldEditor(PREF_CONNECTOR_COLOR, "Default Connector Color:", getFieldEditorParent())); } }