at.tuwien.ifs.somtoolbox.apps.viewer
Class SOMPane

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 edu.umd.cs.piccolox.swing.PScrollPane
                      extended by at.tuwien.ifs.somtoolbox.apps.viewer.GenericPNodeScrollPane
                          extended by at.tuwien.ifs.somtoolbox.apps.viewer.SOMPane
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, ScrollPaneConstants

public class SOMPane
extends GenericPNodeScrollPane

A specific subclass of GenericPNodeScrollPane that holds a MapPNode and handles additionaly label and input movement events.

Version:
$Id: SOMPane.java 3939 2010-11-17 16:06:14Z frank $
Author:
Michael Dittenbach, Rudolf Mayer
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.umd.cs.piccolox.swing.PScrollPane
edu.umd.cs.piccolox.swing.PScrollPane.PNullAction, edu.umd.cs.piccolox.swing.PScrollPane.PScrollAction, edu.umd.cs.piccolox.swing.PScrollPane.PScrollEndAction
 
Nested classes/interfaces inherited from class javax.swing.JScrollPane
JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar
 
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
private  MyInputDragSequenceEventHandler inputDragHandler
           
private  MyLabelDragSequenceEventHandler labelDragHandler
           
private  MapPNode map
           
private  MapPNode map2
           
private  QuiverPNode quiver
           
private  String secMapPosition
           
private  double secMapXOffset
           
private  double secMapYOffset
           
private  int SECOND_MAP_OFFSET
           
private static long serialVersionUID
           
private  boolean shiftArrowsVisibility
           
private  SOMComparison somComparision
           
 
Fields inherited from class at.tuwien.ifs.somtoolbox.apps.viewer.GenericPNodeScrollPane
canvas, clusterSelectionEventHandler, connectedSelectionHandlers, connectedSelectionHandlersSet, lastSelectedPoint, lineSelection, lineSelectionEventHandler, node, rectangleSelectionEventHandler, state, tooltipNode
 
Fields inherited from class edu.umd.cs.piccolox.swing.PScrollPane
disableKeyActions, nullAction
 
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
SOMPane(JFrame parent, GrowingSOM gsom, GrowingLayer layer, CommonSOMViewerStateData state)
          constructor for an already loaded growing som.
SOMPane(JFrame parent, String weightVectorFileName, String unitDescriptionFileName, String mapDescriptionFileName, CommonSOMViewerStateData state)
          Default constructor.
 
Method Summary
 void centerAndFitMapToScreen(int animationDuration)
           
 Color[] getClassLegendColors()
           
 String[] getClassLegendNames()
           
 BackgroundImageVisualizer getCurrentVisualization()
           
 MapPNode getMap()
           
 QuiverPNode getQuiver()
           
 double getSecMapXOffset()
           
 double getSecMapYOffset()
           
 MapPNode getSecondMap()
           
 SOMComparison getSOMComparision()
           
 CommonSOMViewerStateData getState()
           
 BackgroundImageVisualizer[] getVisualizations()
          Deprecated. use Visualizations instead
protected  void init()
           
 void initSelectionHandlers()
          initialize both selection handlers and set rectangle selection as default.
 boolean isShiftArrowsVisibility()
           
 void setClassColor(int index, Color color)
           
 boolean setInitialVisualization(BackgroundImageVisualizer vis, int variant)
           
 void setInput()
          set the input selection handler.
 void setLabel()
          Change the selection handler from selecting units to moving labels.
 void setNoVisualization()
           
 void setSecMapXOffset(double secMapXOffset)
           
 void setSecMapYOffset(double secMapYOffset)
           
 void setSecSOMPosition()
          Sets the position of the second SOM according to attribute secMapPosition
 void setSecSOMPosition(String position)
          Sets the position of the second SOM according to position and saves the position in attribute secMapPosition
 void setShiftArrowsVisibility(boolean shiftArrowsVisibility)
           
 void setShowOnlySelectedClasses(boolean selectedClassesOnly)
           
 boolean setVisualization(BackgroundImageVisualizer vis, int variant)
           
 boolean setVisualization(int vis, int variant)
           
 void updateClassSelection(int[] indices)
           
private  void updateClassSelection(int[] indices, MapPNode mapPNode)
           
private  void updateQuiver()
           
private  void updateSecMap()
           
 void updateSOMComparison()
          Is called when the comparison object for comparison between two SOMs must be changed.
 void updateVisualization()
           
 void useSecSOMOffset()
           
 
Methods inherited from class at.tuwien.ifs.somtoolbox.apps.viewer.GenericPNodeScrollPane
centerAndFitMapToScreen, connectSelectionHandlerTo, getCanvas, selectionChanged, setCluster, setLine, setPNode, setRectangle
 
Methods inherited from class edu.umd.cs.piccolox.swing.PScrollPane
createViewport, disableKeyActions, installCustomKeyActions, setKeyActionsDisabled, setUI
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, 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, 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, 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, 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

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

inputDragHandler

private MyInputDragSequenceEventHandler inputDragHandler

labelDragHandler

private MyLabelDragSequenceEventHandler labelDragHandler

map

private MapPNode map

map2

private MapPNode map2

somComparision

private SOMComparison somComparision

shiftArrowsVisibility

private boolean shiftArrowsVisibility

quiver

private QuiverPNode quiver

SECOND_MAP_OFFSET

private final int SECOND_MAP_OFFSET
See Also:
Constant Field Values

secMapXOffset

private double secMapXOffset

secMapYOffset

private double secMapYOffset

secMapPosition

private String secMapPosition
Constructor Detail

SOMPane

public SOMPane(JFrame parent,
               String weightVectorFileName,
               String unitDescriptionFileName,
               String mapDescriptionFileName,
               CommonSOMViewerStateData state)
Default constructor.


SOMPane

public SOMPane(JFrame parent,
               GrowingSOM gsom,
               GrowingLayer layer,
               CommonSOMViewerStateData state)
constructor for an already loaded growing som. can be used to create a sompane from a subhierarchy of a grwoing som

Method Detail

init

protected void init()
Overrides:
init in class GenericPNodeScrollPane

initSelectionHandlers

public void initSelectionHandlers()
initialize both selection handlers and set rectangle selection as default. also initializes handler for selecting and moving a cluster label.

Overrides:
initSelectionHandlers in class GenericPNodeScrollPane

setInput

public void setInput()
set the input selection handler.


setLabel

public void setLabel()
Change the selection handler from selecting units to moving labels. Moving labels is of course no selection but it looks nasty if units get selected while dragging the label around. Therefore the current selection handler gets disabled.


getVisualizations

@Deprecated
public BackgroundImageVisualizer[] getVisualizations()
Deprecated. use Visualizations instead


getCurrentVisualization

public BackgroundImageVisualizer getCurrentVisualization()

setNoVisualization

public void setNoVisualization()

setInitialVisualization

public boolean setInitialVisualization(BackgroundImageVisualizer vis,
                                       int variant)
                                throws SOMToolboxException
Throws:
SOMToolboxException

setVisualization

public boolean setVisualization(BackgroundImageVisualizer vis,
                                int variant)
                         throws SOMToolboxException
Throws:
SOMToolboxException

setVisualization

public boolean setVisualization(int vis,
                                int variant)
                         throws SOMToolboxException
Throws:
SOMToolboxException

getClassLegendColors

public Color[] getClassLegendColors()

getClassLegendNames

public String[] getClassLegendNames()

updateVisualization

public void updateVisualization()

updateClassSelection

public void updateClassSelection(int[] indices)

setShowOnlySelectedClasses

public void setShowOnlySelectedClasses(boolean selectedClassesOnly)

updateClassSelection

private void updateClassSelection(int[] indices,
                                  MapPNode mapPNode)

setClassColor

public void setClassColor(int index,
                          Color color)

centerAndFitMapToScreen

public void centerAndFitMapToScreen(int animationDuration)
Overrides:
centerAndFitMapToScreen in class GenericPNodeScrollPane

getMap

public MapPNode getMap()

updateSOMComparison

public void updateSOMComparison()
                         throws SOMToolboxException
Is called when the comparison object for comparison between two SOMs must be changed. Either loads new second SOM and computes new arrows accordingly, or throws away all currently held arrows (if the comparison object is unloaded).

Throws:
SOMToolboxException

useSecSOMOffset

public void useSecSOMOffset()

setSecSOMPosition

public void setSecSOMPosition()
Sets the position of the second SOM according to attribute secMapPosition


setSecSOMPosition

public void setSecSOMPosition(String position)
Sets the position of the second SOM according to position and saves the position in attribute secMapPosition


getState

public CommonSOMViewerStateData getState()

getSecMapXOffset

public double getSecMapXOffset()

setSecMapXOffset

public void setSecMapXOffset(double secMapXOffset)

getSecMapYOffset

public double getSecMapYOffset()

setSecMapYOffset

public void setSecMapYOffset(double secMapYOffset)

getSOMComparision

public SOMComparison getSOMComparision()

getSecondMap

public MapPNode getSecondMap()

getQuiver

public QuiverPNode getQuiver()

isShiftArrowsVisibility

public boolean isShiftArrowsVisibility()

setShiftArrowsVisibility

public void setShiftArrowsVisibility(boolean shiftArrowsVisibility)

updateSecMap

private void updateSecMap()

updateQuiver

private void updateQuiver()