org.knime.base.node.viz.plotter.dendrogram
Class DendrogramPlotter

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 org.knime.base.node.viz.plotter.AbstractPlotter
                      extended by org.knime.base.node.viz.plotter.basic.BasicPlotter
                          extended by org.knime.base.node.viz.plotter.columns.TwoColumnPlotter
                              extended by org.knime.base.node.viz.plotter.scatter.ScatterPlotter
                                  extended by org.knime.base.node.viz.plotter.dendrogram.DendrogramPlotter
All Implemented Interfaces:
ComponentListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, HiLiteListener

public class DendrogramPlotter
extends ScatterPlotter

Converts a DendrogramNode into a BinaryTree of DendrogramPoints, which is the visual representation of a hierachical clustering result stored in the DendrogramNode.

Author:
Fabian Dill, University of Konstanz
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.knime.base.node.viz.plotter.AbstractPlotter
AbstractPlotter.MovingMouseListener, AbstractPlotter.SelectionMouseListener, AbstractPlotter.ZoomMouseListener
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class org.knime.base.node.viz.plotter.AbstractPlotter
DEFAULT_ZOOM_FACTOR, FADE_UNHILITED, HIDE_UNHILITED, SHOW_ALL, SHOW_HIDE
 
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
DendrogramPlotter()
          Default constructor.
DendrogramPlotter(DendrogramDrawingPane panel, DendrogramPlotterProperties props)
          Constructor for extending classes.
 
Method Summary
 void clearSelection()
          Clears current selection.
 void createViewModel(DendrogramNode node)
          Converts the cluster node into a view model, where cluster nodes are points and leaf nodes are dots.
 void hiLite(KeyEvent event)
          Invoked when some item(s) were hilit.
 void hiLiteSelected()
          Is called from the menu entry hilite selected.
 void reset()
          Resets the visual model and repaints.
 void selectClickedElement(Point clicked)
          Implementing classes mayxselect the elements depending on the clicked position.
 void selectElementsIn(Rectangle selectionRectangle)
          Implementing classes may select the elements in the selection rectangle obtained from the mouse dragging in selection mode.
 void setDotSize(int dotSize)
          Sets the size of the dots and sets a tick offset to both axes to ensure that the points are always completely visible.
 void setRootNode(DendrogramNode root)
          Sets the result of the hierachical clustering represented in a DendrogramNode.
 void unHiLite(KeyEvent event)
          Invoked when some item(s) were unhilit.
 void unHiLiteAll(KeyEvent event)
          Invoked, when everything (all rows) are unhilit.
 void unHiLiteSelected()
          Is called by the menu entry unhilite selected.
 void updatePaintModel()
          The data points of the data to visulaize are mapped to screen coordinates, represented by DotInfo and are passed in a DotInfoArray to the .ScatterPlotterDrawingPane.
 void updateSize()
          Updates the size by mapping the domain values of the BasicDrawingElements to the drawing pane's dimension.
 
Methods inherited from class org.knime.base.node.viz.plotter.scatter.ScatterPlotter
calculateCoordinates, dispose, fillPopupMenu, getDotSize, getFadeAction, getHideAction, getJitterRate, getMappedXValue, getMappedYValue, getShowAllAction, getShowHideMenu, isHideMode, isScatterPlotterDrawingPane, isScatterPlotterProperties, jitterDots, setHideMode, setJitterRate
 
Methods inherited from class org.knime.base.node.viz.plotter.columns.TwoColumnPlotter
getSelectedXColumn, getSelectedXColumnIndex, getSelectedYColumn, getSelectedYColumnIndex, setDataProvider, setSelectableColumns
 
Methods inherited from class org.knime.base.node.viz.plotter.basic.BasicPlotter
addBasicDrawingElement, addEllipse, addLine, addLine, addLine, addLine, addRectangle, addText
 
Methods inherited from class org.knime.base.node.viz.plotter.AbstractPlotter
addMouseListener, componentHidden, componentMoved, componentResized, componentShown, createNominalXCoordinate, createNominalYCoordinate, createXCoordinate, createXCoordinate, createYCoordinate, delegateAddHiLiteListener, delegateGetHiLitKeys, delegateHiLite, delegateHiLite, delegateIsHiLit, delegateIsHiLit, delegateRemoveAllHiLiteListeners, delegateRemoveHiLiteListener, delegateUnHiLite, delegateUnHiLite, delegateUnHiLiteAll, fitToScreen, getClearHiliteAction, getCurrentMouseListener, getDataArrayIdx, getDataProvider, getDrawingPane, getDrawingPaneDimension, getHiliteAction, getHiLiteMenu, getProperties, getScreenYCoordinate, getUnhiliteAction, getXAxis, getYAxis, removeMouseListener, setAntialiasing, setDataArrayIdx, setHeight, setHiLiteHandler, setPreserve, setXAxis, setYAxis, updateAxisLength, zoomByClick, zoomByWindow
 
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, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, 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
 

Constructor Detail

DendrogramPlotter

public DendrogramPlotter()
Default constructor.


DendrogramPlotter

public DendrogramPlotter(DendrogramDrawingPane panel,
                         DendrogramPlotterProperties props)
Constructor for extending classes. Registers all necessary listeners to the control elements of the .DendrogramPlotterProperties

Parameters:
panel - drawing pane
props - properties
Method Detail

setDotSize

public void setDotSize(int dotSize)
Sets the size of the dots and sets a tick offset to both axes to ensure that the points are always completely visible.

Overrides:
setDotSize in class ScatterPlotter
Parameters:
dotSize - the dot size.

reset

public void reset()
Resets the visual model and repaints.

Overrides:
reset in class ScatterPlotter
See Also:
AbstractPlotter.reset()

setRootNode

public void setRootNode(DendrogramNode root)
Sets the result of the hierachical clustering represented in a DendrogramNode.

Parameters:
root - the root node of the dendrogram.

clearSelection

public void clearSelection()
Clears current selection.

Overrides:
clearSelection in class ScatterPlotter

hiLiteSelected

public void hiLiteSelected()
Is called from the menu entry hilite selected. Should hilite selected elements.

Overrides:
hiLiteSelected in class ScatterPlotter

selectClickedElement

public void selectClickedElement(Point clicked)
Implementing classes mayxselect the elements depending on the clicked position. This method is called only when the element should be selected, that is, it is already determined whether the CTRL key is pressed or not.

Overrides:
selectClickedElement in class ScatterPlotter
Parameters:
clicked - the clicked point

selectElementsIn

public void selectElementsIn(Rectangle selectionRectangle)
Implementing classes may select the elements in the selection rectangle obtained from the mouse dragging in selection mode.

Overrides:
selectElementsIn in class ScatterPlotter
Parameters:
selectionRectangle - the selection rectangle from the dragged mouse in selection mode

unHiLiteSelected

public void unHiLiteSelected()
Is called by the menu entry unhilite selected. Should unhilite selected elements.

Overrides:
unHiLiteSelected in class ScatterPlotter

updatePaintModel

public void updatePaintModel()
The data points of the data to visulaize are mapped to screen coordinates, represented by DotInfo and are passed in a DotInfoArray to the .ScatterPlotterDrawingPane. Repaint of the drawing pane is triggered. Jittering is also triggered from here.

Overrides:
updatePaintModel in class ScatterPlotter
See Also:
#updatePaintModel()

createViewModel

public void createViewModel(DendrogramNode node)
Converts the cluster node into a view model, where cluster nodes are points and leaf nodes are dots.

Parameters:
node - the cluster node tree.

updateSize

public void updateSize()
Updates the size by mapping the domain values of the BasicDrawingElements to the drawing pane's dimension.

Overrides:
updateSize in class ScatterPlotter
See Also:
AbstractPlotter.updateSize()

unHiLiteAll

public void unHiLiteAll(KeyEvent event)
Invoked, when everything (all rows) are unhilit.

Specified by:
unHiLiteAll in interface HiLiteListener
Overrides:
unHiLiteAll in class ScatterPlotter
Parameters:
event - contains a list of row key that were unhilit

hiLite

public void hiLite(KeyEvent event)
Invoked when some item(s) were hilit.

Specified by:
hiLite in interface HiLiteListener
Overrides:
hiLite in class ScatterPlotter
Parameters:
event - contains a list of row keys that were hilit

unHiLite

public void unHiLite(KeyEvent event)
Invoked when some item(s) were unhilit.

Specified by:
unHiLite in interface HiLiteListener
Overrides:
unHiLite in class ScatterPlotter
Parameters:
event - contains a list of row keys that were unhilit


Copyright, 2003 - 2010. All rights reserved.
University of Konstanz, Germany.
Chair for Bioinformatics and Information Mining, Prof. Dr. Michael R. Berthold.
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.