Package ptolemy.actor.gui.properties
Class GUIAction
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.util.Attribute
-
- ptolemy.actor.gui.properties.GUIAction
-
- All Implemented Interfaces:
java.lang.Cloneable
,Changeable
,Debuggable
,DebugListener
,Derivable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
- Direct Known Subclasses:
GTGUIAction
public class GUIAction extends Attribute
A helper class to handle actions in GUI properties.- Since:
- Ptolemy II 8.0
- Version:
- $Id$
- Author:
- Thomas Huining Feng
- Pt.AcceptedRating:
- Red (tfeng)
- Pt.ProposedRating:
- Red (tfeng)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
_momlSource
The input source that was specified the last time the configure method was called.protected java.lang.String
_momlText
The text string that represents the current configuration of this object.protected NamedObj
_parsedObject
The object obtained by parsing the moml text, or null.protected MoMLParser
_parser
The parser used to parse the moml text.-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_parseSource()
Parse the configuration source if it has not been parsed, and store the result in protected field_parsedObject
.void
configure(java.net.URL base, java.lang.String source, java.lang.String text)
Configure the object with data from the specified input source (a URL) and/or textual data.java.lang.String
getConfigureSource()
Return the input source that was specified the last time the configure method was called.java.lang.String
getConfigureText()
Return the text string that represents the current configuration of this object.javax.swing.JFrame
getFrame()
Get the frame in which this item is selected.NamedObj
getModel()
Get the model contained in the current frame.void
perform(boolean parse)
React to this item being selected.-
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, clone, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setContainer, setName, updateContent
-
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _description, _executeChangeRequests, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getElementName, getFullName, getModelErrorHandler, getName, getName, getPrototypeList, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateExistence, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, uniqueName, validateSettables, workspace
-
-
-
-
Field Detail
-
_momlSource
protected java.lang.String _momlSource
The input source that was specified the last time the configure method was called.
-
_momlText
protected java.lang.String _momlText
The text string that represents the current configuration of this object.
-
_parsedObject
protected NamedObj _parsedObject
The object obtained by parsing the moml text, or null.
-
_parser
protected MoMLParser _parser
The parser used to parse the moml text.
-
-
Constructor Detail
-
GUIAction
public GUIAction(NamedObj container, java.lang.String name) throws IllegalActionException, NameDuplicationException
Construct an item with the given name contained by the specified entity. The container argument must not be null, or a NullPointerException will be thrown. This attribute will use the workspace of the container for synchronization and version counts. If the name argument is null, then the name is set to the empty string. Increment the version of the workspace.- Parameters:
container
- The container.name
- The name of this attribute.- Throws:
IllegalActionException
- If the attribute is not of an acceptable class for the container, or if the name contains a period.NameDuplicationException
- If the name coincides with an attribute already in the container.
-
-
Method Detail
-
configure
public void configure(java.net.URL base, java.lang.String source, java.lang.String text) throws java.lang.Exception
Configure the object with data from the specified input source (a URL) and/or textual data. The object should interpret the source first, if it is specified, followed by the literal text, if that is specified. The new configuration should usually override any old configuration wherever possible, in order to ensure that the current state can be successfully retrieved.This method is defined to throw a very general exception to allow classes that implement the interface to use whatever exceptions are appropriate.
- Parameters:
base
- The base relative to which references within the input are found, or null if this is not known, or there is none.source
- The input source, which specifies a URL, or null if none.text
- Configuration information given as text, or null if none.- Throws:
java.lang.Exception
- If something goes wrong.
-
getConfigureSource
public java.lang.String getConfigureSource()
Return the input source that was specified the last time the configure method was called.- Returns:
- The string representation of the input URL, or null if the no source has been used to configure this object, or null if no external source need be used to configure this object.
-
getConfigureText
public java.lang.String getConfigureText()
Return the text string that represents the current configuration of this object. Note that any configuration that was previously specified using the source attribute need not be represented here as well.- Returns:
- A configuration string, or null if no configuration has been used to configure this object, or null if no configuration string need be used to configure this object.
-
getFrame
public javax.swing.JFrame getFrame()
Get the frame in which this item is selected.- Returns:
- The frame.
-
getModel
public NamedObj getModel()
Get the model contained in the current frame.- Returns:
- The model.
-
perform
public void perform(boolean parse) throws java.lang.Exception
React to this item being selected. In this base class, if a source file is specified in the configuration of this item, e.g.:<configure source="some_file.xml"> </configure>
then the source is read and its contents are used as the moml text. The moml text can also be given directly:<configure> <entity name="C" class="ptolemy.actor.lib.Const"> </entity> </configure>
Depending on whether the parse parameter is true or false, the moml text may be parsed first or not. If it is parsed, the returned NamedObj is used to generate a new moml string to be applied to the model in the current tableau (the nearest tableau that contains this GUI property). If it is not parsed, then the moml text is directly applied to the model.- Parameters:
parse
- Whether the configure text should be parsed before applying to the current model.- Throws:
java.lang.Exception
- If error occurs in performing the action.
-
_parseSource
protected void _parseSource() throws java.lang.Exception
Parse the configuration source if it has not been parsed, and store the result in protected field_parsedObject
.- Throws:
java.lang.Exception
- If it occurs in the parsing.
-
-