/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package de.cismet.cismap.commons.gui.piccolo;
import java.awt.Image;
import java.net.URL;
/**
* DOCUMENT ME!
*
* @author thorsten.hell@cismet.de
* @version $Revision$, $Date$
*/
public class FeatureAnnotationSymbol extends FixedPImage implements ParentNodeIsAPFeature {
//~ Static fields/initializers ---------------------------------------------
private static final transient org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(
FeatureAnnotationSymbol.class);
//~ Instance fields --------------------------------------------------------
private FeatureAnnotationSymbol selectedFeatureAnnotationSymbol = null;
//~ Constructors -----------------------------------------------------------
/**
* Creates a new instance of FeatureAnnotationSymbol.
*/
public FeatureAnnotationSymbol() {
super();
}
/**
* Creates a new FeatureAnnotationSymbol object.
*
* @param newImage DOCUMENT ME!
*/
public FeatureAnnotationSymbol(final Image newImage) {
super(newImage);
}
/**
* Creates a new FeatureAnnotationSymbol object.
*
* @param fileName DOCUMENT ME!
*/
public FeatureAnnotationSymbol(final String fileName) {
super(fileName);
}
/**
* Creates a new FeatureAnnotationSymbol object.
*
* @param url DOCUMENT ME!
*/
public FeatureAnnotationSymbol(final URL url) {
super(url);
}
//~ Methods ----------------------------------------------------------------
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public FeatureAnnotationSymbol getSelectedFeatureAnnotationSymbol() {
return selectedFeatureAnnotationSymbol;
}
/**
* DOCUMENT ME!
*
* @param selectedFeatureAnnotationSymbol DOCUMENT ME!
*/
public void setSelectedFeatureAnnotationSymbol(final Image selectedFeatureAnnotationSymbol) {
if (selectedFeatureAnnotationSymbol != null) {
this.selectedFeatureAnnotationSymbol = new FeatureAnnotationSymbol(selectedFeatureAnnotationSymbol);
this.selectedFeatureAnnotationSymbol.setSweetSpotX(this.getSweetSpotX());
this.selectedFeatureAnnotationSymbol.setSweetSpotY(this.getSweetSpotY());
}
}
/**
* DOCUMENT ME!
*
* @param fas DOCUMENT ME!
*/
public void setSelectedFeatureAnnotationSymbol(final FeatureAnnotationSymbol fas) {
this.selectedFeatureAnnotationSymbol = fas;
}
/**
* DOCUMENT ME!
*
* @param unselected DOCUMENT ME!
* @param selected DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public static FeatureAnnotationSymbol newCenteredFeatureAnnotationSymbol(final Image unselected,
final Image selected) {
final FeatureAnnotationSymbol tmpSymbol = new FeatureAnnotationSymbol(unselected);
tmpSymbol.setSelectedFeatureAnnotationSymbol(selected);
tmpSymbol.setSweetSpotX(0.5d);
tmpSymbol.setSweetSpotY(0.5d);
return tmpSymbol;
}
/**
* DOCUMENT ME!
*
* @param unselected DOCUMENT ME!
* @param selected DOCUMENT ME!
* @param sweetSpotX DOCUMENT ME!
* @param sweetSpotY DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public static FeatureAnnotationSymbol newCustomSweetSpotFeatureAnnotationSymbol(final Image unselected,
final Image selected,
final double sweetSpotX,
final double sweetSpotY) {
final FeatureAnnotationSymbol tmpSymbol = new FeatureAnnotationSymbol(unselected);
tmpSymbol.setSelectedFeatureAnnotationSymbol(selected);
tmpSymbol.setSweetSpotX(sweetSpotX);
tmpSymbol.setSweetSpotY(sweetSpotY);
return tmpSymbol;
}
}