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

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
All Implemented Interfaces:
UnitSelectionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ListSelectionListener
Direct Known Subclasses:
ComparisonPanel, DocSOMPanel, GHSOMNavigationPanel, MultichannelPlaybackPanel, PlaySOMPanel, PlaySOMPlayer

public abstract class AbstractSelectionPanel
extends AbstractViewerControl
implements UnitSelectionListener, ListSelectionListener

Version:
$Id: AbstractSelectionPanel.java 3873 2010-10-28 09:29:58Z frank $
Author:
Rudolf Mayer
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
protected  Vector<String>[] absPathVectors
           
protected  int currentSelectionArea
           
protected  ItemSelectionListener itemListener
           
protected  JScrollPane[] listScrollers
           
protected  Vector<GeneralUnitPNode> markedUnits
          units graphically marked on the map.
protected  DefaultListModel[] playlistmodels
           
protected  JList[] playlists
           
private  int selectionAreaCount
           
protected  GeneralUnitPNode[][] selections
           
private static long serialVersionUID
           
protected  Vector<Unit> unitsInPlaylist
          units that contribute to the current playlist.
 
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
AbstractSelectionPanel(LayoutManager layout, CommonSOMViewerStateData state, String title)
           
AbstractSelectionPanel(LayoutManager layout, CommonSOMViewerStateData state, String title, int selectionAreaCount)
           
 
Method Summary
protected  void addListScrollPanels(GridBagConstraints c)
           
protected  void addSingleListScrollPanel(Object constraints)
           
 void addToList(String elementName, String fileNamePrefix, Unit u)
          adds an element to the current playlist and the absPathVectors
 void addToList(String elementName, Unit u)
          adds an element to the current playlist and the absPathVectors
 void clearList()
          Clears the current playlist and the absPathVectors.
If there are units currently marked on the map, the mark is removed.
 ItemSelectionListener getItemListener()
           
protected  Object[] getSelectedSongs()
          get a String[] containing all objects (absolute paths) in current selection panel
protected  Object[] getSelectedSongs(int selectionArea)
          get a String[] containing all objects (absolute paths) in the given selection panel
protected  void markUnit(int x, int y)
          graphically marks a unit on the map, and preserves the list of marked units for later clearance
 void setItemListener(ItemSelectionListener itemListener)
           
 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
protected  void unmarkUnits()
          Unmarks all currently marked units on the map.
Which units are marked is determined by the vector markedUnits
 void valueChanged(ListSelectionEvent e)
           
 
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, getMinimumSize, 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

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

itemListener

protected ItemSelectionListener itemListener

playlistmodels

protected DefaultListModel[] playlistmodels

playlists

protected JList[] playlists

absPathVectors

protected Vector<String>[] absPathVectors

markedUnits

protected Vector<GeneralUnitPNode> markedUnits
units graphically marked on the map.


unitsInPlaylist

protected Vector<Unit> unitsInPlaylist
units that contribute to the current playlist.


listScrollers

protected JScrollPane[] listScrollers

currentSelectionArea

protected int currentSelectionArea

selectionAreaCount

private int selectionAreaCount

selections

protected GeneralUnitPNode[][] selections
Constructor Detail

AbstractSelectionPanel

public AbstractSelectionPanel(LayoutManager layout,
                              CommonSOMViewerStateData state,
                              String title)

AbstractSelectionPanel

public AbstractSelectionPanel(LayoutManager layout,
                              CommonSOMViewerStateData state,
                              String title,
                              int selectionAreaCount)
Method Detail

getItemListener

public ItemSelectionListener getItemListener()

setItemListener

public void setItemListener(ItemSelectionListener itemListener)

getSelectedSongs

protected Object[] getSelectedSongs()
get a String[] containing all objects (absolute paths) in current selection panel

Returns:
an array of selected objects

getSelectedSongs

protected Object[] getSelectedSongs(int selectionArea)
get a String[] containing all objects (absolute paths) in the given selection panel

Returns:
an array of selected objects

clearList

public void clearList()
Clears the current playlist and the absPathVectors.
If there are units currently marked on the map, the mark is removed.


addToList

public void addToList(String elementName,
                      Unit u)
adds an element to the current playlist and the absPathVectors


addToList

public void addToList(String elementName,
                      String fileNamePrefix,
                      Unit u)
adds an element to the current playlist and the absPathVectors

Parameters:
fileNamePrefix - an alternative fileNamePrefix

markUnit

protected void markUnit(int x,
                        int y)
graphically marks a unit on the map, and preserves the list of marked units for later clearance


unmarkUnits

protected void unmarkUnits()
Unmarks all currently marked units on the map.
Which units are marked is determined by the vector markedUnits


unitSelectionChanged

public 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

Specified by:
unitSelectionChanged in interface UnitSelectionListener

addListScrollPanels

protected void addListScrollPanels(GridBagConstraints c)

addSingleListScrollPanel

protected void addSingleListScrollPanel(Object constraints)

valueChanged

public void valueChanged(ListSelectionEvent e)
Specified by:
valueChanged in interface ListSelectionListener