Package org.opensourcephysics.tools
Class UserFunctionEditor
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.opensourcephysics.tools.FunctionEditor
org.opensourcephysics.tools.UserFunctionEditor
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,EventListener
,Accessible
A FunctionEditor for UserFunctions.
- 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
FieldsFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddObject
(FunctionEditor.FObject obj, int row, boolean postEdit, boolean firePropertyChange) Adds an object.protected FunctionEditor.FObject
createObject
(String name, String expression, FunctionEditor.FObject obj) Creates an object with specified name and expression.void
Evaluates all current objects.Returns the description of the object.Returns the expression of the object.static XML.ObjectLoader
Returns an ObjectLoader to save and load data for this class.Returns the main user functions.Returns the name of the object.Returns supporting functionsReturns a tooltip for the object.protected String
getVariablesString
(String separator) Returns a String with the names of variables available for expressions.protected boolean
isDisallowedName
(FunctionEditor.FObject obj, String name) Returns true if a name is forbidden or 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's expression is invalid.boolean
Determines if an object's name is editable.void
Responds to property change events.removeObject
(FunctionEditor.FObject obj, boolean postEdit) Removes an object.protected void
setDefaultVariables
(String[] varNames) Sets the default variable names.void
setDescription
(FunctionEditor.FObject obj, String desc) Sets the description of the object.void
setMainFunctions
(UserFunction[] functions) Sets the main user functions.protected void
setReferences
(FunctionEditor.FObject obj, BitSet refs) Informs an object about other objects referenced in its expression.protected void
Methods inherited from class org.opensourcephysics.tools.FunctionEditor
addObject, checkGUI, containsInvalidExpressions, createGUI, createUniqueObject, enableMenuButtons, format, getClipboardContentsAsync, getConfirmChanges, getDefaultName, getFunctionPanel, getNames, getObject, getObjects, getParamEditor, getPartlyEditableRowCount, getPreferredSize, getSelectedObject, getSelectedObjects, getTable, getUndoableEdit, getVariablePoints, getVariablesString, hasReference, haveGUI, isRemovable, isValidExpression, pasteAction, references, refreshGUI, refreshStrings, 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
-
parametersValid
protected boolean parametersValid
-
-
Constructor Details
-
UserFunctionEditor
public UserFunctionEditor()Constructor.
-
-
Method Details
-
setTitles
protected void setTitles()- Specified by:
setTitles
in classFunctionEditor
-
getMainFunctions
Returns the main user functions.- Returns:
- UserFunction[]
-
setMainFunctions
Sets the main user functions.- Parameters:
functions
- UserFunction[]
-
getSupportFunctions
Returns supporting functions- Returns:
- an array of UserFunctions
-
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 the object.- Overrides:
setDescription
in classFunctionEditor
- Parameters:
obj
- the objectdesc
- the description
-
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
-
evaluateAll
public void evaluateAll()Evaluates all current objects.- Specified by:
evaluateAll
in classFunctionEditor
-
addObject
public FunctionEditor.FObject addObject(FunctionEditor.FObject obj, int row, boolean postEdit, boolean firePropertyChange) Adds an object.- Overrides:
addObject
in classFunctionEditor
- Parameters:
obj
- the objectpostEdit
- true to post an undoable editrow
- the rowfirePropertyChange
- true to fire a property change event- Returns:
- the added object
-
removeObject
Removes an object.- Overrides:
removeObject
in classFunctionEditor
- Parameters:
obj
- the object to removepostEdit
- true to post an undoable edit- Returns:
- the removed object
-
getTooltip
Returns a tooltip for the object.- Specified by:
getTooltip
in classFunctionEditor
- Parameters:
obj
- the object- Returns:
- the tooltip
-
propertyChange
Responds to property change events.- Specified by:
propertyChange
in interfacePropertyChangeListener
- Overrides:
propertyChange
in classFunctionEditor
- Parameters:
e
- the event
-
isImportant
Determines if an object is important. Important objects cannot be cut even if they are editable.- Specified by:
isImportant
in classFunctionEditor
- Parameters:
obj
- the object- Returns:
- true if important
-
setReferences
Informs an object about other objects referenced in its expression.- Specified by:
setReferences
in classFunctionEditor
-
setDefaultVariables
Sets the default variable names.- Parameters:
varNames
- the names
-
isDisallowedName
Returns true if a name is forbidden or in use.- Overrides:
isDisallowedName
in classFunctionEditor
- Parameters:
obj
- the object (may be null)name
- the proposed name for the object- Returns:
- true if disallowed
-
getVariablesString
Returns a String with the names of variables available for expressions.- Overrides:
getVariablesString
in classFunctionEditor
- Returns:
-
isInvalidExpression
Returns true if the object's 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 modifies and returns the input UserFunction unless null.- Specified by:
createObject
in classFunctionEditor
- Parameters:
name
- the nameexpression
- the expressionobj
- ignored- Returns:
- the object
-
getLoader
Returns an ObjectLoader to save and load data for this class.- Returns:
- the object loader
-