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.TableModelNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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, undoEditsEnabledFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields 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.FObjectcreateObject(String name, String expression, FunctionEditor.FObject obj) Creates an object with specified name and expression.voidEvaluates all current objects.Returns the description of the object.Returns the expression of the object.static XML.ObjectLoaderReturns 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 StringgetVariablesString(String separator) Returns a String with the names of variables available for expressions.protected booleanisDisallowedName(FunctionEditor.FObject obj, String name) Returns true if a name is forbidden or in use.booleanDetermines if an object's expression is editable.protected booleanDetermines if an object is important.protected booleanReturns true if the object's expression is invalid.booleanDetermines if an object's name is editable.voidResponds to property change events.removeObject(FunctionEditor.FObject obj, boolean postEdit) Removes an object.protected voidsetDefaultVariables(String[] varNames) Sets the default variable names.voidsetDescription(FunctionEditor.FObject obj, String desc) Sets the description of the object.voidsetMainFunctions(UserFunction[] functions) Sets the main user functions.protected voidsetReferences(FunctionEditor.FObject obj, BitSet refs) Informs an object about other objects referenced in its expression.protected voidMethods 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, updateTableMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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:
setTitlesin 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:
getNamein classFunctionEditor- Parameters:
obj- the object- Returns:
- the name
-
getExpression
Returns the expression of the object.- Specified by:
getExpressionin classFunctionEditor- Parameters:
obj- the object- Returns:
- the expression
-
getDescription
Returns the description of the object.- Specified by:
getDescriptionin classFunctionEditor- Parameters:
obj- the object- Returns:
- the description
-
setDescription
Sets the description of the object.- Overrides:
setDescriptionin classFunctionEditor- Parameters:
obj- the objectdesc- the description
-
isNameEditable
Determines if an object's name is editable.- Overrides:
isNameEditablein classFunctionEditor- Parameters:
obj- the object- Returns:
- true if the name is editable
-
isExpressionEditable
Determines if an object's expression is editable.- Overrides:
isExpressionEditablein classFunctionEditor- Parameters:
obj- the object- Returns:
- true if the expression is editable
-
evaluateAll
public void evaluateAll()Evaluates all current objects.- Specified by:
evaluateAllin classFunctionEditor
-
addObject
public FunctionEditor.FObject addObject(FunctionEditor.FObject obj, int row, boolean postEdit, boolean firePropertyChange) Adds an object.- Overrides:
addObjectin 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:
removeObjectin 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:
getTooltipin classFunctionEditor- Parameters:
obj- the object- Returns:
- the tooltip
-
propertyChange
Responds to property change events.- Specified by:
propertyChangein interfacePropertyChangeListener- Overrides:
propertyChangein classFunctionEditor- Parameters:
e- the event
-
isImportant
Determines if an object is important. Important objects cannot be cut even if they are editable.- Specified by:
isImportantin classFunctionEditor- Parameters:
obj- the object- Returns:
- true if important
-
setReferences
Informs an object about other objects referenced in its expression.- Specified by:
setReferencesin classFunctionEditor
-
setDefaultVariables
Sets the default variable names.- Parameters:
varNames- the names
-
isDisallowedName
Returns true if a name is forbidden or in use.- Overrides:
isDisallowedNamein 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:
getVariablesStringin classFunctionEditor- Returns:
-
isInvalidExpression
Returns true if the object's expression is invalid.- Specified by:
isInvalidExpressionin 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:
createObjectin 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
-