apollo.gui.detailviewers.sequencealigner
Class TierPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by apollo.gui.detailviewers.sequencealigner.AbstractTierPanel
                      extended by apollo.gui.detailviewers.sequencealigner.TierPanel
All Implemented Interfaces:
AnnotationChangeListener, BaseScrollable, TierPanelI, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.Scrollable

public class TierPanel
extends AbstractTierPanel

A Tier Panel is a JPanel which is used to render a TierI. The Orientation of the tier panel determines what direction the tier should be rendered while the BaseRendererI determines how each individual base is rendered.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
 
Constructor Summary
TierPanel(TierI tier)
          Constructor.
TierPanel(TierI tier, Orientation orientation, BaseRendererI renderer)
          Constructor.
 
Method Summary
 SeqFeatureI featureAt(int p, TierI.Level level)
          Given a pixel position return the feature at that position
 int getBaseHeight()
          pixel size
 int getBaseWidth()
          pixel size
 int getHigh()
          the highest pixel position on the tier
 int getHigh(SeqFeatureI f)
          the highest pixel position on a feature
 int getLow()
          the lowest pixel position on the tier
 int getLow(SeqFeatureI f)
          the lowest pixel position on a feature
 SeqFeatureI getNextFeature(int p, TierI.Level level)
          Given a pixel position return the next feature on the tier
 Orientation getOrientation()
           
 java.awt.Point getPixelForPosition(int p)
          Gets a pixel in the tier panel for a given (pixel) position in the tier panel
 int getPositionForPixel(java.awt.Point p)
          Gets the (pixel) position in the tierPanel for a given pixel
 java.awt.Dimension getPreferredScrollableViewportSize()
          These Are the methods needed to implement the Scrollable interface.
 SeqFeatureI getPrevFeature(int p, TierI.Level level)
          Given a pixel position return the previous feature on the tier
 BaseRendererI getRenderer()
           
 int getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
           
 boolean getScrollableTracksViewportHeight()
           
 boolean getScrollableTracksViewportWidth()
           
 int getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
           
 TierI getTier()
           
 int getVisibleBase()
           
 int getVisibleBaseCount()
           
 boolean handleAnnotationChangeEvent(AnnotationChangeEvent evt)
           
 void paint(java.awt.Graphics g)
          Paints this tier within the clipping bounds of the graphic.
 int pixelPositionToTierPosition(int p)
           
 void reformat(boolean isRecursive)
          Set the preferred size for this panel
 void scrollToBase(int pos)
           
 void setOrientation(Orientation orientation)
           
 void setRenderer(BaseRendererI r)
           
 int tierPositionToPixelPosition(int p)
           
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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
 
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, transferFocusBackward, 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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TierPanel

public TierPanel(TierI tier)
Constructor. The default orientation is FIVE_TO_THREE.

Parameters:
tier - the tier to be rendered

TierPanel

public TierPanel(TierI tier,
                 Orientation orientation,
                 BaseRendererI renderer)
Constructor.

Parameters:
tier -
orientation -
renderer -
Method Detail

paint

public void paint(java.awt.Graphics g)
Paints this tier within the clipping bounds of the graphic.

Specified by:
paint in interface TierPanelI
Overrides:
paint in class javax.swing.JComponent
Parameters:
g - the graphic in which the tier will be painted

reformat

public void reformat(boolean isRecursive)
Set the preferred size for this panel


getBaseWidth

public int getBaseWidth()
pixel size


getBaseHeight

public int getBaseHeight()
pixel size


getPositionForPixel

public int getPositionForPixel(java.awt.Point p)
Gets the (pixel) position in the tierPanel for a given pixel


getPixelForPosition

public java.awt.Point getPixelForPosition(int p)
Gets a pixel in the tier panel for a given (pixel) position in the tier panel


pixelPositionToTierPosition

public int pixelPositionToTierPosition(int p)

tierPositionToPixelPosition

public int tierPositionToPixelPosition(int p)

getHigh

public int getHigh()
the highest pixel position on the tier


getLow

public int getLow()
the lowest pixel position on the tier


getHigh

public int getHigh(SeqFeatureI f)
the highest pixel position on a feature


getLow

public int getLow(SeqFeatureI f)
the lowest pixel position on a feature


getNextFeature

public SeqFeatureI getNextFeature(int p,
                                  TierI.Level level)
Given a pixel position return the next feature on the tier


featureAt

public SeqFeatureI featureAt(int p,
                             TierI.Level level)
Given a pixel position return the feature at that position


getPrevFeature

public SeqFeatureI getPrevFeature(int p,
                                  TierI.Level level)
Given a pixel position return the previous feature on the tier


getRenderer

public BaseRendererI getRenderer()

setRenderer

public void setRenderer(BaseRendererI r)

getTier

public TierI getTier()

getOrientation

public Orientation getOrientation()

setOrientation

public void setOrientation(Orientation orientation)

getPreferredScrollableViewportSize

public java.awt.Dimension getPreferredScrollableViewportSize()
These Are the methods needed to implement the Scrollable interface.

See Also:
Scrollable

getScrollableBlockIncrement

public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect,
                                       int orientation,
                                       int direction)

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()

getScrollableUnitIncrement

public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect,
                                      int orientation,
                                      int direction)

getVisibleBase

public int getVisibleBase()

getVisibleBaseCount

public int getVisibleBaseCount()

scrollToBase

public void scrollToBase(int pos)

handleAnnotationChangeEvent

public boolean handleAnnotationChangeEvent(AnnotationChangeEvent evt)