Package org.opensourcephysics.tools
Class ParamEditor
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.opensourcephysics.tools.FunctionEditor
org.opensourcephysics.tools.ParamEditor
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,EventListener
,Accessible
- Direct Known Subclasses:
InitialValueEditor
A FunctionEditor for Parameters.
- Author:
- Douglas Brown
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.opensourcephysics.tools.FunctionEditor
FunctionEditor.DefaultEdit, FunctionEditor.FObject, FunctionEditor.Table, FunctionEditor.TableModel
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String[]
protected double[]
protected JCheckBox
protected boolean
Fields inherited from class org.opensourcephysics.tools.FunctionEditor
ADD_EDIT, addButtonPanel, allowPopopFieldTooltip, anglesInDegrees, circularErrors, confirmChanges, DEGREES, editTypes, errors, evaluate, EXPRESSION_EDIT, forbiddenNames, functionPanel, NAME_EDIT, names, newButtonTipText, objects, OMEGA, paramEditor, PROPERTY_FUNCTIONEDITOR_ANGLESINRADIANS, PROPERTY_FUNCTIONEDITOR_CLIPBOARD, PROPERTY_FUNCTIONEDITOR_DESCRIPTION, PROPERTY_FUNCTIONEDITOR_EDIT, PROPERTY_FUNCTIONEDITOR_FOCUS, PROPERTY_FUNCTIONEDITOR_PARAM_DESCRIPTION, referencesChecked, removablesAtTop, REMOVE_EDIT, skipAllName, table, tableCellEditor, tableCellRenderer, tableModel, THETA, titledBorderText, undoEditsEnabled
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
ConstructorsConstructorDescriptionDefault constructorParamEditor
(DatasetManager input) Constructor using a DatasetManager to define initial parameters -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Creates the GUI.protected FunctionEditor.FObject
createObject
(String name, String expression, FunctionEditor.FObject obj) Creates an object with specified name and expression.protected void
Sets the synced property of a Parameter.protected void
Refreshes button states.void
Evaluates all current objects.evaluateDependents
(Parameter seed) Evaluates parameters that depend on the named parameter.protected void
Evaluates an object.protected String
Returns the default name for newly created objects.Returns the description of the object.String[]
Gets the current parameter descriptions.Returns the expression of the object.Returns the name of the object.Gets an array containing copies of the current parameters.Returns a tooltip for the object.double[]
Gets the current parameter values.protected boolean
isDisallowedName
(FunctionEditor.FObject obj, String name) Returns true if a name is already in use.boolean
Determines if an object's expression is editable.protected boolean
Determines if an object is important.protected boolean
Returns true if the object expression is invalid.boolean
Determines if an object's name is editable.void
Loads parameters from the current datasetManager.protected void
Pastes the clipboard contents.void
Refreshes the GUI.protected void
Refreshes the parameters associated with a user function.void
setDescription
(String name, String description) Sets the description of the named parameter, if any.void
setDescription
(FunctionEditor.FObject obj, String desc) Sets the description of an object.void
setFunctionEditors
(FunctionEditor[] editors) Sets the function editors that use these parameters.void
setParameters
(Parameter[] params) Replaces the current parameters with new ones.protected void
setReferences
(FunctionEditor.FObject obj, BitSet directReferences) Subclasses implement to set objects referenced in an object's expression.void
setSyncing
(boolean sync) Turns on syncing, used by ModelBuilder to sync Parametersprotected void
Methods inherited from class org.opensourcephysics.tools.FunctionEditor
addObject, addObject, checkGUI, containsInvalidExpressions, createUniqueObject, format, getClipboardContentsAsync, getConfirmChanges, getFunctionPanel, getNames, getObject, getObjects, getParamEditor, getPartlyEditableRowCount, getPreferredSize, getSelectedObject, getSelectedObjects, getTable, getUndoableEdit, getVariablePoints, getVariablesString, getVariablesString, hasReference, haveGUI, isRemovable, isValidExpression, propertyChange, references, refreshStrings, removeObject, round, setAnglesInDegrees, setArrays, setBorderTitle, setConfirmChanges, setCustomButtons, setExpression, setFunctionPanel, setObjects, setParamEditor, setVisible, tabToNext, updateTable
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
paramValues
protected double[] paramValues -
paramDescriptions
-
syncedCheckbox
-
syncing
protected boolean syncing
-
-
Constructor Details
-
ParamEditor
public ParamEditor()Default constructor -
ParamEditor
Constructor using a DatasetManager to define initial parameters- Parameters:
input
- the DatasetManager
-
-
Method Details
-
createGUI
protected void createGUI()Description copied from class:FunctionEditor
Creates the GUI.- Overrides:
createGUI
in classFunctionEditor
-
refreshGUI
public void refreshGUI()Description copied from class:FunctionEditor
Refreshes the GUI.- Overrides:
refreshGUI
in classFunctionEditor
-
enableMenuButtons
protected void enableMenuButtons()Description copied from class:FunctionEditor
Refreshes button states.- Overrides:
enableMenuButtons
in classFunctionEditor
-
doSyncAction
protected void doSyncAction()Sets the synced property of a Parameter.- Parameters:
synced
- booleanparam
- the Parameter
-
getParameters
Gets an array containing copies of the current parameters.- Returns:
- an array of Parameters
-
setParameters
Replaces the current parameters with new ones.- Parameters:
params
- an array of Parameters
-
setFunctionEditors
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
-
getDescriptions
Gets the current parameter descriptions.- Returns:
- an array of descriptions
-
getName
Returns the name of the object.- Specified by:
getName
in classFunctionEditor
- Parameters:
obj
- the object- Returns:
- the name
-
getExpression
Returns the expression of the object.- Specified by:
getExpression
in classFunctionEditor
- Parameters:
obj
- the object- Returns:
- the expression
-
getDescription
Returns the description of the object.- Specified by:
getDescription
in classFunctionEditor
- Parameters:
obj
- the object- Returns:
- the description
-
setDescription
Sets the description of an object.- Overrides:
setDescription
in classFunctionEditor
- Parameters:
obj
- the objectdesc
- the description
-
setDescription
Sets the description of the named parameter, if any.- Parameters:
name
- the namedescription
- the description
-
setSyncing
public void setSyncing(boolean sync) Turns on syncing, used by ModelBuilder to sync Parameters- Parameters:
obj
- the object
-
getTooltip
Returns a tooltip for the object.- Specified by:
getTooltip
in classFunctionEditor
- Parameters:
obj
- the object- Returns:
- the tooltip
-
isNameEditable
Determines if an object's name is editable.- Overrides:
isNameEditable
in classFunctionEditor
- Parameters:
obj
- the object- Returns:
- true if the name is editable
-
isExpressionEditable
Determines if an object's expression is editable.- Overrides:
isExpressionEditable
in classFunctionEditor
- Parameters:
obj
- the object- Returns:
- true if the expression is editable
-
evaluateObject
Evaluates an object. -
evaluateDependents
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.- Specified by:
evaluateAll
in classFunctionEditor
-
isDisallowedName
Returns true if a name is already in use.- Overrides:
isDisallowedName
in classFunctionEditor
- Parameters:
obj
- the object (may be null)name
- the proposed name for the object- Returns:
- true if duplicate
-
pasteAction
protected void pasteAction()Pastes the clipboard contents.- Overrides:
pasteAction
in classFunctionEditor
-
isInvalidExpression
Returns true if the object expression is invalid.- Specified by:
isInvalidExpression
in classFunctionEditor
-
createObject
protected FunctionEditor.FObject createObject(String name, String expression, FunctionEditor.FObject obj) Creates an object with specified name and expression. This always returns a new Parameter but copies the editable properties.- Specified by:
createObject
in classFunctionEditor
- Parameters:
name
- the nameexpression
- the expressionobj
- ignored- Returns:
- the object
-
setTitles
protected void setTitles()- Specified by:
setTitles
in classFunctionEditor
-
loadParametersFromData
public void loadParametersFromData()Loads parameters from the current datasetManager. -
refreshParametersFromFunction
Refreshes the parameters associated with a user function. -
getDefaultName
Returns the default name for newly created objects.- Overrides:
getDefaultName
in classFunctionEditor
-
isImportant
Description copied from class:FunctionEditor
Determines if an object is important.- Specified by:
isImportant
in classFunctionEditor
- Parameters:
obj
- the object- Returns:
- true if important
-
setReferences
Description copied from class:FunctionEditor
Subclasses implement to set objects referenced in an object's expression.- Specified by:
setReferences
in classFunctionEditor
-