org.biojava.bio.gui.sequence
Class CrosshairRenderer

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojava.bio.gui.sequence.CrosshairRenderer
All Implemented Interfaces:
PairwiseSequenceRenderer, Changeable

public class CrosshairRenderer
extends AbstractChangeable
implements PairwiseSequenceRenderer

CrosshairRenderer draws a crosshair, optionally with coordinates. The crosshair is set to a sequence position by a click and then stays there through scrolls/rescales until the next click. See the processMouseEvent documentation for details of responses to various mouse actions.

Since:
1.2
Author:
Keith James

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.biojava.bio.gui.sequence.PairwiseSequenceRenderer
PairwiseSequenceRenderer.PairwiseRendererForwarder
 
Field Summary
static ChangeType OUTLINE
          Constant OUTLINE indicating a change to the crosshair paint.
protected  Point point
          point is the current location (in sequence coordinates) of the crosshair in the X and Y sequences.
protected  Line2D xHair
          xHair is the vertical line positioned along the X-axis.
protected  Line2D yHair
          yHair is the horizontal line positioned along the Y-axis.
 
Constructor Summary
CrosshairRenderer()
          Creates a new CrosshairRenderer in light grey with coordinates displayed.
CrosshairRenderer(Paint outline)
          Creates a new CrosshairRenderer of the specified colour, with coordinates displayed.
 
Method Summary
 void coordinateDisplayOn(boolean display)
          coordinateDisplayOn toggles the display of sequence coordinates.
 Paint getOutline()
          getOutline returns the colour used to draw the lines.
 void paint(Graphics2D g2, PairwiseRenderContext context)
          paints some or all of the information about the sequence pair.
 SequenceViewerEvent processMouseEvent(PairwiseRenderContext context, MouseEvent me, List path)
          processMouseEvent processes any MouseEvents directed to the renderer.
 void setOutline(Paint outline)
          setOutline sets the the colour used to draw the lines.
 
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OUTLINE

public static final ChangeType OUTLINE
Constant OUTLINE indicating a change to the crosshair paint.


xHair

protected Line2D xHair
xHair is the vertical line positioned along the X-axis.


yHair

protected Line2D yHair
yHair is the horizontal line positioned along the Y-axis.


point

protected Point point
point is the current location (in sequence coordinates) of the crosshair in the X and Y sequences.

Constructor Detail

CrosshairRenderer

public CrosshairRenderer()
Creates a new CrosshairRenderer in light grey with coordinates displayed.


CrosshairRenderer

public CrosshairRenderer(Paint outline)
Creates a new CrosshairRenderer of the specified colour, with coordinates displayed.

Parameters:
outline - a Paint.
Method Detail

paint

public void paint(Graphics2D g2,
                  PairwiseRenderContext context)
Description copied from interface: PairwiseSequenceRenderer
paints some or all of the information about the sequence pair.

Specified by:
paint in interface PairwiseSequenceRenderer
Parameters:
g2 - a Graphics2D.
context - a PairwiseRenderContext encapsulating the information to be displayed.

coordinateDisplayOn

public void coordinateDisplayOn(boolean display)
coordinateDisplayOn toggles the display of sequence coordinates.

Parameters:
display - a boolean.

getOutline

public Paint getOutline()
getOutline returns the colour used to draw the lines.

Returns:
a Paint.

setOutline

public void setOutline(Paint outline)
                throws ChangeVetoException
setOutline sets the the colour used to draw the lines.

Parameters:
outline - a Paint.
Throws:
ChangeVetoException - if an error occurs.

processMouseEvent

public SequenceViewerEvent processMouseEvent(PairwiseRenderContext context,
                                             MouseEvent me,
                                             List path)

processMouseEvent processes any MouseEvents directed to the renderer.

Mouse actions are as follows (all are button-1 only):

Specified by:
processMouseEvent in interface PairwiseSequenceRenderer
Parameters:
context - a PairwiseRenderContext.
me - a MouseEvent.
path - a List.
Returns:
a SequenceViewerEvent.