/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package de.cismet.cismap.commons.gui.piccolo.eventlistener;
import edu.umd.cs.piccolo.event.PBasicInputEventHandler;
import edu.umd.cs.piccolox.event.PNotificationCenter;
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 JoinPolygonsListener extends PBasicInputEventHandler {
//~ Static fields/initializers ---------------------------------------------
public static final String FEATURE_JOIN_REQUEST_NOTIFICATION = "FEATURE_JOIN_REQUEST_NOTIFICATION"; // NOI18N
//~ Instance fields --------------------------------------------------------
PFeature featureRequestedForJoin = null;
int modifier = -1;
private final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(this.getClass());
//~ Methods ----------------------------------------------------------------
@Override
public void mouseClicked(final edu.umd.cs.piccolo.event.PInputEvent pInputEvent) {
final Object o = PFeatureTools.getFirstValidObjectUnderPointer(pInputEvent, new Class[] { PFeature.class });
modifier = pInputEvent.getModifiers();
if (o instanceof PFeature) {
super.mouseClicked(pInputEvent);
featureRequestedForJoin = (PFeature)(o);
postFeatureJoinRequest();
} else {
featureRequestedForJoin = null;
}
}
/**
* DOCUMENT ME!
*/
private void postFeatureJoinRequest() {
final PNotificationCenter pn = PNotificationCenter.defaultCenter();
pn.postNotification(FEATURE_JOIN_REQUEST_NOTIFICATION, this);
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public PFeature getFeatureRequestedForJoin() {
return featureRequestedForJoin;
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public int getModifier() {
return modifier;
}
}