de.unibi.techfak.jpredictor.gui
Class MotifCheckTree

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JScrollPane
                  extended by de.unibi.techfak.jpredictor.gui.MotifTree
                      extended by de.unibi.techfak.jpredictor.gui.MotifCheckTree
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.ScrollPaneConstants

 class MotifCheckTree
extends MotifTree

Provides functions for displaying a number of motifs as a tree (representation is a JTree) within a JScrollPane.

Each motif has a checkbox before it. These boxes cannot be modified from outside other then by firing an ActionEvent to this class. To avoid confusion the "selection" or "deselection" of a checkboxed motif is referred to as checking and unchacking. The "selection" term in tree environment is somehow reserved for actually select (by clicking on it) one of more motifs.


Nested Class Summary
(package private)  class MotifCheckTree.CheckBoxNode
          Class for wrapping a motif object with a selection oppertunity.
(package private)  class MotifCheckTree.CheckBoxNodeEditor
           
(package private)  class MotifCheckTree.CheckBoxNodeRenderer
          Internal class for drawing a node in the tree.
 
Nested classes/interfaces inherited from class javax.swing.JScrollPane
javax.swing.JScrollPane.AccessibleJScrollPane, javax.swing.JScrollPane.ScrollBar
 
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
static java.lang.String[] eventTexts
          Name of events this class is designed to react on.
 
Fields inherited from class de.unibi.techfak.jpredictor.gui.MotifTree
motifTree
 
Fields inherited from class javax.swing.JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
 
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 javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MotifCheckTree(MotifList ml, java.lang.String headline, java.awt.Dimension dim)
          The constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          This method is designed to handle the events for checking and unchecking the check boxes in the tree.
 void checkMotifs(MotifList ml)
          Checks the given motifs in the tree.
protected  javax.swing.tree.DefaultMutableTreeNode convertMotif2Parentnode(Motif m, int depth)
          Generates one node which contains of a check box and the motifs toString() text as text.
 MotifList getCheckedMotifs()
          Creates and returns a list of all checked motifs stored in this tree.
protected  Motif getMotifFromNode(javax.swing.tree.DefaultMutableTreeNode node)
          Extracts the motif stored in a tree node.
 
Methods inherited from class de.unibi.techfak.jpredictor.gui.MotifTree
addMotif, addMotifs, clear, clearSelection, convertMotif2Treenode, deleteMotif, deleteSelected, expand, expandLevel, expandLevel, getMotifs, getMultiSelection, getSingleSelection, getTreeFromMotifList, insertNode, isExpanded, isSelectionEmpty, replaceSelectedMotifs, update
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, 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, paint, 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, 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, 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
 

Field Detail

eventTexts

public static java.lang.String[] eventTexts
Name of events this class is designed to react on. Evaluated in the method actionPerformed(ActionEvent). The events evaluated are: "selectEverything", "unselectEverything", "checkEverything", "selectSingle", "unselectSingle", "checkSingle", "selectMulti", "unselectMulti", "checkMulti". Events with 'select' in the name should come from a button while the 'check' commands should come from a check box. In the latter case the decision to select or unselect the appropriate motifs is decided from the value of the check box.

Constructor Detail

MotifCheckTree

public MotifCheckTree(MotifList ml,
                      java.lang.String headline,
                      java.awt.Dimension dim)
The constructor. Gets a motif list and inits this motif tree as a JTree within a JScrollPane. Note, that the motif list is not stored locally. Give null-values to take the default settings for the parameters.

Parameters:
ml - The motif list to be displayed.
headline - The root text of the tree.
dim - The width and height of this MotifTree.
Method Detail

convertMotif2Parentnode

protected javax.swing.tree.DefaultMutableTreeNode convertMotif2Parentnode(Motif m,
                                                                          int depth)
Generates one node which contains of a check box and the motifs toString() text as text.

Overrides:
convertMotif2Parentnode in class MotifTree
Parameters:
m - The motif to be the content of the node.
depth - The depth in the tree the motif should be placed. Root has depth zero.
Returns:
A node containing the motif without any subnodes.

getMotifFromNode

protected Motif getMotifFromNode(javax.swing.tree.DefaultMutableTreeNode node)
Description copied from class: MotifTree
Extracts the motif stored in a tree node. Actually, the method analyses the node for having a Motif as user object. If so, the motif is returned, otherwise null is returned. It is highly recommended, that every access on a nodes user object is done through this method.

Overrides:
getMotifFromNode in class MotifTree
Parameters:
node - The node in tree which has a motif as user object.
Returns:
The user object of the node in case it is a motif, null otherwise.

getCheckedMotifs

public MotifList getCheckedMotifs()
Creates and returns a list of all checked motifs stored in this tree.

Returns:
The selected motifs in this tree.

checkMotifs

public void checkMotifs(MotifList ml)
Checks the given motifs in the tree. Unchecks all other ones. Sets the corresponding mark to the motifs in the tree. For motifs which do not appear in the tree the mark is not touched.

Parameters:
ml - List of motifs to be checked. Give null to check all, an empty list to uncheck all.
See Also:
Markable.MARK_SELECTED

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
This method is designed to handle the events for checking and unchecking the check boxes in the tree.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class MotifTree
See Also:
eventTexts