/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package de.cismet.cismap.commons.gui.piccolo.eventlistener; import com.vividsolutions.jts.geom.Geometry; import edu.umd.cs.piccolo.event.PBasicInputEventHandler; import de.cismet.cismap.commons.features.PureNewFeature; import de.cismet.cismap.commons.gui.MappingComponent; import de.cismet.cismap.commons.gui.piccolo.PFeature; import de.cismet.cismap.commons.tools.PFeatureTools; /** * DOCUMENT ME! * * @author thorsten.hell@cismet.de * @version $Revision$, $Date$ */ public class RaisePolygonListener extends PBasicInputEventHandler { //~ Instance fields -------------------------------------------------------- private final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(this.getClass()); private MappingComponent mc = null; //~ Constructors ----------------------------------------------------------- /** * Creates a new instance of RaisePolygonListener. * * @param mc DOCUMENT ME! */ public RaisePolygonListener(final MappingComponent mc) { this.mc = mc; } //~ Methods ---------------------------------------------------------------- @Override public void mouseClicked(final edu.umd.cs.piccolo.event.PInputEvent pInputEvent) { if (log.isDebugEnabled()) { log.debug("RaiseTry1"); // NOI18N } final PFeature o = (PFeature)PFeatureTools.getFirstValidObjectUnderPointer( pInputEvent, new Class[] { PFeature.class }); // if (o!=null&&o.getFeature() instanceof DefaultFeatureServiceFeature&& o.getVisible()==true && // o.getParent()!=null && o.getParent().getVisible()==true) { if ((o != null) && (o.getFeature() != null) && (o.getVisible() == true) && (o.getParent() != null) && (o.getParent().getVisible() == true)) { if (log.isDebugEnabled()) { log.debug("RaiseTry2"); // NOI18N } final PureNewFeature pnf = new PureNewFeature((Geometry)(o.getFeature().getGeometry().clone())); pnf.setEditable(true); mc.getFeatureCollection().addFeature(pnf); } } }