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, anglesInDegrees, buttonPanel, circularErrors, copyButton, customButtons, cutButton, DEGREES, dragLabel, editTypes, errors, evaluate, EXPRESSION_EDIT, forbiddenNames, functionPanel, NAME_EDIT, names, newButton, objects, OMEGA, paramEditor, pasteButton, removablesAtTop, REMOVE_EDIT, sortedObjects, table, tableCellEditor, tableCellRenderer, tableModel, tableScroller, THETA, titledBorder, undoEditsEnabled, usePopupEditor
 
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.
 void loadParametersFromData()
          Loads parameters from the current datasetManager.
protected  void paste()
          Pastes the clipboard contents.
protected  void refreshGUI()
          Refreshes the GUI.
protected  void refreshParametersFromFunction(UserFunction f)
          Refreshes the parameters associated with a user function.
 void setDescription(java.lang.String name, java.lang.String description)
          Sets the description of the named parameter, if any.
 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, round, setAnglesInDegrees, setBorderTitle, setCustomButtons, setExpression, setObjects, setParamEditor, setReferences, setUsePopupEditor
 
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

setDescription

public void setDescription(java.lang.String name,
                           java.lang.String description)
Sets the description of the named parameter, if any.

Parameters:
name - the name
description - the description

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

loadParametersFromData

public void loadParametersFromData()
Loads parameters from the current datasetManager.


refreshParametersFromFunction

protected void refreshParametersFromFunction(UserFunction f)
Refreshes the parameters associated with a user function.


getDefaultName

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

Overrides:
getDefaultName in class FunctionEditor