Class PairwiseSequencePanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.biojava.bio.gui.sequence.PairwiseSequencePanel
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,SwingConstants
,PairwiseRenderContext
,SequenceRenderContext
,Changeable
public class PairwiseSequencePanel extends JComponent implements PairwiseRenderContext, Changeable, Serializable
A
PairwiseSequencePanel
is a panel that displays a pair of sequences; one sequence (the primary) may be either left-to-right (HORIZONTAL) or from top-to-bottom (VERTICAL). The other sequence (secondary) will then occupy the remaining direction. It has an associated scale which is the number of pixels per symbol and applies to both sequences. The leading and trailing borders apply to the primary sequence only.The primary purpose of this component is to provide a means for representing graphically comparisons between two sequences. This could be anything from traditional dotplots (or variants created with lines) to a more complex layered plot involving superimposed renderers.
Each sequence has a translation which is the number of
Symbol
s to skip before rendering starts. In order to produce a scrolling effect, thesetSymbolTranslation
orsetSecondarySymbolTranslation
method may be hooked up to anAdjustable
such asJScrollBar
or to an event listener.The exact number of
Symbol
s rendered in each sequence depends on the dimensions of the panel and the scale. Resizing the panel will cause the number ofSymbol
s rendered to change accordingly.The panel will fill its background to the
Color
defined by thesetBackground()
method provided that it has been defined as opaque usingsetOpaque()
.The change event handling code is based on the original panel and other BioJava components by Matthew and Thomas.
- Since:
- 1.2
- Author:
- Keith James, Matthew Pocock
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from interface org.biojava.bio.gui.sequence.SequenceRenderContext
SequenceRenderContext.Border
-
-
Field Summary
Fields Modifier and Type Field Description static ChangeType
RENDERER
ConstantRENDERER
is aChangeType
which indicates a change to the renderer, requiring a layout update.static ChangeType
TRANSLATION
ConstantTRANSLATION
is aChangeType
which indicates a change to the translation, requiring a paint update.-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from interface org.biojava.bio.gui.sequence.SequenceRenderContext
LAYOUT, REPAINT
-
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
-
Constructor Summary
Constructors Constructor Description PairwiseSequencePanel()
Creates a newPairwiseSequencePanel
with the default settings (primary sequence direction HORIZONTAL, scale 10.0 pixels per symbol, symbol translation 0, secondary symbol translation 0, leading border 0.0, trailing border 0.0, 12 point sanserif font).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChangeListener(ChangeListener cl)
addChangeListener
adds a listener for all types of change.void
addChangeListener(ChangeListener cl, ChangeType ct)
addChangeListener
adds a listener for specific types of change.void
addSequenceViewerListener(SequenceViewerListener svl)
addSequenceViewerListener
adds a listener for mouse clickSequenceViewerEvent
s.void
addSequenceViewerMotionListener(SequenceViewerMotionListener svml)
addSequenceViewerMotionListener
adds a listener for mouse motionSequenceViewerEvent
s.protected ChangeSupport
getChangeSupport(ChangeType ct)
getChangeSupport
lazily instantiates a helper for change listeners.int
getDirection()
getDirection
returns the direction in which this context expects the sequence to be rendered - HORIZONTAL or VERTICAL.FeatureHolder
getFeatures()
getFeatures
returns all of theFeature
s belonging to the currently renderedSequence
.SequenceRenderContext.Border
getLeadingBorder()
getLeadingBorder
returns the leading border of the primary sequence.RangeLocation
getRange()
getRange
returns aRangeLocation
representing the region of the sequence currently being rendered.PairwiseSequenceRenderer
getRenderer()
getRenderer
returns the currentPairwiseSequenceRenderer
.RenderingHints
getRenderingHints()
getRenderingHints
returns theRenderingHints
currently being used by theGraphics2D
instances of delegate renderers.double
getScale()
getScale
returns the scale in pixels perSymbol
.int
getSecondaryDirection()
getSecondaryDirection
returns the direction in which this context expects the secondary sequence to be rendered - HORIZONTAL or VERTICAL.FeatureHolder
getSecondaryFeatures()
getSecondaryFeatures
returns all of theFeature
s belonging to the currently rendered secondarySequence
.RangeLocation
getSecondaryRange()
getSecondaryRange
returns aRangeLocation
representing the region of the secondary sequence currently being rendered.Sequence
getSecondarySequence()
getSecondarySequence
returns the entire secondarySequence
currently being rendered.SymbolList
getSecondarySymbols()
getSecondarySymbols
returns all of theSymbol
s belonging to the currently rendered secondarySequence
.int
getSecondarySymbolTranslation()
getSecondarySymbolTranslation
returns the current translation inSymbol
s which will be applied when rendering.Sequence
getSequence()
getSequence
returns the entireSequence
currently being rendered.SymbolList
getSymbols()
getSymbols
returns all of theSymbol
s belonging to the currently renderedSequence
.int
getSymbolTranslation()
getSymbolTranslation
returns the current translation inSymbol
s which will be applied when rendering.SequenceRenderContext.Border
getTrailingBorder()
getTrailingBorder
returns the trailing border of the primary sequence.int
getVisibleSecondarySymbolCount()
getVisibleSecondarySymbolCount
returns the maximum number of secondarySymbol
s which can be rendered in the visible area (excluding all borders) of thePairwiseSequencePanel
at the current scale.int
getVisibleSymbolCount()
getVisibleSymbolCount
returns the maximum number ofSymbol
s which can be rendered in the visible area (excluding all borders) of thePairwiseSequencePanel
at the current scale.int
graphicsToSecondarySequence(double graphicsPos)
graphicsToSecondarySequence
converts a graphical position to a secondary sequence index.int
graphicsToSecondarySequence(Point point)
graphicsToSecondarySequence
converts a graphical position to a secondary sequence index.int
graphicsToSequence(double graphicsPos)
graphicsToSequence
converts a graphical position to a sequence index.int
graphicsToSequence(Point2D point)
graphicsToSequence
converts a graphical position to a sequence index.protected boolean
hasListeners()
hasListeners
returns true if there are active listeners for BioJava events.protected boolean
isActive()
isActive
returns true if both theSequence
s to be rendered and thePairwiseHomologyRenderer
are not null.boolean
isUnchanging(ChangeType ct)
A particular ChangeType can never be raised by this Changeable.void
paintComponent(Graphics g)
void
removeChangeListener(ChangeListener cl)
removeChangeListener
removes a listener.void
removeChangeListener(ChangeListener cl, ChangeType ct)
removeChangeListener
removes a listener.void
removeSequenceViewerListener(SequenceViewerListener svl)
removeSequenceViewerListener
removes a listener for mouse clickSequenceViewerEvent
s.void
removeSequenceViewerMotionListener(SequenceViewerMotionListener svml)
addSequenceViewerMotionListener
removes a listener for mouse motionSequenceViewerEvent
s.void
resizeAndValidate()
resizeAndValidate
sets the minimum, preferred and maximum sizes of the component according to the current visible symbol count.double
secondarySequenceToGraphics(int sequencePos)
secondarySequenceToGraphics
converts a sequence index to a graphical position.double
sequenceToGraphics(int sequencePos)
sequenceToGraphics
converts a sequence index to a graphical position.void
setDirection(int direction)
setDirection
sets the direction in which this context will render the sequence - HORIZONTAL or VERTICAL.void
setRenderer(PairwiseSequenceRenderer renderer)
setRenderer
sets the currentPairwiseSequenceRenderer
.void
setRenderingHints(RenderingHints hints)
setRenderingHints
sets theRenderingHints
which will be used by theGraphics2D
instances of delegate renderers.void
setScale(double scale)
setScale
sets the scale in pixels perSymbol
.void
setSecondarySequence(Sequence sequence)
setSecondarySequence
sets the secondarySequence
to be rendered.void
setSecondarySymbolTranslation(int translation)
setSecondarySymbolTranslation
sets the translation inSymbol
s which will be applied when rendering.void
setSequence(Sequence sequence)
setSequence
sets theSequence
to be rendered.void
setSymbolTranslation(int translation)
setSymbolTranslation
sets the translation inSymbol
s which will be applied when rendering.-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.biojava.bio.gui.sequence.SequenceRenderContext
getFont
-
-
-
-
Field Detail
-
RENDERER
public static final ChangeType RENDERER
ConstantRENDERER
is aChangeType
which indicates a change to the renderer, requiring a layout update.
-
TRANSLATION
public static final ChangeType TRANSLATION
ConstantTRANSLATION
is aChangeType
which indicates a change to the translation, requiring a paint update.
-
-
Constructor Detail
-
PairwiseSequencePanel
public PairwiseSequencePanel()
Creates a newPairwiseSequencePanel
with the default settings (primary sequence direction HORIZONTAL, scale 10.0 pixels per symbol, symbol translation 0, secondary symbol translation 0, leading border 0.0, trailing border 0.0, 12 point sanserif font).
-
-
Method Detail
-
getSequence
public Sequence getSequence()
getSequence
returns the entireSequence
currently being rendered.- Returns:
- a
Sequence
.
-
setSequence
public void setSequence(Sequence sequence)
setSequence
sets theSequence
to be rendered.- Parameters:
sequence
- aSequence
.
-
getSecondarySequence
public Sequence getSecondarySequence()
getSecondarySequence
returns the entire secondarySequence
currently being rendered.- Returns:
- a
Sequence
.
-
setSecondarySequence
public void setSecondarySequence(Sequence sequence)
setSecondarySequence
sets the secondarySequence
to be rendered.- Parameters:
sequence
- aSequence
.
-
getSymbols
public SymbolList getSymbols()
getSymbols
returns all of theSymbol
s belonging to the currently renderedSequence
.- Specified by:
getSymbols
in interfaceSequenceRenderContext
- Returns:
- a
SymbolList
.
-
getSecondarySymbols
public SymbolList getSecondarySymbols()
getSecondarySymbols
returns all of theSymbol
s belonging to the currently rendered secondarySequence
.- Specified by:
getSecondarySymbols
in interfacePairwiseRenderContext
- Returns:
- a
SymbolList
.
-
getFeatures
public FeatureHolder getFeatures()
getFeatures
returns all of theFeature
s belonging to the currently renderedSequence
.- Specified by:
getFeatures
in interfaceSequenceRenderContext
- Returns:
- a
FeatureHolder
.
-
getSecondaryFeatures
public FeatureHolder getSecondaryFeatures()
getSecondaryFeatures
returns all of theFeature
s belonging to the currently rendered secondarySequence
.- Specified by:
getSecondaryFeatures
in interfacePairwiseRenderContext
- Returns:
- a
FeatureHolder
.
-
getRange
public RangeLocation getRange()
getRange
returns aRangeLocation
representing the region of the sequence currently being rendered. This is calculated from the size of thePairwiseSequencePanel
, the current rendering translation and the current scale. The value will therefore change when thePairwiseSequencePanel
is resized or "scrolled" by changing the translation.- Specified by:
getRange
in interfaceSequenceRenderContext
- Returns:
- a
RangeLocation
.
-
getSecondaryRange
public RangeLocation getSecondaryRange()
getSecondaryRange
returns aRangeLocation
representing the region of the secondary sequence currently being rendered. This is calculated from the size of thePairwiseSequencePanel
, the current rendering translation and the current scale. The value will therefore change when thePairwiseSequencePanel
is resized or "scrolled" by changing the translation.- Specified by:
getSecondaryRange
in interfacePairwiseRenderContext
- Returns:
- a
RangeLocation
.
-
getDirection
public int getDirection()
getDirection
returns the direction in which this context expects the sequence to be rendered - HORIZONTAL or VERTICAL.- Specified by:
getDirection
in interfaceSequenceRenderContext
- Returns:
- an
int
.
-
setDirection
public void setDirection(int direction) throws IllegalArgumentException
setDirection
sets the direction in which this context will render the sequence - HORIZONTAL or VERTICAL.- Parameters:
direction
- anint
.- Throws:
IllegalArgumentException
- if an invalid direction is used.
-
getSecondaryDirection
public int getSecondaryDirection()
getSecondaryDirection
returns the direction in which this context expects the secondary sequence to be rendered - HORIZONTAL or VERTICAL.- Specified by:
getSecondaryDirection
in interfacePairwiseRenderContext
- Returns:
- an
int
.
-
getScale
public double getScale()
getScale
returns the scale in pixels perSymbol
.- Specified by:
getScale
in interfaceSequenceRenderContext
- Returns:
- a
double
.
-
setScale
public void setScale(double scale)
setScale
sets the scale in pixels perSymbol
.- Parameters:
scale
- adouble
.
-
getSymbolTranslation
public int getSymbolTranslation()
getSymbolTranslation
returns the current translation inSymbol
s which will be applied when rendering. The sequence will be rendered starting at this translation. Values may be from 0 to the length of the rendered sequence.- Returns:
- an
int
.
-
setSymbolTranslation
public void setSymbolTranslation(int translation) throws IndexOutOfBoundsException
setSymbolTranslation
sets the translation inSymbol
s which will be applied when rendering. The sequence will be rendered starting at that translation. Values may be from 0 to the length of the rendered sequence.- Parameters:
translation
- anint
.- Throws:
IndexOutOfBoundsException
- if the translation is greater than the sequence length.
-
getSecondarySymbolTranslation
public int getSecondarySymbolTranslation()
getSecondarySymbolTranslation
returns the current translation inSymbol
s which will be applied when rendering. The secondary sequence will be rendered starting at this translation. Values may be from 0 to the length of the rendered sequence.- Returns:
- an
int
.
-
setSecondarySymbolTranslation
public void setSecondarySymbolTranslation(int translation) throws IndexOutOfBoundsException
setSecondarySymbolTranslation
sets the translation inSymbol
s which will be applied when rendering. The secondary sequence will be rendered starting at that translation. Values may be from 0 to the length of the rendered sequence.- Parameters:
translation
- anint
.- Throws:
IndexOutOfBoundsException
- if the translation is greater than the sequence length.
-
getLeadingBorder
public SequenceRenderContext.Border getLeadingBorder()
getLeadingBorder
returns the leading border of the primary sequence.- Specified by:
getLeadingBorder
in interfaceSequenceRenderContext
- Returns:
- a
SequenceRenderContext.Border
.
-
getTrailingBorder
public SequenceRenderContext.Border getTrailingBorder()
getTrailingBorder
returns the trailing border of the primary sequence.- Specified by:
getTrailingBorder
in interfaceSequenceRenderContext
- Returns:
- a
SequenceRenderContext.Border
.
-
getRenderer
public PairwiseSequenceRenderer getRenderer()
getRenderer
returns the currentPairwiseSequenceRenderer
.- Returns:
- a
PairwiseSequenceRenderer
.
-
setRenderer
public void setRenderer(PairwiseSequenceRenderer renderer) throws ChangeVetoException
setRenderer
sets the currentPairwiseSequenceRenderer
.- Throws:
ChangeVetoException
-
getRenderingHints
public RenderingHints getRenderingHints()
getRenderingHints
returns theRenderingHints
currently being used by theGraphics2D
instances of delegate renderers. If none is set, the constructor creates one with a nullMap
.- Returns:
- a
RenderingHints
.
-
setRenderingHints
public void setRenderingHints(RenderingHints hints)
setRenderingHints
sets theRenderingHints
which will be used by theGraphics2D
instances of delegate renderers.- Parameters:
hints
- aRenderingHints
.
-
sequenceToGraphics
public double sequenceToGraphics(int sequencePos)
sequenceToGraphics
converts a sequence index to a graphical position.- Specified by:
sequenceToGraphics
in interfaceSequenceRenderContext
- Parameters:
sequencePos
- anint
.- Returns:
- a
double
.
-
secondarySequenceToGraphics
public double secondarySequenceToGraphics(int sequencePos)
secondarySequenceToGraphics
converts a sequence index to a graphical position.- Specified by:
secondarySequenceToGraphics
in interfacePairwiseRenderContext
- Parameters:
sequencePos
- anint
.- Returns:
- a
double
.
-
graphicsToSequence
public int graphicsToSequence(double graphicsPos)
graphicsToSequence
converts a graphical position to a sequence index.- Specified by:
graphicsToSequence
in interfaceSequenceRenderContext
- Parameters:
graphicsPos
- adouble
.- Returns:
- an
int
.
-
graphicsToSequence
public int graphicsToSequence(Point2D point)
graphicsToSequence
converts a graphical position to a sequence index.- Specified by:
graphicsToSequence
in interfaceSequenceRenderContext
- Parameters:
point
- a graphic position.- Returns:
- an
int
.
-
graphicsToSecondarySequence
public int graphicsToSecondarySequence(double graphicsPos)
graphicsToSecondarySequence
converts a graphical position to a secondary sequence index.- Specified by:
graphicsToSecondarySequence
in interfacePairwiseRenderContext
- Parameters:
graphicsPos
- adouble
.- Returns:
- an
int
.
-
graphicsToSecondarySequence
public int graphicsToSecondarySequence(Point point)
graphicsToSecondarySequence
converts a graphical position to a secondary sequence index.- Specified by:
graphicsToSecondarySequence
in interfacePairwiseRenderContext
- Parameters:
point
- aPoint
.- Returns:
- an
int
.
-
getVisibleSymbolCount
public int getVisibleSymbolCount()
getVisibleSymbolCount
returns the maximum number ofSymbol
s which can be rendered in the visible area (excluding all borders) of thePairwiseSequencePanel
at the current scale. Note that if the translation is greater than 0, the actual number ofSymbol
s rendered will be less.- Returns:
- an
int
.
-
getVisibleSecondarySymbolCount
public int getVisibleSecondarySymbolCount()
getVisibleSecondarySymbolCount
returns the maximum number of secondarySymbol
s which can be rendered in the visible area (excluding all borders) of thePairwiseSequencePanel
at the current scale. Note that if the translation is greater than 0, the actual number ofSymbol
s rendered will be less.- Returns:
- an
int
.
-
paintComponent
public void paintComponent(Graphics g)
- Overrides:
paintComponent
in classJComponent
-
resizeAndValidate
public void resizeAndValidate()
resizeAndValidate
sets the minimum, preferred and maximum sizes of the component according to the current visible symbol count.
-
addChangeListener
public void addChangeListener(ChangeListener cl)
addChangeListener
adds a listener for all types of change.- Specified by:
addChangeListener
in interfaceChangeable
- Parameters:
cl
- aChangeListener
.
-
addChangeListener
public void addChangeListener(ChangeListener cl, ChangeType ct)
addChangeListener
adds a listener for specific types of change.- Specified by:
addChangeListener
in interfaceChangeable
- Parameters:
cl
- aChangeListener
.ct
- aChangeType
.
-
removeChangeListener
public void removeChangeListener(ChangeListener cl)
removeChangeListener
removes a listener.- Specified by:
removeChangeListener
in interfaceChangeable
- Parameters:
cl
- aChangeListener
.
-
removeChangeListener
public void removeChangeListener(ChangeListener cl, ChangeType ct)
removeChangeListener
removes a listener.- Specified by:
removeChangeListener
in interfaceChangeable
- Parameters:
cl
- aChangeListener
.ct
- aChangeType
.
-
isUnchanging
public boolean isUnchanging(ChangeType ct)
Description copied from interface:Changeable
A particular ChangeType can never be raised by this Changeable.
If this returns true, then it is guaranteed that change events of this type (and all child types) can never under any circumstances be fired by this Changeable instance. If it returns false, that does not mean that this type of event will or even can be raised, but that it is worth registering listeners incase.
- Specified by:
isUnchanging
in interfaceChangeable
- Parameters:
ct
- the ChangeType to check- Returns:
- true if ChangeEvents of this type are guaranteed to never be fired
-
addSequenceViewerListener
public void addSequenceViewerListener(SequenceViewerListener svl)
addSequenceViewerListener
adds a listener for mouse clickSequenceViewerEvent
s.- Parameters:
svl
- aSequenceViewerListener
.
-
removeSequenceViewerListener
public void removeSequenceViewerListener(SequenceViewerListener svl)
removeSequenceViewerListener
removes a listener for mouse clickSequenceViewerEvent
s.- Parameters:
svl
- aSequenceViewerListener
.
-
addSequenceViewerMotionListener
public void addSequenceViewerMotionListener(SequenceViewerMotionListener svml)
addSequenceViewerMotionListener
adds a listener for mouse motionSequenceViewerEvent
s.- Parameters:
svml
- aSequenceViewerMotionListener
.
-
removeSequenceViewerMotionListener
public void removeSequenceViewerMotionListener(SequenceViewerMotionListener svml)
addSequenceViewerMotionListener
removes a listener for mouse motionSequenceViewerEvent
s.- Parameters:
svml
- aSequenceViewerMotionListener
.
-
getChangeSupport
protected ChangeSupport getChangeSupport(ChangeType ct)
getChangeSupport
lazily instantiates a helper for change listeners.- Parameters:
ct
- aChangeType
.- Returns:
- a
ChangeSupport
object.
-
hasListeners
protected boolean hasListeners()
hasListeners
returns true if there are active listeners for BioJava events.- Returns:
- a
boolean
value.
-
isActive
protected boolean isActive()
isActive
returns true if both theSequence
s to be rendered and thePairwiseHomologyRenderer
are not null.- Returns:
- a
boolean
value.
-
-