org.opensourcephysics.tools
Class ParamEditor

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.ParamEditor
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
Direct Known Subclasses:
InitialValueEditor

public class ParamEditor
extends FunctionEditor

A FunctionEditor for Parameters.

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
protected  double[] paramValues
           
 
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
ParamEditor()
          Default constructor
ParamEditor(DatasetManager input)
          Constructor using a DatasetManager to define initial parameters
 
Method Summary
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.
 java.util.ArrayList<Parameter> evaluateDependents(Parameter seed)
          Evaluates parameters that depend on the named parameter.
protected  void evaluateObject(java.lang.Object obj)
          Evaluates an object.
protected  java.lang.String getDefaultName()
          Returns the default name for newly created objects.
 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.
 Parameter[] getParameters()
          Gets an array containing copies of the current parameters.
 java.lang.String getTooltip(java.lang.Object obj)
          Returns a tooltip for the object.
 double[] getValues()
          Gets the current parameter values.
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.
protected  void refreshParametersFromData()
          Refreshes the parameters based on the current data properties map.
protected  void refreshParametersFromFunction(UserFunction f)
          Refreshes the parameters based on the current data properties map.
 void setFunctionEditors(FunctionEditor[] editors)
          Sets the function editors that use these parameters.
 void setParameters(Parameter[] params)
          Replaces the current parameters with new ones.
 
Methods inherited from class org.opensourcephysics.tools.FunctionEditor
addObject, addObject, containsInvalidExpressions, createGUI, createUniqueObject, format, getClipboardContents, getNames, getObject, getObjects, getParamEditor, getPartlyEditableRowCount, getPreferredSize, getReferences, getSelectedObject, getSelectedObjects, getTable, getUndoableEdit, getVariablesString, isImportant, isRemovable, propertyChange, refreshButtons, refreshStrings, removeObject, 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
 

Field Detail

paramValues

protected double[] paramValues
Constructor Detail

ParamEditor

public ParamEditor()
Default constructor


ParamEditor

public ParamEditor(DatasetManager input)
Constructor using a DatasetManager to define initial parameters

Parameters:
input - the DatasetManager
Method Detail

getParameters

public Parameter[] getParameters()
Gets an array containing copies of the current parameters.

Returns:
an array of Parameters

setParameters

public void setParameters(Parameter[] params)
Replaces the current parameters with new ones.

Parameters:
params - an array of Parameters

setFunctionEditors

public void setFunctionEditors(FunctionEditor[] editors)
Sets the function editors that use these parameters.

Parameters:
editors - an array of FunctionEditors

getValues

public double[] getValues()
Gets the current parameter values.

Returns:
an array of values

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

getTooltip

public java.lang.String getTooltip(java.lang.Object obj)
Returns a tooltip for the object.

Overrides:
getTooltip in class FunctionEditor
Parameters:
obj - the object
Returns:
the tooltip

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

evaluateObject

protected void evaluateObject(java.lang.Object obj)
Evaluates an object.


evaluateDependents

public java.util.ArrayList<Parameter> evaluateDependents(Parameter seed)
Evaluates parameters that depend on the named parameter.

Parameters:
seed - the independent parameter
Returns:
a list of evaluated dependent parameters

evaluateAll

public void evaluateAll()
Evaluates all current objects.

Overrides:
evaluateAll 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

paste

protected void paste()
Pastes the clipboard contents.

Overrides:
paste 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 always returns a new Parameter but copies the editable properties.

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

refreshGUI

protected void refreshGUI()
Refreshes the GUI.

Overrides:
refreshGUI in class FunctionEditor

refreshParametersFromData

protected void refreshParametersFromData()
Refreshes the parameters based on the current data properties map.


refreshParametersFromFunction

protected void refreshParametersFromFunction(UserFunction f)
Refreshes the parameters based on the current data properties map.


getDefaultName

protected java.lang.String getDefaultName()
Returns the default name for newly created objects.

Overrides:
getDefaultName in class FunctionEditor