org.knime.base.node.viz.pie.impl
Class PiePlotter<P extends PieProperties<D>,D extends PieVizModel>

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.pie.impl.PiePlotter<P,D>
Type Parameters:
P - the PieProperties implementation
D - the PieVizModel implementation
All Implemented Interfaces:
ComponentListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, HiLiteListener
Direct Known Subclasses:
FixedPiePlotter, InteractivePiePlotter

public abstract class PiePlotter<P extends PieProperties<D>,D extends PieVizModel>
extends AbstractPlotter

The abstract plotter implementation of the pie chart which acts as the controller between the PieVizModel and the PieDrawingPane.

Author:
Tobias Koetter, 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
PiePlotter(P properties, HiLiteHandler handler)
          Constructor for class PiePlotter.
 
Method Summary
 void clearSelection()
          Clears current selection.
 void fillPopupMenu(JPopupMenu popupMenu)
          Fills the popup menu with (additional) elements.
 String getInfoMsg()
           
protected  PieDrawingPane getPieDrawingPane()
          Convenient method to cast the drawing pane.
protected  P getPropertiesPanel()
           
protected  D getVizModel()
           
 void hiLite(KeyEvent event)
          Invoked when some item(s) were hilit.
 void hiLiteSelected()
          Is called from the menu entry hilite selected.
protected  void modelChanged()
          Updates all views and objects which depend on the PieVizModel.
 void reset()
          Reset all local data which depends on the input data provided by the data provider.
 void resetInfoMsg()
          Resets the information message.
 void resetVizModel()
          Resets the visualization model.
 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 setInfoMsg(String infoMsg)
          If the information message is set no bars will be drawn.
 void setVizModel(D vizModel)
           
 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()
          Do the mapping from the models data to screen coordinates here and pass the visualization model to the drawing pane.
protected  void updatePropertiesPanel(D vizModel)
           
 void updateSize()
          Whenever the size of the drawing pane is changed (zooming, resizing) this method is called in order to update the painting.
 
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, dispose, fitToScreen, getClearHiliteAction, getCurrentMouseListener, getDataArrayIdx, getDataProvider, getDrawingPane, getDrawingPaneDimension, getHiliteAction, getHiLiteMenu, getMappedXValue, getMappedYValue, getProperties, getScreenYCoordinate, getUnhiliteAction, getXAxis, getYAxis, removeMouseListener, setAntialiasing, setDataArrayIdx, setDataProvider, 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

PiePlotter

public PiePlotter(P properties,
                  HiLiteHandler handler)
Constructor for class PiePlotter.

Parameters:
properties - the properties panel
handler - the optional HiliteHandler
Method Detail

getPropertiesPanel

protected P getPropertiesPanel()
Returns:
the properties panel

getPieDrawingPane

protected PieDrawingPane getPieDrawingPane()
Convenient method to cast the drawing pane.

Returns:
the plotter drawing pane

setVizModel

public void setVizModel(D vizModel)
Parameters:
vizModel - the vizModel to display

modelChanged

protected void modelChanged()
Updates all views and objects which depend on the PieVizModel.


updatePropertiesPanel

protected void updatePropertiesPanel(D vizModel)
Parameters:
vizModel - the visualization model with the values to use

getVizModel

protected D getVizModel()
Returns:
the vizModel to display

resetVizModel

public void resetVizModel()
Resets the visualization model.


getInfoMsg

public String getInfoMsg()
Returns:
the information message which will be displayed on the screen instead of the bars

setInfoMsg

public void setInfoMsg(String infoMsg)
If the information message is set no bars will be drawn. Only this message will appear in the plotter.

Parameters:
infoMsg - the information message to display

resetInfoMsg

public void resetInfoMsg()
Resets the information message.


reset

public void reset()
Reset all local data which depends on the input data provided by the data provider.

Specified by:
reset in class AbstractPlotter

updateSize

public void updateSize()
Whenever the size of the drawing pane is changed (zooming, resizing) this method is called in order to update the painting.

Specified by:
updateSize in class AbstractPlotter

updatePaintModel

public void updatePaintModel()
Do the mapping from the models data to screen coordinates here and pass the visualization model to the drawing pane.

Specified by:
updatePaintModel in class AbstractPlotter

clearSelection

public void clearSelection()
Clears current selection.

Specified by:
clearSelection in class AbstractPlotter

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.

Specified by:
selectClickedElement in class AbstractPlotter
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.

Specified by:
selectElementsIn in class AbstractPlotter
Parameters:
selectionRectangle - the selection rectangle from the dragged mouse in selection mode

hiLite

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

Specified by:
hiLite in interface HiLiteListener
Specified by:
hiLite in class AbstractPlotter
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
Specified by:
unHiLite in class AbstractPlotter
Parameters:
event - contains a list of row keys that were unhilit

hiLiteSelected

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

Specified by:
hiLiteSelected in class AbstractPlotter

unHiLiteSelected

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

Specified by:
unHiLiteSelected in class AbstractPlotter

unHiLiteAll

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

Parameters:
event - contains a list of row key that were unhilit

fillPopupMenu

public void fillPopupMenu(JPopupMenu popupMenu)
Fills the popup menu with (additional) elements. In this class the hilite, unhilite and clear hilite actions are added.

Overrides:
fillPopupMenu in class AbstractPlotter
Parameters:
popupMenu - the popup menu to fill.


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.