org.opensourcephysics.tools
Class DataToolTab

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.tools.DataToolTab
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
FourierToolTab

public class DataToolTab
extends javax.swing.JPanel

This tab displays and analyses a single Data object in a DataTool.

Version:
1.0
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  DatasetCurveFitter curveFitter
           
protected  javax.swing.JButton dataBuilderButton
           
protected  DatasetManager dataManager
           
protected  DataToolTable dataTable
           
protected  DataTool dataTool
           
protected  java.lang.String fileName
           
protected  javax.swing.Action fitAction
           
protected  javax.swing.JCheckBox fitCheckbox
           
protected  Data[] guests
           
protected  javax.swing.JButton helpButton
           
protected  Data owner
           
protected  org.opensourcephysics.tools.DataToolTab.DataToolPlotter plot
           
protected  javax.swing.Action propsAndStatsAction
           
protected  javax.swing.JCheckBox propsCheckbox
           
protected  javax.swing.JScrollPane propsScroller
           
protected  DataToolPropsTable propsTable
           
protected  org.opensourcephysics.tools.DataToolTab.SelectionBox selectionBox
           
protected  javax.swing.JSplitPane[] splitPanes
           
protected  javax.swing.JCheckBox statsCheckbox
           
protected  javax.swing.JScrollPane statsScroller
           
protected  DataToolStatsTable statsTable
           
protected  javax.swing.JToolBar toolbar
           
protected  java.awt.Point zoomPoint
           
 
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
DataToolTab(Data data, DataTool tool)
          Constructs a DataToolTab for the specified Data and DataTool.
 
Method Summary
 boolean addData(Data data)
          Adds new data to this tab.
protected  void createGUI()
          Creates the GUI.
static XML.ObjectLoader getLoader()
          Returns an ObjectLoader to save and load data for this class.
protected  Data getOwner()
          Returns the data object that owns this tab.
protected  org.opensourcephysics.tools.DataToolTable.WorkingDataset getWorkingData()
          Gets the working dataset.
protected  void init()
          Initializes this panel.
protected  boolean isOwnedBy(Data data)
          Returns true if this tab is owned by the specified Data object.
 void refresh()
          Refreshes the display.
protected  void refreshGUI()
          Refreshes the GUI.
protected  void reloadData(Data data)
          Reloads data from a Data source.
 void setConnected(java.lang.String colName, boolean connected)
          Sets the connected property for a given a column.
 void setMarkersVisible(java.lang.String colName, boolean visible)
          Sets the markers visible property for a given a column.
 void setXYColumns(java.lang.String xColName, java.lang.String yColName)
          Sets the x and y columns by name.
 
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, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

dataTool

protected DataTool dataTool

owner

protected final Data owner

guests

protected Data[] guests

dataManager

protected DatasetManager dataManager

splitPanes

protected javax.swing.JSplitPane[] splitPanes

plot

protected org.opensourcephysics.tools.DataToolTab.DataToolPlotter plot

dataTable

protected DataToolTable dataTable

statsTable

protected DataToolStatsTable statsTable

propsTable

protected DataToolPropsTable propsTable

statsScroller

protected javax.swing.JScrollPane statsScroller

propsScroller

protected javax.swing.JScrollPane propsScroller

toolbar

protected javax.swing.JToolBar toolbar

statsCheckbox

protected javax.swing.JCheckBox statsCheckbox

fitCheckbox

protected javax.swing.JCheckBox fitCheckbox

propsCheckbox

protected javax.swing.JCheckBox propsCheckbox

curveFitter

protected DatasetCurveFitter curveFitter

dataBuilderButton

protected javax.swing.JButton dataBuilderButton

selectionBox

protected org.opensourcephysics.tools.DataToolTab.SelectionBox selectionBox

zoomPoint

protected java.awt.Point zoomPoint

fitAction

protected javax.swing.Action fitAction

propsAndStatsAction

protected javax.swing.Action propsAndStatsAction

fileName

protected java.lang.String fileName

helpButton

protected javax.swing.JButton helpButton
Constructor Detail

DataToolTab

public DataToolTab(Data data,
                   DataTool tool)
Constructs a DataToolTab for the specified Data and DataTool.

Parameters:
data - the Data object
tool - the DataTool
Method Detail

addData

public boolean addData(Data data)
Adds new data to this tab.

Parameters:
data - the data to add
Returns:
true if added

setXYColumns

public void setXYColumns(java.lang.String xColName,
                         java.lang.String yColName)
Sets the x and y columns by name.

Parameters:
xColName - the name of the horizontal axis variable
yColName - the name of the vertical axis variable

setConnected

public void setConnected(java.lang.String colName,
                         boolean connected)
Sets the connected property for a given a column.

Parameters:
colName - the name of the column
connected - true to connect points with lines

setMarkersVisible

public void setMarkersVisible(java.lang.String colName,
                              boolean visible)
Sets the markers visible property for a given a column.

Parameters:
colName - the name of the column
visible - true to show markers

getWorkingData

protected org.opensourcephysics.tools.DataToolTable.WorkingDataset getWorkingData()
Gets the working dataset.

Returns:
the first two data columns in the datatable (x-y order)

getOwner

protected Data getOwner()
Returns the data object that owns this tab.

Returns:
the owner Data

reloadData

protected void reloadData(Data data)
Reloads data from a Data source.


createGUI

protected void createGUI()
Creates the GUI.


refreshGUI

protected void refreshGUI()
Refreshes the GUI.


init

protected void init()
Initializes this panel.


isOwnedBy

protected boolean isOwnedBy(Data data)
Returns true if this tab is owned by the specified Data object.

Parameters:
data - the Data object
Returns:
true if data owns this tab

refresh

public void refresh()
Refreshes the display.


getLoader

public static XML.ObjectLoader getLoader()
Returns an ObjectLoader to save and load data for this class.

Returns:
the object loader