org.concord.biologica.ui
Class OrganismAlleleControl

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JComboBox
                          |
                          +--org.concord.biologica.ui.BioComboBox
                                |
                                +--org.concord.biologica.ui.OrganismAlleleControl
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.ItemListener, java.awt.ItemSelectable, javax.swing.event.ListDataListener, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable

public final class OrganismAlleleControl
extends BioComboBox
implements java.awt.event.ItemListener, java.beans.PropertyChangeListener

This class represents an organism allele combobox in BioLogica.

Version:
$Revision: 1.2 $ $Date: 2002/03/28 17:44:01 $
Author:
$Author: qliao $
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JComboBox
javax.swing.JComboBox.AccessibleJComboBox, javax.swing.JComboBox.KeySelectionManager
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Fields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminder
 
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
OrganismAlleleControl(ChromosomeView aChromosomeView)
          Creates an AlleleComboBox given a ChromosomeView
 
Method Summary
 Gene getGene()
          Get the Gene associated with this control
 Organism getOrganism()
          Get the Organism associated with this control
 OrganismAllele getOrganismAllele()
          Get the OrganismAllele associated with this control
 void itemStateChanged(java.awt.event.ItemEvent event)
          Handle combo box item changed events.
 void paintLines(java.awt.Graphics g, java.awt.Color selectionColor)
          Tell organism allele control to paint its lines.
 void paintLines(java.awt.Graphics g, java.awt.Color selectionColor, int x1, int x2, int y1)
           
 boolean pick(int x, int y)
          Is this control at the x,y coordinates specified?
 void propertyChange(java.beans.PropertyChangeEvent event)
          Handle property change events
 void setState(OrganismAllele anOrganismAllele, int chromosomeImageNumber, int xTopLeftChromosomeImage, int yTopLeftChromosomeImage, int yTopLeftComboBox, boolean aSelected)
          Set the state needed to draw and use this control.
 
Methods inherited from class org.concord.biologica.ui.BioComboBox
setSelectedIndex
 
Methods inherited from class javax.swing.JComboBox
actionPerformed, addActionListener, addItem, addItemListener, configureEditor, configurePropertiesFromAction, contentsChanged, createActionPropertyChangeListener, createDefaultKeySelectionManager, fireActionEvent, fireItemStateChanged, getAccessibleContext, getAction, getActionCommand, getEditor, getItemAt, getItemCount, getKeySelectionManager, getMaximumRowCount, getModel, getRenderer, getSelectedIndex, getSelectedItem, getSelectedObjects, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isFocusTraversable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyEvent, removeActionListener, removeAllItems, removeItem, removeItemAt, removeItemListener, selectedItemChanged, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setModel, setPopupVisible, setRenderer, setSelectedItem, setUI, showPopup, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OrganismAlleleControl

public OrganismAlleleControl(ChromosomeView aChromosomeView)
Creates an AlleleComboBox given a ChromosomeView
Parameters:
aChromosomeView - ChromosomeView - the view creating this control
aFont - Font - the font to use
Method Detail

getOrganism

public Organism getOrganism()
Get the Organism associated with this control
Returns:
Organism - Organism associated with this control, may be null

getGene

public Gene getGene()
Get the Gene associated with this control
Returns:
Gene - Gene associated with this control, may be null

getOrganismAllele

public OrganismAllele getOrganismAllele()
Get the OrganismAllele associated with this control
Returns:
OrganismAllele - OrganismAllele associated with this control, may be null

setState

public void setState(OrganismAllele anOrganismAllele,
                     int chromosomeImageNumber,
                     int xTopLeftChromosomeImage,
                     int yTopLeftChromosomeImage,
                     int yTopLeftComboBox,
                     boolean aSelected)
Set the state needed to draw and use this control.
Parameters:
anOrganismAllele - OrganismAllele - allele to be associated with this control
chromosomeImageNumber - int - chromosome image number of this allele's chromosome
xTopLeftChromosomeImage - int - x position of top left of image
yTopLeftChromosomeImage - int - y position of top left of image
yTopLeftComboBox - int - y position of allele's combo box
aSelected - boolean - selected?

paintLines

public void paintLines(java.awt.Graphics g,
                       java.awt.Color selectionColor)
Tell organism allele control to paint its lines. Assume the font has been correctly set already.

If this allele is locked, then the combo box will not be visible and we should also draw the allele text symbol.

If the gene is not visible, draw nothing.

If the organism's alleles are locked,

Parameters:
g - Graphics - Graphics object to use in drawing
selectionColor - Color - selection color, may not be null

paintLines

public void paintLines(java.awt.Graphics g,
                       java.awt.Color selectionColor,
                       int x1,
                       int x2,
                       int y1)

pick

public boolean pick(int x,
                    int y)
Is this control at the x,y coordinates specified?
Parameters:
x - int - x coordinate
y - int - y coordinate
Returns:
boolean - at specified coordinates?

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent event)
Handle combo box item changed events.
Specified by:
itemStateChanged in interface java.awt.event.ItemListener
Parameters:
event - ItemEvent - change event to handle

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent event)
Handle property change events
Specified by:
propertyChange in interface java.beans.PropertyChangeListener
Parameters:
event - PropertyChangeEvent - the property change event