Package org.biojava.bio.gui.sequence
Class PairwiseOverlayRenderer
- java.lang.Object
-
- org.biojava.utils.AbstractChangeable
-
- org.biojava.bio.gui.sequence.PairwiseOverlayRenderer
-
- All Implemented Interfaces:
Serializable,PairwiseSequenceRenderer,Changeable
public class PairwiseOverlayRenderer extends AbstractChangeable implements PairwiseSequenceRenderer, Serializable
PairwiseOverlayRendererallows a list of otherPairwiseSequenceRenderers to superimpose their output. Operations on the child renderers (rendering, event handling) are carried out in the order in which they were added.- Since:
- 1.2
- Author:
- Keith James, Matthew Pocock
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.biojava.bio.gui.sequence.PairwiseSequenceRenderer
PairwiseSequenceRenderer.PairwiseRendererForwarder
-
-
Field Summary
Fields Modifier and Type Field Description static ChangeTypeRENDERERSConstantRENDERERSindicating a change to the renderers handled by the overlay.
-
Constructor Summary
Constructors Constructor Description PairwiseOverlayRenderer()Creates a new, emptyPairwiseOverlayRenderer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void_addRenderer(PairwiseSequenceRenderer renderer)protected void_removeRenderer(PairwiseSequenceRenderer renderer)voidaddRenderer(PairwiseSequenceRenderer renderer)addRendereradds a renderer.voidclearRenderers()clearRenderersremoves all the renderers.protected ChangeSupportgetChangeSupport(ChangeType ct)Called to retrieve the ChangeSupport for this object.voidpaint(Graphics2D g2, PairwiseRenderContext context)paintapplies all renderers in the order in which they were added.SequenceViewerEventprocessMouseEvent(PairwiseRenderContext context, MouseEvent me, List path)processMouseEventproduces aSequenceViewerEventin response to a mouse gesture.voidremoveRenderer(PairwiseSequenceRenderer renderer)removeRendererremoves a renderer.-
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
-
-
-
-
Field Detail
-
RENDERERS
public static final ChangeType RENDERERS
ConstantRENDERERSindicating a change to the renderers handled by the overlay.
-
-
Constructor Detail
-
PairwiseOverlayRenderer
public PairwiseOverlayRenderer()
Creates a new, emptyPairwiseOverlayRenderer.
-
-
Method Detail
-
addRenderer
public void addRenderer(PairwiseSequenceRenderer renderer) throws ChangeVetoException
addRendereradds a renderer.- Parameters:
renderer- aPairwiseSequenceRenderer.- Throws:
ChangeVetoException- if an error occurs.
-
removeRenderer
public void removeRenderer(PairwiseSequenceRenderer renderer) throws ChangeVetoException
removeRendererremoves a renderer.- Parameters:
renderer- aPairwiseSequenceRenderer.- Throws:
ChangeVetoException- if an error occurs.
-
clearRenderers
public void clearRenderers() throws ChangeVetoException
clearRenderersremoves all the renderers.- Throws:
ChangeVetoException- if an error occurs.
-
paint
public void paint(Graphics2D g2, PairwiseRenderContext context)
paintapplies all renderers in the order in which they were added.- Specified by:
paintin interfacePairwiseSequenceRenderer- Parameters:
g2- aGraphics2D.context- aPairwiseRenderContext.
-
getChangeSupport
protected ChangeSupport getChangeSupport(ChangeType ct)
Description copied from class:AbstractChangeableCalled to retrieve the ChangeSupport for this object.Your implementation of this method should have the following structure:
It is usual for the forwarding listeners (someForwarder in this example) to be transient and lazily instantiated. Be sure to register & unregister the forwarder in the code that does the ChangeEvent handling in setter methods.ChangeSupport cs = super.getChangeSupport(ct); if(someForwarder == null && ct.isMatching(SomeInterface.SomeChangeType)) { someForwarder = new ChangeForwarder(... this.stateVariable.addChangeListener(someForwarder, VariableInterface.AChange); } return cs;- Overrides:
getChangeSupportin classAbstractChangeable
-
processMouseEvent
public SequenceViewerEvent processMouseEvent(PairwiseRenderContext context, MouseEvent me, List path)
processMouseEventproduces aSequenceViewerEventin response to a mouse gesture. The list of renderers are probed in the order in which they were added and the first renderer to accept the event will return.- Specified by:
processMouseEventin interfacePairwiseSequenceRenderer- Parameters:
context- aPairwiseRenderContext.me- aMouseEventthat caused the request.path- aListofPairwiseSequenceRendererinstances passed through so far.- Returns:
- a
SequenceViewerEventencapsulating the mouse gesture.
-
_addRenderer
protected void _addRenderer(PairwiseSequenceRenderer renderer)
-
_removeRenderer
protected void _removeRenderer(PairwiseSequenceRenderer renderer)
-
-