package prefuse.util; import java.awt.event.ComponentEvent; import java.awt.event.ComponentListener; import prefuse.data.Tuple; import prefuse.data.event.ExpressionListener; import prefuse.data.event.TupleSetListener; import prefuse.data.expression.Expression; import prefuse.data.tuple.TupleSet; /** * Convenience listener class that implements ExpressionListener, * TupleSetListener, and ComponentListener and routes all the * callbacks into a generic {@link #update(Object)} method. For the * case of ComponentListener, only the resize event is funneled into * the update method. * * @author <a href="http://jheer.org">jeffrey heer</a> */ public abstract class UpdateListener implements ExpressionListener, TupleSetListener, ComponentListener { /** * Generic update routine triggerred by any of the other callbacks. * @param source a source object, either the Expression, TupleSet, * or Component that triggered this update event. */ public abstract void update(Object source); /** * @see prefuse.data.event.ExpressionListener#expressionChanged(prefuse.data.expression.Expression) */ public void expressionChanged(Expression expr) { update(expr); } /** * @see prefuse.data.event.TupleSetListener#tupleSetChanged(prefuse.data.tuple.TupleSet, prefuse.data.Tuple[], prefuse.data.Tuple[]) */ public void tupleSetChanged(TupleSet tset, Tuple[] added, Tuple[] removed) { update(tset); } /** * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent) */ public void componentResized(ComponentEvent e) { update(e.getSource()); } /** * Does nothing. * @see java.awt.event.ComponentListener#componentHidden(java.awt.event.ComponentEvent) */ public void componentHidden(ComponentEvent e) { // do nothing } /** * Does nothing. * @see java.awt.event.ComponentListener#componentMoved(java.awt.event.ComponentEvent) */ public void componentMoved(ComponentEvent e) { // do nothing } /** * Does nothing. * @see java.awt.event.ComponentListener#componentShown(java.awt.event.ComponentEvent) */ public void componentShown(ComponentEvent e) { // do nothing } } // end of abstract class UpdateListener