/*
 * $Id: ContourLineAttribute.java,v 1.13 2001/12/13 19:07:04 dwd Exp $
 *
 * This software is provided by NOAA for full, free and open release.  It is
 * understood by the recipient/user that NOAA assumes no liability for any
 * errors contained in the code.  Although this software is released without
 * conditions or restrictions in its use, it is expected that appropriate
 * credit be given to its author and to the National Oceanic and Atmospheric
 * Administration should the software be included by the recipient as an
 * element in other product development.
 */

package  sgtplot;

import  java.awt.*;

/**
 * Sets the rendering style for a contour line.
 * Color, width, and dash characteristics are
 * ContourLineAttribute properties.
 *
 * @author Donald Denbo
 * @version $Revision: 1.13 $, $Date: 2001/12/13 19:07:04 $
 * @since 2.0
 * @see LineCartesianRenderer
 * @see ContourLevels
 */
public class ContourLineAttribute extends LineAttribute {
  //
  private String labelText_;
  private boolean labelEnabled_ = false;
  private Color labelColor_;
  private Font labelFont_;
  private double labelHeightP_;
  private String labelFormat_;
  private boolean autoLabel_ = true;
  //
  private boolean labelColorOverridden_ = false;
  private boolean labelEnabledOverridden_ = false;
  private boolean labelHeightPOverridden_ = false;
  private boolean labelFontOverridden_ = false;
  private boolean labelFormatOverridden_ = false;
  //
  private boolean colorOverridden_ = false;
  private boolean styleOverridden_ = false;
  private boolean widthOverridden_ = false;
  private boolean dashArrayOverridden_ = false;
  private boolean dashPhaseOverridden_ = false;
  private boolean capStyleOverridden_ = false;
  private boolean miterStyleOverridden_ = false;
  private boolean miterLimitOverridden_ = false;
  /**
   * Default constructor.
   */
  public ContourLineAttribute() {
    super();
    init();
  }
  /**
   * Constructor using default Color. Default are:
   * 
   *   labelColor = Color.black
   * labelHeightP = 0.16
   *    labelFont = null
   *  labelFormat = ""
   * 
*/ public ContourLineAttribute(int style) { super(style); init(); } /** * ContourLineAttribute constructor. * * @param style line style * @param color line Color * @see java.awt.Color **/ public ContourLineAttribute(int style, Color color) { super(style, color); init(); } /** * ContourLineAttribute constructor for plot marks. * * @param style line sytle * @param mark plot mark * @param color line Color **/ public ContourLineAttribute(int style, int mark, Color color) { super(style, mark, color); init(); } private void init() { labelColor_ = Color.black; labelHeightP_ = 0.06; labelFont_ = new Font("Arial", Font.PLAIN, 12); labelFormat_ = ""; } /** * Copy the ContourLineAttribute. * * @return new ContourLineAttribute */ public Object copy() { ContourLineAttribute newLine; try { newLine = (ContourLineAttribute)clone(); } catch (CloneNotSupportedException e) { newLine = new ContourLineAttribute(); } return newLine; } /** * Set the text to be used for labelling the contour line. *
Property Change: labelText. */ public void setLabelText(String label) { if(labelText_ == null || !labelText_.equals(label)) { String tempOld = labelText_; labelText_ = label; labelEnabled_ = !(labelText_ == null); changes_.firePropertyChange("labelText", tempOld, labelText_); } } /** * Get the label text. */ public String getLabelText() { return labelText_; } /** * Enable/disable the contour label. *
Property Change: labelEnabled. */ public void setLabelEnabled(boolean sle) { if(labelEnabled_ != sle) { labelEnabledOverridden_ = true; Boolean tempOld = new Boolean(labelEnabled_); labelEnabled_ = sle; changes_.firePropertyChange("labelEnabled", tempOld, new Boolean(labelEnabled_)); } } /** * Test if the contour label is enabled. */ public boolean isLabelEnabled() { return labelEnabled_; } /** * Change the color of the contour label *
Property Change: labelColor. */ public void setLabelColor(Color color) { if(!labelColor_.equals(color)) { labelColorOverridden_ = true; Color tempOld = labelColor_; labelColor_ = color; changes_.firePropertyChange("labelColor", tempOld, labelColor_); } } /** * Get the color of the contour label */ public Color getLabelColor() { return labelColor_; } /** * Set the label height in physical units *
Property Change: labelHeightP. */ public void setLabelHeightP(double height) { if(labelHeightP_ != height) { labelHeightPOverridden_ = true; Double tempOld = new Double(labelHeightP_); labelHeightP_ = height; changes_.firePropertyChange("labelHeightP", tempOld, new Double(labelHeightP_)); } } /** * Get the label height in physical units */ public double getLabelHeightP() { return labelHeightP_; } /** * Set the contour label font. *
Property Change: labelFont. */ public void setLabelFont(Font font) { if(labelFont_ == null || !labelFont_.equals(font)) { labelFontOverridden_ = true; Font tempOld = labelFont_; labelFont_ = font; changes_.firePropertyChange("labelFont", tempOld, labelFont_); } } /** * Get the contour label font */ public Font getLabelFont() { return labelFont_; } /** * Set the format for the contour label. The format is used with * Format. *
Property Change: labelFormat. * @see Format */ public void setLabelFormat(String format) { if(!labelFormat_.equals(format)) { labelFormatOverridden_ = true; String tempOld = labelFormat_; labelFormat_ = format; changes_.firePropertyChange("labelFormat", tempOld, labelFormat_); } } /** * Get the contour label format */ public String getLabelFormat() { return labelFormat_; } /** * Create contour label from value and format. *
Property Change: autoLabel. */ public void setAutoLabel(boolean auto) { if(autoLabel_ != auto) { Boolean tempOld = new Boolean(autoLabel_); autoLabel_ = auto; changes_.firePropertyChange("autoLabel", tempOld, new Boolean(autoLabel_)); } } /** * Is auto labelling on? */ public boolean isAutoLabel() { return autoLabel_; } /** * Test if labelEnabled is overridden by * DefaultContourLineAttribute. */ public boolean isLabelEnabledOverridden() { return labelEnabledOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * labelEnabled. *
Property Change: labelEnabledOverridden. * * @see DefaultContourLineAttribute */ public void setLabelEnabledOverridden(boolean override) { if(labelEnabledOverridden_ != override) { Boolean tempOld = new Boolean(labelEnabledOverridden_); labelEnabledOverridden_ = override; changes_.firePropertyChange("labelEnabledOverridden", tempOld, new Boolean(labelEnabledOverridden_)); } } /** * Test if labelColor is overridden by * DefaultContourLineAttribute. */ public boolean isLabelColorOverridden() { return labelColorOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * labelColor. *
Property Change: labelColorOverridden. * * @see DefaultContourLineAttribute */ public void setLabelColorOverridden(boolean override) { if(labelColorOverridden_ != override) { Boolean tempOld = new Boolean(labelColorOverridden_); labelColorOverridden_ = override; changes_.firePropertyChange("labelColorOverridden", tempOld, new Boolean(labelColorOverridden_)); } } /** * Test if labelHeightP is overridden by * DefaultContourLineAttribute. */ public boolean isLabelHeightPOverridden() { return labelHeightPOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * labelHeightP. *
Property Change: labelHeightPOverridden. * * @see DefaultContourLineAttribute */ public void setLabelHeightPOverridden(boolean override) { if(labelHeightPOverridden_ != override) { Boolean tempOld = new Boolean(labelHeightPOverridden_); labelHeightPOverridden_ = override; changes_.firePropertyChange("labelHeightPOverridden", tempOld, new Boolean(labelHeightPOverridden_)); } } /** * Test if labelFont is overridden by * DefaultContourLineAttribute. */ public boolean isLabelFontOverridden() { return labelFontOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * labelFont. *
Property Change: labelFontOverridden. * * @see DefaultContourLineAttribute */ public void setLabelFontOverridden(boolean override) { if(labelFontOverridden_ != override) { Boolean tempOld = new Boolean(labelFontOverridden_); labelFontOverridden_ = override; changes_.firePropertyChange("labelFontOverridden", tempOld, new Boolean(labelFontOverridden_)); } } /** * Test if labelFormat is overridden by * DefaultContourLineAttribute. */ public boolean isLabelFormatOverridden() { return labelFormatOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * labelFormat. *
Property Change: labelFormatOverridden. * * @see DefaultContourLineAttribute */ public void setLabelFormatOverridden(boolean override) { if(labelFormatOverridden_ != override) { Boolean tempOld = new Boolean(labelFormatOverridden_); labelFormatOverridden_ = override; changes_.firePropertyChange("labelFormatOverridden", tempOld, new Boolean(labelFormatOverridden_)); } } public void setDashArray(float[] dashes) { dashArrayOverridden_ = true; super.setDashArray(dashes); } /** * Test if dashArray is overridden by * DefaultContourLineAttribute. */ public boolean isDashArrayOverridden() { return dashArrayOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * dashArray. *
Property Change: dashArrayOverridden. * * @see DefaultContourLineAttribute */ public void setDashArrayOverridden(boolean override) { if(dashArrayOverridden_ != override) { Boolean tempOld = new Boolean(dashArrayOverridden_); dashArrayOverridden_ = override; changes_.firePropertyChange("dashArrayOverridden", tempOld, new Boolean(dashArrayOverridden_)); } } public void setDashPhase(float phase) { dashPhaseOverridden_ = true; super.setDashPhase(phase); } /** * Test if dashPhase is overridden by * DefaultContourLineAttribute. */ public boolean isDashPhaseOverridden() { return dashPhaseOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * dashPhase. *
Property Change: dashPhaseOverridden. * * @see DefaultContourLineAttribute */ public void setDashPhaseOverridden(boolean override) { if(dashPhaseOverridden_ != override) { Boolean tempOld = new Boolean(dashPhaseOverridden_); dashPhaseOverridden_ = override; changes_.firePropertyChange("dashPhaseOverridden", tempOld, new Boolean(dashPhaseOverridden_)); } } public void setStyle(int st) { if(st == MARK || st == MARK_LINE) return; styleOverridden_ = true; super.setStyle(st); } /** * Test if style is overridden by * DefaultContourLineAttribute. */ public boolean isStyleOverridden() { return styleOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * style. *
Property Change: styleOverridden. * * @see DefaultContourLineAttribute */ public void setStyleOverridden(boolean override) { if(styleOverridden_ != override) { Boolean tempOld = new Boolean(styleOverridden_); styleOverridden_ = override; changes_.firePropertyChange("styleOverridden", tempOld, new Boolean(styleOverridden_)); } } public void setColor(Color c) { colorOverridden_ = true; super.setColor(c); } /** * Test if color is overridden by * DefaultContourLineAttribute. */ public boolean isColorOverridden() { return colorOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * color. *
Property Change: colorOverridden. * * @see DefaultContourLineAttribute */ public void setColorOverridden(boolean override) { if(colorOverridden_ != override) { Boolean tempOld = new Boolean(colorOverridden_); colorOverridden_ = override; changes_.firePropertyChange("colorOverridden", tempOld, new Boolean(colorOverridden_)); } } public void setWidth(float t) { widthOverridden_ = true; super.setWidth(t); } /** * Test if width is overridden by * DefaultContourLineAttribute. */ public boolean isWidthOverridden() { return widthOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * width. *
Property Change: widthOverridden. * * @see DefaultContourLineAttribute */ public void setWidthOverridden(boolean override) { if(widthOverridden_ != override) { Boolean tempOld = new Boolean(widthOverridden_); widthOverridden_ = override; changes_.firePropertyChange("widthOverridden", tempOld, new Boolean(widthOverridden_)); } } public void setCapStyle(int style) { capStyleOverridden_ = true; super.setCapStyle(style); } /** * Test if cap style is overridden by * DefaultContourLineAttribute. */ public boolean isCapStyleOverridden() { return capStyleOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * cap style. *
Property Change: capStyleOverridden. * * @see DefaultContourLineAttribute */ public void setCapStyleOverridden(boolean override) { if(capStyleOverridden_ != override) { Boolean tempOld = new Boolean(capStyleOverridden_); capStyleOverridden_ = override; changes_.firePropertyChange("capStyleOverridden", tempOld, new Boolean(capStyleOverridden_)); } } public void setMiterStyle(int style) { miterStyleOverridden_ = true; super.setMiterStyle(style); } /** * Test if miter style is overridden by * DefaultContourLineAttribute. */ public boolean isMiterStyleOverridden() { return miterStyleOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * miter style. *
Property Change: miterStyleOverridden. * * @see DefaultContourLineAttribute */ public void setMiterStyleOverridden(boolean override) { if(miterStyleOverridden_ != override) { Boolean tempOld = new Boolean(miterStyleOverridden_); miterStyleOverridden_ = override; changes_.firePropertyChange("miterStyleOverridden", tempOld, new Boolean(miterStyleOverridden_)); } } public void setMiterLimit(float t) { miterLimitOverridden_ = true; super.setMiterLimit(t); } /** * Test if miter limit is overridden by * DefaultContourLineAttribute. */ public boolean isMiterLimitOverridden() { return miterLimitOverridden_; } /** * Enable/disable having DefaultContourLineAttribute * override ContourLineAttribute behavior of * miter limit. *
Property Change: miterLimitOverridden. * * @see DefaultContourLineAttribute */ public void setMiterLimitOverridden(boolean override) { if(miterLimitOverridden_ != override) { Boolean tempOld = new Boolean(miterLimitOverridden_); miterLimitOverridden_ = override; changes_.firePropertyChange("miterLimitOverridden", tempOld, new Boolean(miterLimitOverridden_)); } } public String toString() { Color col = getColor(); int style = getStyle(); String sstyle; if(style == SOLID) { sstyle = "SOLID"; } else if(style == DASHED) { sstyle = "DASHED"; } else if(style == HEAVY) { sstyle = "HEAVY"; } else if(style == HIGHLIGHT) { sstyle = "HIGHLIGHT"; } else if(style == MARK) { sstyle = "MARK - unsupported"; } else if(style == MARK_LINE) { sstyle = "MARK_LINE - unsupported"; } else if(style == STROKE) { sstyle = "STROKE"; } else { sstyle = ""; } String scol = "[" + col.getRed() + "," + col.getGreen() + "," + col.getBlue() + "]"; return sstyle + ", " + scol + ", labelEnabled=" + labelEnabled_; } }

Ads help maintain this website.