biggests.tree
Class DatasetTree

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JTree
                  extended by biggests.tree.DatasetTree
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable

public class DatasetTree
extends javax.swing.JTree
implements java.io.Serializable

Title: Dataset Tree

Description: The dynamic tree which contains the gene expression datasets, matrices and biclusters. Allows one to add specific nodes to it.

Copyright: Copyright (C) 2007 Joana Gonçalves This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTree
javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector
 
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 long serialVersionUID
           
 
Fields inherited from class javax.swing.JTree
ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount
 
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
DatasetTree()
          Constructs a dataset tree with a single (mutable) tree node (called "Datasets").
 
Method Summary
 javax.swing.tree.TreePath addLoadedDataset(NodeInfo originalNodeInfo)
          Adds the loaded dataset to the dataset tree and creates all additional nodes for preprocessed, discretized, biclustered and post-processed matrices of the dataset.
 void addLoadedDataset(NodeInfo originalNodeInfo, boolean setNewPath)
          Adds the loaded dataset to the dataset tree and creates all additional nodes for preprocessed, discretized, biclustered and post-processed matrices of the dataset.
 javax.swing.tree.TreePath addNewNode(NodeInfo nodeInfo, javax.swing.tree.TreePath selectionPath)
          Adds a new node to the datasets tree, associated with a node information object.
 void addNewNode(NodeInfo nodeInfo, javax.swing.tree.TreePath selectionPath, boolean setNewPath)
          Adds a new node to the datasets tree, associated with a node information object.
 NodeInfo findBiclusterNodeByIDinSetOfBiclustersNodes(java.util.Enumeration setOfBiclustersNodes, int id)
          Looks for a NodeInfo object of a bicluster or post-processed bicluster object with a specific id.
 int generateNewDatasetId()
          Generates a dataset id for a new Dataset object.
 int generateNewNodeInfoId(int nodeObjectType, javax.swing.tree.TreePath selectionPath, boolean update)
          Returns the next id for a new NodeInfo object to be created in the dataset of the given selected path.
 javax.swing.tree.DefaultMutableTreeNode getRoot()
          Returns the root node of the dataset tree.
 void reload()
          Reloads the tree model, so all (new) nodes get visible.
 
Methods inherited from class javax.swing.JTree
addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, convertValueToText, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, 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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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, 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
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

DatasetTree

public DatasetTree()
Constructs a dataset tree with a single (mutable) tree node (called "Datasets").

Method Detail

addLoadedDataset

public javax.swing.tree.TreePath addLoadedDataset(NodeInfo originalNodeInfo)
                                           throws InvalidNodeObjectTypeException
Adds the loaded dataset to the dataset tree and creates all additional nodes for preprocessed, discretized, biclustered and post-processed matrices of the dataset.
Also shows the newly created node's path in the tree if showPathOfNewNode is set to true.
The node information object can be of type:
NodeInfo.ORIGINAL

Parameters:
originalNodeInfo - the NodeInfo object of the new dataset
Returns:
the TreePath of the new node
Throws:
InvalidNodeObjectTypeException - if the type of the node object is not valid

addNewNode

public javax.swing.tree.TreePath addNewNode(NodeInfo nodeInfo,
                                            javax.swing.tree.TreePath selectionPath)
                                     throws InvalidNodeObjectTypeException
Adds a new node to the datasets tree, associated with a node information object.
Also shows the newly created node's path in the tree if showPathOfNewNode is set to true.
The node information object can be of type:
NodeInfo.PREPROCESSED
NodeInfo.DISCRETIZED
NodeInfo.BICLUSTER_GROUP
NodeInfo.POSTPROCESSED_GROUP

Parameters:
nodeInfo - NodeInfo the node information object associated with the tree node
selectionPath - TreePath the tree selection path
Returns:
the TreePath of the new node
Throws:
InvalidNodeObjectTypeException - when the type of the node object is not valid

addLoadedDataset

public void addLoadedDataset(NodeInfo originalNodeInfo,
                             boolean setNewPath)
                      throws InvalidNodeObjectTypeException
Adds the loaded dataset to the dataset tree and creates all additional nodes for preprocessed, discretized, biclustered and post-processed matrices of the dataset.
Also shows the newly created node's path in the tree.
The node information object can be of type:
NodeInfo.ORIGINAL

Parameters:
originalNodeInfo - the NodeInfo object of the new dataset
setNewPath - the boolean which indicates if new node's path is to display in the tree
true - display new node's path
false - do not display new node's path
Throws:
InvalidNodeObjectTypeException - when the type of the NodeInfo is not valid
See Also:
addLoadedDataset(NodeInfo originalNodeInfo)

addNewNode

public void addNewNode(NodeInfo nodeInfo,
                       javax.swing.tree.TreePath selectionPath,
                       boolean setNewPath)
                throws InvalidNodeObjectTypeException
Adds a new node to the datasets tree, associated with a node information object. Also shows the newly created node's path in the tree. The node information object can be of type:
NodeInfo.PREPROCESSED
NodeInfo.DISCRETIZED
NodeInfo.BICLUSTER_GROUP
NodeInfo.POSTPROCESSED_GROUP

Parameters:
nodeInfo - NodeInfo the node information object associated with the tree node
selectionPath - TreePath the tree selection path
setNewPath - the boolean which indicates if new node's path is to display in the tree
true - display new node's path
false - do not display new node's path
Throws:
InvalidNodeObjectTypeException - when the type of the node object is not valid
See Also:
addNewNode(NodeInfo nodeInfo, TreePath selectionPath)

reload

public void reload()
Reloads the tree model, so all (new) nodes get visible.


getRoot

public javax.swing.tree.DefaultMutableTreeNode getRoot()
Returns the root node of the dataset tree.

Returns:
DefaultMutableTreeNode the root node of the dataset

generateNewNodeInfoId

public int generateNewNodeInfoId(int nodeObjectType,
                                 javax.swing.tree.TreePath selectionPath,
                                 boolean update)
                          throws InvalidNodeObjectTypeException
Returns the next id for a new NodeInfo object to be created in the dataset of the given selected path. The next id depends on:
- the dataset in which the node information object will be included (accessible through the selected path)
- the data type of the node information object to be created

Parameters:
nodeObjectType - int the type of the node object (so we know in which group of node information objects we have to look for the next id):
NodeInfo.PREPROCESSED
NodeInfo.DISCRETIZED
NodeInfo.BICLUSTER_GROUP
NodeInfo.POSTPROCESSED_GROUP
selectionPath - TreePath the selected path
update - boolean true to update the number of nodes created in the tree for this nodeObjectType so far; false if one only wants to know which id is next, without inserting a new node in the tree
Returns:
int the new id for a new NodeInfo object
Throws:
InvalidNodeObjectTypeException - if the type of the node object is not valid

generateNewDatasetId

public int generateNewDatasetId()
Generates a dataset id for a new Dataset object.

Returns:
int the new dataset id

findBiclusterNodeByIDinSetOfBiclustersNodes

public NodeInfo findBiclusterNodeByIDinSetOfBiclustersNodes(java.util.Enumeration setOfBiclustersNodes,
                                                            int id)
Looks for a NodeInfo object of a bicluster or post-processed bicluster object with a specific id. Returns the corresponding NodeInfo object if search succeeds and null otherwise.

Parameters:
setOfBiclustersNodes - Enumeration with the set of bicluster nodes where to look for the bicluster node information object with the given id; each element of the setOfBiclustersNodes has type DefaultMutableTreeNode and contains a NodeInfo object which, in turn, contains a bicluster or post-processed bicluster object
id - the int of the bicluster to search for
Returns:
NodeInfo the node information object which contains the bicluster with the given id; null if bicluster was not found