| // RelativeValueColorPreferences.java |
| package org.eclipse.stem.ui.adapters.color; |
| |
| /******************************************************************************* |
| * Copyright (c) 2007 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| import org.eclipse.jface.preference.BooleanFieldEditor; |
| import org.eclipse.jface.preference.ColorFieldEditor; |
| import org.eclipse.jface.resource.StringConverter; |
| import org.eclipse.jface.util.PropertyChangeEvent; |
| import org.eclipse.stem.ui.preferences.MapsColorsPreferencePage; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.widgets.Group; |
| |
| /** |
| * This class holds the preferences contribution to the main preferences page for all relative |
| * value color providers. |
| */ |
| public class RelativeValueColorPreferences |
| implements IPreferencesContributer { |
| |
| /** |
| * The {@link MapsColorsPreferencePage} the this preferences have been added to |
| */ |
| protected MapsColorsPreferencePage preferencesPage; |
| |
| /** |
| * The preferences field editor for foreground color of zero relative value |
| */ |
| public static final String FOREGROUND_COLOR_ZERO_RELATIVE_VALUE_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorzero"; |
| |
| /** |
| * The preferences field editor for foreground color of range 1 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_1_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorrange1"; |
| |
| /** |
| * The preferences field editor for foreground color of range 2 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_2_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorrange2"; |
| |
| /** |
| * The preferences field editor for foreground color of range 3 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_3_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorrange3"; |
| |
| /** |
| * The preferences field editor for foreground color of range 4 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_4_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorrange4"; |
| /** |
| * The preferences field editor for foreground color of range 5 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_5_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorrange5"; |
| /** |
| * The preferences field editor for foreground color of range 6 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_6_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorrange6"; |
| /** |
| * The preferences field editor for foreground color of range 7 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_7_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorrange7"; |
| /** |
| * The preferences field editor for foreground color of range 8 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_8_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorrange8"; |
| /** |
| * The preferences field editor for foreground color of range 9 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_9_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorrange9"; |
| /** |
| * The preferences field editor for foreground color of range 10 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_10_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolorrange10"; |
| |
| /** |
| * The preferences field editor for foreground color of maximum relative value |
| */ |
| public static final String FOREGROUND_COLOR_MAXIMUM_RELATIVE_VALUE_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.foregroundcolormaximum"; |
| |
| /** |
| * The preferences field editor for alpha composite |
| */ |
| public static final String USE_ALPHA_COMPOSITE_ID = "org.eclipse.stem.ui.views.geographic.map.preferences.usealphacomposite"; |
| |
| /** |
| * The default color for preferences field editor for zero relative value (0.0) |
| */ |
| public static final String FOREGROUND_COLOR_ZERO_RELATIVE_VALUE_DEFAULT_RGB_STRING = "255,255,255"; //Black |
| |
| /** |
| * The default color for preferences field editor for foreground color of range 1 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_1_DEFAULT_RGB_STRING = "231,231,231"; //gray |
| |
| /** |
| * The default color for preferences field editor for foreground color of range 2 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_2_DEFAULT_RGB_STRING = "255,255,192"; //yelow pale pale pale |
| |
| /** |
| * The default color for preferences field editor for foreground color of range 3 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_3_DEFAULT_RGB_STRING = "255,255,128"; //yelow pale pale |
| |
| /** |
| * The default color for preferences field editor for foreground color of range 4 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_4_DEFAULT_RGB_STRING = "255,255,64"; //Yellow pale |
| |
| /** |
| * The default color for preferences field editor for foreground color of range 5 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_5_DEFAULT_RGB_STRING = "255,255,0"; //Yellow |
| |
| /** |
| * The default color for preferences field editor for foreground color of range 6 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_6_DEFAULT_RGB_STRING = "255,223,0"; //Orange-yellow |
| |
| /** |
| * The default color for preferences field editor for foreground color of range 7 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_7_DEFAULT_RGB_STRING = "255,192,0"; //Orange |
| |
| /** |
| * The default color for preferences field editor for foreground color of range 8 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_8_DEFAULT_RGB_STRING = "255,128,0"; //Orange-red |
| |
| /** |
| * The default color for preferences field editor for foreground color of range 9 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_9_DEFAULT_RGB_STRING = "255,96,0"; //RED-orange |
| |
| /** |
| * The default color for preferences field editor for foreground color of range 10 |
| */ |
| public static final String FOREGROUND_COLOR_RANGE_10_DEFAULT_RGB_STRING = "255,64,0"; //Red-RED-orange |
| |
| /** |
| * The default color for preferences field editor for maximum relative value (1.0) |
| */ |
| public static final String FOREGROUND_COLOR_MAXIMUM_RELATIVE_VALUE_DEFAULT_RGB_STRING = "255,0,0"; //Red |
| |
| /** |
| * The group that groups field editors from this preferences contributer |
| */ |
| private Group relativeValuesPrefGroup; |
| |
| /** |
| * The alpha composite boolean field editor |
| */ |
| static BooleanFieldEditor useAlphaCompositeBooleanFieldEditor; |
| |
| /** |
| * The color field editor for zero relative value |
| */ |
| static ColorFieldEditor zeroColorFieldEditor; |
| |
| /** |
| * The color field editor for range 1 |
| */ |
| static ColorFieldEditor range1ColorFieldEditor; |
| |
| /** |
| * The color field editor for range 2 |
| */ |
| static ColorFieldEditor range2ColorFieldEditor; |
| |
| /** |
| * The color field editor for range 3 |
| */ |
| static ColorFieldEditor range3ColorFieldEditor; |
| |
| /** |
| * The color field editor for range 4 |
| */ |
| static ColorFieldEditor range4ColorFieldEditor; |
| |
| /** |
| * The color field editor for range 5 |
| */ |
| static ColorFieldEditor range5ColorFieldEditor; |
| |
| /** |
| * The color field editor for range 6 |
| */ |
| static ColorFieldEditor range6ColorFieldEditor; |
| /** |
| * The color field editor for range 7 |
| */ |
| static ColorFieldEditor range7ColorFieldEditor; |
| /** |
| * The color field editor for range 8 |
| */ |
| static ColorFieldEditor range8ColorFieldEditor; |
| /** |
| * The color field editor for range 9 |
| */ |
| static ColorFieldEditor range9ColorFieldEditor; |
| /** |
| * The color field editor for range 10 |
| */ |
| static ColorFieldEditor range10ColorFieldEditor; |
| |
| /** |
| * The color field editor for maximum relative value |
| */ |
| static ColorFieldEditor maxColorFieldEditor; |
| |
| /** |
| * @see org.eclipse.stem.ui.adapters.color.IPreferencesContributer#createFieldEditors() |
| */ |
| public void createFieldEditors() { |
| relativeValuesPrefGroup = new Group(preferencesPage.getFieldEditorParent(), SWT.SHADOW_ETCHED_IN); |
| relativeValuesPrefGroup.setText("Relative Values"); |
| useAlphaCompositeBooleanFieldEditor = new BooleanFieldEditor(USE_ALPHA_COMPOSITE_ID, "Use 'Alpha Composite' for relative colors", relativeValuesPrefGroup); |
| zeroColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_ZERO_RELATIVE_VALUE_ID, "Color for zero relative value (0)", relativeValuesPrefGroup); |
| range1ColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_RANGE_1_ID, "Color for relative values (0 - 0.1)", relativeValuesPrefGroup); |
| range2ColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_RANGE_2_ID, "Color for relative values (0.1 - 0.2)", relativeValuesPrefGroup); |
| range3ColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_RANGE_3_ID, "Color for relative values (0.2 - 0.3)", relativeValuesPrefGroup); |
| range4ColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_RANGE_4_ID, "Color for relative values (0.3 - 0.4)", relativeValuesPrefGroup); |
| range5ColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_RANGE_5_ID, "Color for relative values (0.4 - 0.5)", relativeValuesPrefGroup); |
| range6ColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_RANGE_6_ID, "Color for relative values (0.5 - 0.6)", relativeValuesPrefGroup); |
| range7ColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_RANGE_7_ID, "Color for relative values (0.6 - 0.7)", relativeValuesPrefGroup); |
| range8ColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_RANGE_8_ID, "Color for relative values (0.7 - 0.8)", relativeValuesPrefGroup); |
| range9ColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_RANGE_9_ID, "Color for relative values (0.8 - 0.9)", relativeValuesPrefGroup); |
| range10ColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_RANGE_10_ID, "Color for relative values (0.9 - 1)", relativeValuesPrefGroup); |
| |
| maxColorFieldEditor = new ColorFieldEditor(FOREGROUND_COLOR_MAXIMUM_RELATIVE_VALUE_ID, "Color for maximum relative value (1.0)", relativeValuesPrefGroup); |
| |
| preferencesPage.addField(useAlphaCompositeBooleanFieldEditor); |
| preferencesPage.addField(zeroColorFieldEditor); |
| preferencesPage.addField(range1ColorFieldEditor); |
| preferencesPage.addField(range2ColorFieldEditor); |
| preferencesPage.addField(range3ColorFieldEditor); |
| preferencesPage.addField(range4ColorFieldEditor); |
| preferencesPage.addField(range5ColorFieldEditor); |
| preferencesPage.addField(range6ColorFieldEditor); |
| preferencesPage.addField(range7ColorFieldEditor); |
| preferencesPage.addField(range8ColorFieldEditor); |
| preferencesPage.addField(range9ColorFieldEditor); |
| preferencesPage.addField(range10ColorFieldEditor); |
| preferencesPage.addField(maxColorFieldEditor); |
| } // createFieldEditors |
| |
| /** |
| * @see org.eclipse.stem.ui.adapters.color.IPreferencesContributer#initialize() |
| */ |
| public void initialize() { |
| boolean rangesEnabled = !useAlphaCompositeBooleanFieldEditor.getBooleanValue(); |
| toggleEnabledRangeColorFileds(rangesEnabled); |
| } // initialize |
| |
| /** |
| * @see org.eclipse.stem.ui.adapters.color.IPreferencesContributer#performDefaults() |
| */ |
| public void performDefaults() { |
| zeroColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_ZERO_RELATIVE_VALUE_DEFAULT_RGB_STRING)); |
| range1ColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_RANGE_1_DEFAULT_RGB_STRING)); |
| range2ColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_RANGE_2_DEFAULT_RGB_STRING)); |
| range3ColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_RANGE_3_DEFAULT_RGB_STRING)); |
| range4ColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_RANGE_4_DEFAULT_RGB_STRING)); |
| range5ColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_RANGE_5_DEFAULT_RGB_STRING)); |
| range6ColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_RANGE_6_DEFAULT_RGB_STRING)); |
| range7ColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_RANGE_7_DEFAULT_RGB_STRING)); |
| range8ColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_RANGE_8_DEFAULT_RGB_STRING)); |
| range9ColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_RANGE_9_DEFAULT_RGB_STRING)); |
| range10ColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_RANGE_10_DEFAULT_RGB_STRING)); |
| |
| maxColorFieldEditor.getColorSelector().setColorValue(StringConverter.asRGB(FOREGROUND_COLOR_MAXIMUM_RELATIVE_VALUE_DEFAULT_RGB_STRING)); |
| } // performDefaults |
| |
| /** |
| * @see org.eclipse.stem.ui.adapters.color.IPreferencesContributer#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) |
| */ |
| public void propertyChange(PropertyChangeEvent event) { |
| if (event.getSource() == useAlphaCompositeBooleanFieldEditor) { |
| boolean rangesEnabled = !useAlphaCompositeBooleanFieldEditor.getBooleanValue(); |
| toggleEnabledRangeColorFileds(rangesEnabled); |
| } |
| } // propertyChange |
| |
| /** |
| * Toggles between enabled and disabled mode of the range color field editors. |
| * @param isEnabled to enable or disable the fields |
| */ |
| private void toggleEnabledRangeColorFileds(boolean isEnabled) { |
| zeroColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| range1ColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| range2ColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| range3ColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| range4ColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| range5ColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| range6ColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| range7ColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| range8ColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| range9ColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| range10ColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| maxColorFieldEditor.setEnabled(isEnabled, relativeValuesPrefGroup); |
| } // toggleEnabledRangeColorFileds |
| |
| /** |
| * @see org.eclipse.stem.ui.adapters.color.IPreferencesContributer#setPreferencePage(org.eclipse.stem.ui.preferences.MapsColorsPreferencePage) |
| */ |
| public void setPreferencePage(MapsColorsPreferencePage preferencePage) { |
| this.preferencesPage = preferencePage; |
| } // setPreferencePage |
| |
| } // RelativeValueColorPreferences |