/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
/*
* SimpleClickDetectionListener.java
*
* Created on 28. April 2005, 16:51
*/
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 hell
* @version $Revision$, $Date$
*/
public class SimpleClickDetectionListener extends PBasicInputEventHandler {
//~ Static fields/initializers ---------------------------------------------
public static final String CLICK_DETECTED = "CLICK_DETECTED"; // NOI18N
//~ Instance fields --------------------------------------------------------
PFeature p = null;
//~ Methods ----------------------------------------------------------------
@Override
public void mouseClicked(final edu.umd.cs.piccolo.event.PInputEvent pInputEvent) {
final Object o = PFeatureTools.getFirstValidObjectUnderPointer(pInputEvent, new Class[] { PFeature.class });
if (o instanceof PFeature) {
super.mouseClicked(pInputEvent);
p = (PFeature)(o);
postClickDetected();
} else {
p = null;
}
}
/**
* DOCUMENT ME!
*/
private void postClickDetected() {
final PNotificationCenter pn = PNotificationCenter.defaultCenter();
pn.postNotification(CLICK_DETECTED, this);
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public PFeature getFeatureClickedOn() {
return p;
}
}