org.opensourcephysics.cabrillo.tracker
Class TrackChooserTView

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.opensourcephysics.cabrillo.tracker.TrackChooserTView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, TView
Direct Known Subclasses:
PlotTView, TableTView

public abstract class TrackChooserTView
extends javax.swing.JPanel
implements TView

This displays track views selected from a dropdown list. This is an abstract class and cannot be instantiated directly.

Author:
Douglas Brown
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JComboBox dropdown
           
protected  javax.swing.JPanel noData
           
protected  javax.swing.JLabel noDataLabel
           
protected  boolean refreshing
           
protected  TTrack selectedTrack
           
protected  java.util.ArrayList<java.awt.Component> toolbarComponents
           
protected  TrackerPanel trackerPanel
           
protected  java.util.Map<java.lang.Object,TTrack> tracks
           
protected  java.util.Map<TTrack,TrackView> trackViews
           
 
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
protected TrackChooserTView(TrackerPanel panel)
          Constructs a TrackChooserView for the specified tracker panel.
 
Method Summary
 void cleanup()
          Cleans up this view
protected abstract  TrackView createTrackView(TTrack track)
          Creates a view for the specified track
 TTrack getSelectedTrack()
          Gets the selected track
 java.util.ArrayList<java.awt.Component> getToolBarComponents()
          Gets the toolbar components
protected  TTrack getTrack(java.lang.String name)
          Gets a track with the specified name
 TrackerPanel getTrackerPanel()
          Gets the tracker panel containing the tracks
 TrackView getTrackView(TTrack track)
          Gets the track view for the specified track
abstract  java.lang.String getViewName()
          Gets the name of the view
 void init()
          Initializes this view
 boolean isCustomState()
          Returns true if this view is in a custom state.
 void propertyChange(java.beans.PropertyChangeEvent e)
          Responds to property change events.
 void refresh()
          Refreshes the dropdown list and track views.
protected  void refreshMenus()
          Refreshes the configuration.
 void setSelectedTrack(TTrack track)
          Sets the selected track
 
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
 
Methods inherited from interface org.opensourcephysics.cabrillo.tracker.TView
getViewIcon
 

Field Detail

trackerPanel

protected TrackerPanel trackerPanel

trackViews

protected java.util.Map<TTrack,TrackView> trackViews

tracks

protected java.util.Map<java.lang.Object,TTrack> tracks

dropdown

protected javax.swing.JComboBox dropdown

toolbarComponents

protected java.util.ArrayList<java.awt.Component> toolbarComponents

refreshing

protected boolean refreshing

selectedTrack

protected TTrack selectedTrack

noData

protected javax.swing.JPanel noData

noDataLabel

protected javax.swing.JLabel noDataLabel
Constructor Detail

TrackChooserTView

protected TrackChooserTView(TrackerPanel panel)
Constructs a TrackChooserView for the specified tracker panel.

Parameters:
panel - the tracker panel
Method Detail

refresh

public void refresh()
Refreshes the dropdown list and track views.

Specified by:
refresh in interface TView

refreshMenus

protected void refreshMenus()
Refreshes the configuration.


init

public void init()
Initializes this view

Specified by:
init in interface TView

cleanup

public void cleanup()
Cleans up this view

Specified by:
cleanup in interface TView

getTrackerPanel

public TrackerPanel getTrackerPanel()
Gets the tracker panel containing the tracks

Specified by:
getTrackerPanel in interface TView
Returns:
the tracker panel

getSelectedTrack

public TTrack getSelectedTrack()
Gets the selected track

Returns:
the track

setSelectedTrack

public void setSelectedTrack(TTrack track)
Sets the selected track

Parameters:
track - the track to be selected

getTrackView

public TrackView getTrackView(TTrack track)
Gets the track view for the specified track

Parameters:
track - the track to be viewed
Returns:
the track view

getViewName

public abstract java.lang.String getViewName()
Gets the name of the view

Specified by:
getViewName in interface TView
Returns:
the name of this view

getToolBarComponents

public java.util.ArrayList<java.awt.Component> getToolBarComponents()
Gets the toolbar components

Specified by:
getToolBarComponents in interface TView
Returns:
an ArrayList of components to be added to a toolbar

isCustomState

public boolean isCustomState()
Returns true if this view is in a custom state.

Specified by:
isCustomState in interface TView
Returns:
true if in a custom state, false if in the default state

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent e)
Responds to property change events. This receives the following events: "track", "transform" from trackerPanel; "name", "color", footprint" and "data" from selected track.

Specified by:
propertyChange in interface java.beans.PropertyChangeListener
Parameters:
e - the property change event

createTrackView

protected abstract TrackView createTrackView(TTrack track)
Creates a view for the specified track

Parameters:
track - the track to be viewed
Returns:
the track view

getTrack

protected TTrack getTrack(java.lang.String name)
Gets a track with the specified name

Parameters:
name - the name of the track
Returns:
the track