org.opensourcephysics.cabrillo.tracker
Class TableTrackView

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 org.opensourcephysics.cabrillo.tracker.TrackView
                      extended by org.opensourcephysics.cabrillo.tracker.TableTrackView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.ScrollPaneConstants

public class TableTrackView
extends TrackView

This displays a table view of a track on a TrackerPanel.

Author:
Douglas Brown, John Welch
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JScrollPane
javax.swing.JScrollPane.AccessibleJScrollPane, javax.swing.JScrollPane.ScrollBar
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JCheckBox[] checkBoxes
           
protected  javax.swing.JButton chooserButton
           
protected  javax.swing.JPanel columnsPanel
           
protected  javax.swing.JScrollPane columnsScroller
           
protected  javax.swing.JMenuItem copyImageItem
           
protected  javax.swing.JMenuItem copyItem
           
protected  DatasetManager data
           
protected  javax.swing.JMenuItem dataFunctionToolItem
           
protected  DataTable dataTable
           
protected  javax.swing.JMenuItem dataToolItem
           
protected  java.awt.Font font
           
protected  javax.swing.JMenuItem helpItem
           
protected  int highlightRow
           
protected  boolean highlightVisible
           
protected  TableTView parentView
           
protected  javax.swing.JPopupMenu popup
           
protected  javax.swing.JMenuItem printItem
           
protected  boolean refresh
           
protected  DatasetManager tableData
           
protected  java.lang.String xVar
           
protected  java.lang.String yVar
           
 
Fields inherited from class org.opensourcephysics.cabrillo.tracker.TrackView
toolbarComponents, track, trackerPanel
 
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
TableTrackView(TTrack track, TrackerPanel panel, TableTView view)
          Constructs a TrackTableView of the specified track on the specified tracker panel.
 
Method Summary
protected  void createGUI()
          Creates the GUI.
protected  javax.swing.JScrollPane getColumnChoices()
           
 DataTable getDataTable()
          Gets the datatable.
protected  TViewChooser getOwner()
          Gets the TViewChooser that owns (displays) this view.
 java.util.ArrayList<java.awt.Component> getToolBarComponents()
          Gets the toolbar components
 boolean isCustomState()
          Returns true if this trackview is in a custom state.
 void propertyChange(java.beans.PropertyChangeEvent e)
          Responds to property change events.
 void refresh(int frameNumber)
          Refreshes this view.
protected  void setHighlighted(int frameNumber)
          Sets the highlighted point.
 void setVisible(int index, boolean visible)
          Sets the visibility of a dataset specified by index
 void setVisible(java.lang.String name, boolean visible)
          Sets the visibility of a dataset specified by name
 
Methods inherited from class org.opensourcephysics.cabrillo.tracker.TrackView
getName
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, 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, setUI, 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, 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, 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, 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

parentView

protected TableTView parentView

dataTable

protected DataTable dataTable

chooserButton

protected javax.swing.JButton chooserButton

popup

protected javax.swing.JPopupMenu popup

columnsPanel

protected javax.swing.JPanel columnsPanel

columnsScroller

protected javax.swing.JScrollPane columnsScroller

data

protected DatasetManager data

tableData

protected DatasetManager tableData

checkBoxes

protected javax.swing.JCheckBox[] checkBoxes

copyItem

protected javax.swing.JMenuItem copyItem

copyImageItem

protected javax.swing.JMenuItem copyImageItem

printItem

protected javax.swing.JMenuItem printItem

helpItem

protected javax.swing.JMenuItem helpItem

dataToolItem

protected javax.swing.JMenuItem dataToolItem

dataFunctionToolItem

protected javax.swing.JMenuItem dataFunctionToolItem

xVar

protected java.lang.String xVar

yVar

protected java.lang.String yVar

refresh

protected boolean refresh

highlightVisible

protected boolean highlightVisible

highlightRow

protected int highlightRow

font

protected java.awt.Font font
Constructor Detail

TableTrackView

public TableTrackView(TTrack track,
                      TrackerPanel panel,
                      TableTView view)
Constructs a TrackTableView of the specified track on the specified tracker panel.

Parameters:
track - the track
panel - the tracker panel
view - the TableTView that will display this
Method Detail

refresh

public void refresh(int frameNumber)
Refreshes this view.

Parameters:
frameNumber - the frame number

getDataTable

public DataTable getDataTable()
Gets the datatable.

Returns:
the datatable

getToolBarComponents

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

Overrides:
getToolBarComponents in class TrackView
Returns:
an ArrayList of components to be added to a toolbar

isCustomState

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

Returns:
true if in a custom state, false if in the default state

setVisible

public void setVisible(int index,
                       boolean visible)
Sets the visibility of a dataset specified by index

Parameters:
index - the index of the dataset
visible - true to show the dataset column in the table

setVisible

public void setVisible(java.lang.String name,
                       boolean visible)
Sets the visibility of a dataset specified by name

Parameters:
name - the name of the dataset
visible - true to show the dataset column in the table

setHighlighted

protected void setHighlighted(int frameNumber)
Sets the highlighted point.

Parameters:
frameNumber - the frame number

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent e)
Responds to property change events. This listens for the following events: "tab" from TFrame.

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

getOwner

protected TViewChooser getOwner()
Gets the TViewChooser that owns (displays) this view.


createGUI

protected void createGUI()
Creates the GUI.


getColumnChoices

protected javax.swing.JScrollPane getColumnChoices()