// ********************************************************************** // // <copyright> // // BBN Technologies // 10 Moulton Street // Cambridge, MA 02138 // (617) 873-8000 // // Copyright (C) BBNT Solutions LLC. All rights reserved. // // </copyright> // ********************************************************************** // // $Source: // /cvs/distapps/openmap/src/openmap/com/bbn/openmap/omGraphics/grid/SlopeGeneratorLoader.java,v // $ // $RCSfile: ColorGeneratorLoader.java,v $ // $Revision: 1.2 $ // $Date: 2005/12/22 18:46:22 $ // $Author: dietrick $ // // ********************************************************************** package com.bbn.openmap.omGraphics.grid; import java.beans.PropertyChangeListener; import java.util.Properties; import com.bbn.openmap.util.ComponentFactory; import com.bbn.openmap.util.Debug; import com.bbn.openmap.util.PropUtils; public class ColorGeneratorLoader extends GeneratorLoader { public final static String ColorsClassProperty = "colorsClass"; public final static String COLORS_PROPERTY = "COLORS"; public final static String DEFAULT_COLORS_CLASS = "com.bbn.openmap.omGraphics.grid.GreyscaleSlopeColors"; protected ElevationColors colors; public ColorGeneratorLoader() { setPrettyName(i18n.get(ColorGeneratorLoader.class, "name", "Color Shading")); //default } public void setColors(ElevationColors cols) { ElevationColors oldColors = colors; colors = cols; if (oldColors != colors) { firePropertyChange(COLORS_PROPERTY, oldColors, colors); } } public ElevationColors getColors() { if (colors == null) { try { colors = (ElevationColors) Class.forName(DEFAULT_COLORS_CLASS) .newInstance(); } catch (InstantiationException ie) { } catch (IllegalAccessException iae) { } catch (ClassNotFoundException cnfe) { } } return colors; } public void setProperties(String prefix, Properties props) { super.setProperties(prefix, props); prefix = PropUtils.getScopedPropertyPrefix(prefix); String colorsClassProperty = props.getProperty(prefix + ColorsClassProperty); if (colorsClassProperty != null) { try { setColors((ElevationColors) ComponentFactory.create(colorsClassProperty)); } catch (ClassCastException cce) { Debug.output("SlopeGeneratorLoader created a " + colorsClassProperty + ", but it's not a ElevationColors object"); } } } public void addPropertyChangeListener(PropertyChangeListener pcl) { super.addPropertyChangeListener(COLORS_PROPERTY, pcl); } public void removePropertyChangeListener(PropertyChangeListener pcl) { super.removePropertyChangeListener(COLORS_PROPERTY, pcl); } }