at.tuwien.ifs.somtoolbox.apps.viewer.controls
Class GHSOMNavigationPanel

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 at.tuwien.ifs.commons.gui.controls.TitledCollapsiblePanel
                      extended by at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractViewerControl
                          extended by at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractSelectionPanel
                              extended by at.tuwien.ifs.somtoolbox.apps.viewer.controls.GHSOMNavigationPanel
All Implemented Interfaces:
UnitSelectionListener, ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ListSelectionListener

public class GHSOMNavigationPanel
extends AbstractSelectionPanel
implements ActionListener

A panel providing drill down and roll up features for a hierarchical growing som.

Author:
Philip Langer
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class at.tuwien.ifs.commons.gui.controls.TitledCollapsiblePanel
TitledCollapsiblePanel.Orientation
 
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
private static String AC_DRILL_DOWN
          The zoom in action command.
private static String AC_ROLL_UP
          The zoom out action command.
private  JButton btDrillDown
          The drill down JButton.
private  JButton btRollUp
          The roll up JButton.
private  int currentLevel
          the current viewed level
private  Unit currentUnit
          The currently selected Unit.
private static String LBL_DRILL_DOWN_BUTTON
          The label for the zoom in button.
private static String LBL_ROLL_UP_BUTTON
          The label for the zoom out button.
private  Logger logger
          The logger for this type.
private  Vector<SOMFrame> openedFrames
          a vector containing all opened sub-frames
private  GHSOMHierarchyRoot rootLayer
           
private static long serialVersionUID
          The serial id.
private  SOMPane somPane
          Reference to the som pane.
 
Fields inherited from class at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractSelectionPanel
absPathVectors, currentSelectionArea, itemListener, listScrollers, markedUnits, playlistmodels, playlists, selections, unitsInPlaylist
 
Fields inherited from class at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractViewerControl
SMALL_INSETS, smallerFont, smallFont, state
 
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
GHSOMNavigationPanel(CommonSOMViewerStateData state, SOMPane mapPane)
          Constructor.
 
Method Summary
 void actionPerformed(ActionEvent ae)
           
private  void addLayerFrame(GrowingLayer layer)
           
private  void drillDown(Unit unit)
          Drills down the underlying map of the specified Unit.
 int getCurrentLevel()
           
 Dimension getMinimumSize()
           
private  void initGUIElements()
          Initializes the GUI elements.
private  boolean isDrillDownable(Unit unit)
          Returns true if the specified unit has an underlying map and is therefore drill-down-able.
private  boolean isRollUpable(GrowingLayer growingLayer)
          Returns true if the current map is a child of a Unit.
private  void rollUp()
          Rolls up to the parent of the current layer.
 void setCurrentLevel(int currentLevel)
           
 void unitSelectionChanged(Object[] selection, boolean newSelection)
          called whenever the selection has changed, the new selection is added to the JList and to the list of the file's absolute pathnames
 
Methods inherited from class at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractSelectionPanel
addListScrollPanels, addSingleListScrollPanel, addToList, addToList, clearList, getItemListener, getSelectedSongs, getSelectedSongs, markUnit, setItemListener, unmarkUnits, valueChanged
 
Methods inherited from class at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractViewerControl
isFullFunctional, setIcon, setSelected, setVisible
 
Methods inherited from class at.tuwien.ifs.commons.gui.controls.TitledCollapsiblePanel
add, add, add, add, add, getContentBackground, getContentBorder, getContentPane, getDecoratorPadding, getHorizontalTitleAlignment, getHorizontalTitleTextPosition, getIcon, getIconTitleGap, getLayout, getOrientation, getPreferredSize, getShowTitleDecoration, getTitle, getTitleBackground, getTitleBorder, isAnimated, isCollapsed, pack, remove, remove, removeAll, setAnimated, setCollapsed, setContentBackground, setContentBorder, setContentPane, setDecoratorPadding, setHorizontalTitleAlignment, setHorizontalTitleTextPosition, setIcon, setIconTitleGap, setLayout, setOrientation, setShowTitleDecoration, setTitle, setTitleBackground, setTitleBorder
 
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, getNextFocusableComponent, getPopupLocation, 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, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, 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, 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

AC_DRILL_DOWN

private static final String AC_DRILL_DOWN
The zoom in action command.

See Also:
Constant Field Values

AC_ROLL_UP

private static final String AC_ROLL_UP
The zoom out action command.

See Also:
Constant Field Values

LBL_DRILL_DOWN_BUTTON

private static final String LBL_DRILL_DOWN_BUTTON
The label for the zoom in button.

See Also:
Constant Field Values

LBL_ROLL_UP_BUTTON

private static final String LBL_ROLL_UP_BUTTON
The label for the zoom out button.

See Also:
Constant Field Values

serialVersionUID

private static final long serialVersionUID
The serial id.

See Also:
Constant Field Values

btDrillDown

private JButton btDrillDown
The drill down JButton.


btRollUp

private JButton btRollUp
The roll up JButton.


currentLevel

private int currentLevel
the current viewed level


currentUnit

private Unit currentUnit
The currently selected Unit.


logger

private Logger logger
The logger for this type.


openedFrames

private Vector<SOMFrame> openedFrames
a vector containing all opened sub-frames


rootLayer

private GHSOMHierarchyRoot rootLayer

somPane

private SOMPane somPane
Reference to the som pane.

Constructor Detail

GHSOMNavigationPanel

public GHSOMNavigationPanel(CommonSOMViewerStateData state,
                            SOMPane mapPane)
Constructor.

Parameters:
state - state.
mapPane - som map.
Method Detail

actionPerformed

public void actionPerformed(ActionEvent ae)
Specified by:
actionPerformed in interface ActionListener

addLayerFrame

private void addLayerFrame(GrowingLayer layer)

drillDown

private void drillDown(Unit unit)
Drills down the underlying map of the specified Unit.

Parameters:
unit - the node to zoom into.

getCurrentLevel

public int getCurrentLevel()

getMinimumSize

public Dimension getMinimumSize()
Overrides:
getMinimumSize in class JComponent

initGUIElements

private void initGUIElements()
Initializes the GUI elements.


isDrillDownable

private boolean isDrillDownable(Unit unit)
Returns true if the specified unit has an underlying map and is therefore drill-down-able.

Parameters:
unit - Unit to check.
Returns:
true if drill-down-able, false otherwhise.

isRollUpable

private boolean isRollUpable(GrowingLayer growingLayer)
Returns true if the current map is a child of a Unit.

Returns:
true if roll up is possible, false otherwise.

rollUp

private void rollUp()
Rolls up to the parent of the current layer.


setCurrentLevel

public void setCurrentLevel(int currentLevel)

unitSelectionChanged

public void unitSelectionChanged(Object[] selection,
                                 boolean newSelection)
Description copied from class: AbstractSelectionPanel
called whenever the selection has changed, the new selection is added to the JList and to the list of the file's absolute pathnames

Specified by:
unitSelectionChanged in interface UnitSelectionListener
Overrides:
unitSelectionChanged in class AbstractSelectionPanel