|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.ac.starlink.ttools.plot2.NavigationListener<A>
public abstract class NavigationListener<A>
Listener that receives mouse events and uses them in conjunction with a supplied navigator to feed navigation actions to a plot surface.
Constructor Summary | |
---|---|
protected |
NavigationListener()
Constructor. |
Method Summary | |
---|---|
void |
addListeners(Component component)
Convenience method to install this listener on a graphical component. |
abstract Iterable<double[]> |
createDataPosIterable()
Returns an iterable over a sequence of data space positions, which may be required to make sense of a click action. |
abstract Navigator<A> |
getNavigator()
Returns a navigator which is used to convert mouse gestures into navigation actions. |
abstract Surface |
getSurface()
Returns a plotting surface which provides the context for navigation actions. |
protected void |
handleClick(Navigator<A> navigator,
Surface surface,
Point pos,
int ibutt,
Iterable<double[]> dposIt)
Performs the actual work when a mouse click event is detected. |
void |
mouseClicked(MouseEvent evt)
|
void |
mouseDragged(MouseEvent evt)
|
void |
mouseEntered(MouseEvent evt)
|
void |
mouseExited(MouseEvent evt)
|
void |
mouseMoved(MouseEvent evt)
|
void |
mousePressed(MouseEvent evt)
|
void |
mouseReleased(MouseEvent evt)
|
void |
mouseWheelMoved(MouseWheelEvent evt)
|
void |
removeListeners(Component component)
Reverses the effect of addListeners . |
protected abstract void |
setAspect(A aspect)
Receives a new aspect requested by user interface actions in conjunction with this object. |
protected abstract void |
setDecoration(Decoration decoration)
Sets a decoration to display over the plot to indicate navigation actions in progress. |
void |
updateDecoration(Decoration dec,
boolean autoCancel)
Requests a change of the current navigation decoration. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected NavigationListener()
Method Detail |
---|
public abstract Surface getSurface()
public abstract Navigator<A> getNavigator()
public abstract Iterable<double[]> createDataPosIterable()
Navigator.click(uk.ac.starlink.ttools.plot2.Surface, java.awt.Point, int, java.lang.Iterable)
protected abstract void setAspect(A aspect)
aspect
- definition of requested plot surfaceprotected abstract void setDecoration(Decoration decoration)
This method is called by updateDecoration
.
It should not be called directly.
decoration
- navigation decoration, or null for nonepublic void updateDecoration(Decoration dec, boolean autoCancel)
setDecoration(uk.ac.starlink.ttools.plot2.Decoration)
.
The autoCancel
parameter controls whether the decoration
will be cancelled automatically or by hand.
If the caller can guarantee to make a matching call with a null
decoration in the future, autoCancel
may be false,
otherwise it should be true.
dec
- new decorationautoCancel
- if true, decoration will be automatically cancelledpublic void mousePressed(MouseEvent evt)
mousePressed
in interface MouseListener
public void mouseDragged(MouseEvent evt)
mouseDragged
in interface MouseMotionListener
public void mouseReleased(MouseEvent evt)
mouseReleased
in interface MouseListener
public void mouseClicked(MouseEvent evt)
mouseClicked
in interface MouseListener
protected void handleClick(Navigator<A> navigator, Surface surface, Point pos, int ibutt, Iterable<double[]> dposIt)
mouseClicked
.
The default behaviour is to get a corresponding navigation action
from the navigator,
and call setAspect(A)
and updateDecoration(uk.ac.starlink.ttools.plot2.Decoration, boolean)
accordingly.
However, it may be overridden by subclasses.
navigator
- navigatorsurface
- plot surfacepos
- mouse positionibutt
- logical mouse button indexdposIt
- iterable over points if availablepublic void mouseWheelMoved(MouseWheelEvent evt)
mouseWheelMoved
in interface MouseWheelListener
public void mouseMoved(MouseEvent evt)
mouseMoved
in interface MouseMotionListener
public void mouseEntered(MouseEvent evt)
mouseEntered
in interface MouseListener
public void mouseExited(MouseEvent evt)
mouseExited
in interface MouseListener
public void addListeners(Component component)
addMouseListener
,
addMouseMotionListener
and
addMouseWheelListener
.
component
- component to which this object should listenpublic void removeListeners(Component component)
addListeners
.
component
- component to which this listener was previously added
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |