de.unibi.techfak.jpredictor.gui
Class MotifDistanceTree

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.MotifDistanceTree
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 MotifDistanceTree
extends MotifTree

Provides functions for displaying a number of motifs and intermediate distances as a tree.


Nested Class Summary
 
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
 
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
MotifDistanceTree()
          The constructor.
MotifDistanceTree(MotifList ml)
          The constructor.
MotifDistanceTree(MotifList ml, java.lang.String headline, java.awt.Dimension dim)
          The constructor.
 
Method Summary
 void addDistance(Distance d, int index)
          Adds a distance to the tree at the given index.
protected  javax.swing.tree.DefaultMutableTreeNode convertDistance2Treenode(Distance p)
          Builds a tree node from a distance.
 MotifList getMotifs()
          Creates and returns a list of all motifs stored in this tree.
 MultiMotif getMultiMotif()
          Generates a MultiMotif from the motifs and distances in the tree.
 MotifList getMultiSelection()
          Checks for the motif tree, whether some rows are selected or not and returns a motif list with all selected motifs.
 Motif getSingleSelection()
          Checks for the motif tree, whether a row is selected or not and returns the corresponding motif.
 boolean makeTreeConsistent(boolean allowChanges)
           Tests whether the tree is consistent.
 
Methods inherited from class de.unibi.techfak.jpredictor.gui.MotifTree
actionPerformed, addMotif, addMotifs, clear, clearSelection, convertMotif2Parentnode, convertMotif2Treenode, deleteMotif, deleteSelected, expand, expandLevel, expandLevel, getMotifFromNode, 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
 

Constructor Detail

MotifDistanceTree

public MotifDistanceTree()
The constructor. An empty tree is initialized, with the default dimension.


MotifDistanceTree

public MotifDistanceTree(MotifList ml)
The constructor. Gets a motif list and inits this motif tree as a JTree within a JScrollPane.

Parameters:
ml - The motif list to be displayed.

MotifDistanceTree

public MotifDistanceTree(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

convertDistance2Treenode

protected javax.swing.tree.DefaultMutableTreeNode convertDistance2Treenode(Distance p)
Builds a tree node from a distance.

Parameters:
p - The distance information to be converted.
Returns:
The distance as a TreeNode.
See Also:
Distance

getSingleSelection

public Motif getSingleSelection()
Checks for the motif tree, whether a row is selected or not and returns the corresponding motif.

Returns:
The selected motif or null, if none or more than one motif is selected.

getMultiSelection

public MotifList getMultiSelection()
Checks for the motif tree, whether some rows are selected or not and returns a motif list with all selected motifs.

Returns:
The selected motifs in a list or the empty list, if nothing is selected.

getMotifs

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

Overrides:
getMotifs in class MotifTree
Returns:
The motifs in this tree.

addDistance

public void addDistance(Distance d,
                        int index)
Adds a distance to the tree at the given index. If index is -1, the distance is inserted before the first selected node, if nothing is selected, it is inserted at the end. This purpose is done using the underlying tree model of the tree, thus the tree is at the same time actualized.

Parameters:
d - The distance to be newly displayed.
index - The index at which the new tree node is inserted. Give -1 to put the node before the first selected one or at the end if no node is selected.

makeTreeConsistent

public boolean makeTreeConsistent(boolean allowChanges)

Tests whether the tree is consistent. Consistency with regards to motifs means, that the objects in the tree must fit to be build into a MultiMotif.

The test consists of the following steps. If a motif or distance is followed by another motif or distance, respectively, the test fails. If the first and the last node in the tree are not motifs, the test fails.

If allowChanges=true the tree is made consistent. From adjacent motifs and distances the first is left, all following are removed. If the first or last node is not a motif node, it is removed. All changes are directly made on the tree.

Returns:
true, if the tree is consistent and needs not to be altered. Returns false, if the tree needs to be made consistent or if a change was made to the tree to fulfill consistency checks.

getMultiMotif

public MultiMotif getMultiMotif()
Generates a MultiMotif from the motifs and distances in the tree. The tree has to be consistent.

Returns:
A MultiMotif generated from the motifs and distances in the tree, or null, if the tree is not consistent.
See Also:
makeTreeConsistent(boolean)