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

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
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, ScrollPaneConstants
Direct Known Subclasses:
SOMPane

public class GenericPNodeScrollPane
extends edu.umd.cs.piccolox.swing.PScrollPane

A generic scrollable pane that holds a PNode and handles line and rectangle selection events via registered listeners. This class makes use of the Piccolo framework.

Version:
$Id: GenericPNodeScrollPane.java 3590 2010-05-21 10:43:45Z mayer $
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
protected  edu.umd.cs.piccolo.PCanvas canvas
           
protected  ClusterSelectionEventHandler clusterSelectionEventHandler
           
protected  UnitSelectionListener[] connectedSelectionHandlers
           
protected  HashSet<UnitSelectionListener> connectedSelectionHandlersSet
           
protected  Point2D lastSelectedPoint
           
protected  edu.umd.cs.piccolo.PNode lineSelection
           
protected  LineSelectionEventHandler lineSelectionEventHandler
           
protected  edu.umd.cs.piccolo.PNode node
           
protected  MyRectangleSelectionEventHandler rectangleSelectionEventHandler
           
private static long serialVersionUID
           
protected  CommonSOMViewerStateData state
           
protected  ToolTipPNode 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
protected GenericPNodeScrollPane()
           
  GenericPNodeScrollPane(CommonSOMViewerStateData state, edu.umd.cs.piccolo.PNode node)
           
 
Method Summary
 void centerAndFitMapToScreen()
           
 void centerAndFitMapToScreen(int animationDuration)
           
 void connectSelectionHandlerTo(UnitSelectionListener panel)
           
 edu.umd.cs.piccolo.PCanvas getCanvas()
           
protected  void init()
           
private  void initPNodeSpecific()
           
 void initSelectionHandlers()
          initialize both selection handlers and set rectangle selection as default.
 void selectionChanged(edu.umd.cs.piccolox.event.PNotification notification)
           
 void setCluster()
          set the cluster selection handler.
 void setLine()
          set the line selection handler.
 void setPNode(edu.umd.cs.piccolo.PNode newPNode)
           
 void setRectangle()
          set the rectangle selection handler.
 
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

canvas

protected edu.umd.cs.piccolo.PCanvas canvas

rectangleSelectionEventHandler

protected MyRectangleSelectionEventHandler rectangleSelectionEventHandler

clusterSelectionEventHandler

protected ClusterSelectionEventHandler clusterSelectionEventHandler

lineSelectionEventHandler

protected LineSelectionEventHandler lineSelectionEventHandler

node

protected edu.umd.cs.piccolo.PNode node

lineSelection

protected edu.umd.cs.piccolo.PNode lineSelection

connectedSelectionHandlers

protected UnitSelectionListener[] connectedSelectionHandlers

connectedSelectionHandlersSet

protected HashSet<UnitSelectionListener> connectedSelectionHandlersSet

lastSelectedPoint

protected Point2D lastSelectedPoint

state

protected CommonSOMViewerStateData state

tooltipNode

protected final ToolTipPNode tooltipNode
Constructor Detail

GenericPNodeScrollPane

public GenericPNodeScrollPane(CommonSOMViewerStateData state,
                              edu.umd.cs.piccolo.PNode node)

GenericPNodeScrollPane

protected GenericPNodeScrollPane()
Method Detail

init

protected void init()

initPNodeSpecific

private void initPNodeSpecific()

selectionChanged

public void selectionChanged(edu.umd.cs.piccolox.event.PNotification notification)

setLine

public void setLine()
set the line selection handler.


setRectangle

public void setRectangle()
set the rectangle selection handler.


setCluster

public void setCluster()
set the cluster selection handler.


getCanvas

public edu.umd.cs.piccolo.PCanvas getCanvas()

initSelectionHandlers

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


centerAndFitMapToScreen

public void centerAndFitMapToScreen(int animationDuration)

connectSelectionHandlerTo

public void connectSelectionHandlerTo(UnitSelectionListener panel)

centerAndFitMapToScreen

public void centerAndFitMapToScreen()

setPNode

public void setPNode(edu.umd.cs.piccolo.PNode newPNode)