org.opensourcephysics.tools
Class DataFunctionEditor

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.FunctionEditor
                      extended by org.opensourcephysics.tools.DataFunctionEditor
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class DataFunctionEditor
extends FunctionEditor

A FunctionEditor for DataFunctions.

Author:
Douglas Brown
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.opensourcephysics.tools.FunctionEditor
FunctionEditor.DefaultEdit, FunctionEditor.Table, FunctionEditor.TableModel
 
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
 
Fields inherited from class org.opensourcephysics.tools.FunctionEditor
ADD_EDIT, buttonPanel, circularErrors, copyButton, customButtons, cutButton, editTypes, errors, evaluate, EXPRESSION_EDIT, forbiddenNames, functionPanel, NAME_EDIT, names, newButton, objects, paramEditor, pasteButton, removablesAtTop, REMOVE_EDIT, sortedObjects, table, tableCellEditor, tableCellRenderer, tableModel, tableScroller
 
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
DataFunctionEditor(DatasetManager data)
          Constructor.
 
Method Summary
 java.lang.Object addObject(java.lang.Object obj, int row, boolean postEdit, boolean firePropertyChange)
          Adds an object.
protected  java.lang.Object createObject(java.lang.String name, java.lang.String expression, java.lang.Object obj)
          Creates an object with specified name and expression.
 void evaluateAll()
          Evaluates all current objects.
 DatasetManager getData()
          Returns the DatasetManager.
 java.lang.String getExpression(java.lang.Object obj)
          Returns the expression of the object.
 java.lang.String getName(java.lang.Object obj)
          Returns the name of the object.
protected  java.lang.String getVariablesString()
          Returns a String with the names of variables available for expressions.
protected  boolean isDisallowedName(java.lang.Object obj, java.lang.String name)
          Returns true if a name is already in use.
 boolean isExpressionEditable(java.lang.Object obj)
          Determines if an object's expression is editable.
protected  boolean isInvalidExpression(java.lang.Object obj)
          Returns true if the object expression is invalid.
 boolean isNameEditable(java.lang.Object obj)
          Determines if an object's name is editable.
protected  void paste()
          Pastes the clipboard contents.
protected  void refreshGUI()
          Refreshes the GUI.
 java.lang.Object removeObject(java.lang.Object obj, boolean postEdit)
          Removes an object.
 
Methods inherited from class org.opensourcephysics.tools.FunctionEditor
addObject, containsInvalidExpressions, createGUI, createUniqueObject, format, getClipboardContents, getDefaultName, getNames, getObject, getObjects, getParamEditor, getPartlyEditableRowCount, getPreferredSize, getReferences, getSelectedObject, getSelectedObjects, getTable, getTooltip, getUndoableEdit, isImportant, isRemovable, propertyChange, refreshButtons, refreshStrings, setCustomButtons, setExpression, setObjects, setParamEditor, setReferences
 
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, 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
 

Constructor Detail

DataFunctionEditor

public DataFunctionEditor(DatasetManager data)
Constructor.

Parameters:
data - the data source for DataFunctions
Method Detail

getData

public DatasetManager getData()
Returns the DatasetManager.

Returns:
the DatasetManager

getName

public java.lang.String getName(java.lang.Object obj)
Returns the name of the object.

Overrides:
getName in class FunctionEditor
Parameters:
obj - the object
Returns:
the name

getExpression

public java.lang.String getExpression(java.lang.Object obj)
Returns the expression of the object.

Overrides:
getExpression in class FunctionEditor
Parameters:
obj - the object
Returns:
the expression

isNameEditable

public boolean isNameEditable(java.lang.Object obj)
Determines if an object's name is editable.

Overrides:
isNameEditable in class FunctionEditor
Parameters:
obj - the object
Returns:
true if the name is editable

isExpressionEditable

public boolean isExpressionEditable(java.lang.Object obj)
Determines if an object's expression is editable.

Overrides:
isExpressionEditable in class FunctionEditor
Parameters:
obj - the object
Returns:
true if the expression is editable

evaluateAll

public void evaluateAll()
Evaluates all current objects.

Overrides:
evaluateAll in class FunctionEditor

addObject

public java.lang.Object addObject(java.lang.Object obj,
                                  int row,
                                  boolean postEdit,
                                  boolean firePropertyChange)
Adds an object.

Overrides:
addObject in class FunctionEditor
Parameters:
obj - the object
postEdit - true to post an undoable edit
row - the row
firePropertyChange - true to fire a property change event
Returns:
the added object

removeObject

public java.lang.Object removeObject(java.lang.Object obj,
                                     boolean postEdit)
Removes an object.

Overrides:
removeObject in class FunctionEditor
Parameters:
obj - the object to remove
postEdit - true to post an undoable edit
Returns:
the removed object

refreshGUI

protected void refreshGUI()
Refreshes the GUI.

Overrides:
refreshGUI in class FunctionEditor

isDisallowedName

protected boolean isDisallowedName(java.lang.Object obj,
                                   java.lang.String name)
Returns true if a name is already in use.

Overrides:
isDisallowedName in class FunctionEditor
Parameters:
obj - the object (may be null)
name - the proposed name for the object
Returns:
true if duplicate

getVariablesString

protected java.lang.String getVariablesString()
Returns a String with the names of variables available for expressions. This default returns the names of all objects except the selected one.

Overrides:
getVariablesString in class FunctionEditor

isInvalidExpression

protected boolean isInvalidExpression(java.lang.Object obj)
Returns true if the object expression is invalid.

Overrides:
isInvalidExpression in class FunctionEditor

createObject

protected java.lang.Object createObject(java.lang.String name,
                                        java.lang.String expression,
                                        java.lang.Object obj)
Creates an object with specified name and expression. This modifies and returns the input DataFunction (unless null).

Overrides:
createObject in class FunctionEditor
Parameters:
name - the name
expression - the expression
obj - ignored
Returns:
the object

paste

protected void paste()
Pastes the clipboard contents.

Overrides:
paste in class FunctionEditor