ptolemy.domains.ptera.lib
Class Configure

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.InstantiableNamedObj
          extended by ptolemy.kernel.Entity
              extended by ptolemy.kernel.ComponentEntity
                  extended by ptolemy.domains.modal.kernel.State
                      extended by ptolemy.domains.ptera.kernel.Event
                          extended by ptolemy.domains.ptera.lib.Configure
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Initializable, ConfigurableEntity, Changeable, Configurable, Debuggable, DebugListener, Derivable, DropTargetHandler, Flowable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

public class Configure
extends Event

An event to display a dialog for the user to input parameter values.

Since:
Ptolemy II 8.0
Version:
$Id: Configure.java 57044 2010-01-27 22:41:05Z cxh $
Author:
Thomas Huining Feng
See Also:
Serialized Form
Accepted Rating:
Red (tfeng)
Proposed Rating:
Yellow (tfeng)

Nested Class Summary
private static class Configure.Listener
          Listener for key input and property change.
private  class Configure.Query
          The query to receive user input.
 
Nested classes/interfaces inherited from class ptolemy.domains.ptera.kernel.Event
Event.EventParameter, Event.RefiringData
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
private  java.util.Set<java.lang.String> _ignoredParameters
          Set of the names of parameters that should not be listed in the dialog for user input.
private  java.util.Map<Settable,java.lang.String> _oldValues
          Old values of the parameters to receive user input.
 
Fields inherited from class ptolemy.domains.ptera.kernel.Event
actions, isEndingEvent, isFinalEvent, isInitialEvent, parameters
 
Fields inherited from class ptolemy.domains.modal.kernel.State
incomingPort, isFinalState, isInitialState, outgoingPort, refinementName, saveRefinementsInConfigurer
 
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Constructor Summary
Configure(CompositeEntity container, java.lang.String name)
          Construct an event with the given name contained by the specified composite entity.
 
Method Summary
private  void _executeChangeRequests()
          Execute all the change requests on the parameters used to receive user inputs.
private  boolean _isVisible(Settable settable)
          Return true if the parameter is visible in the displayed dialog for user inputs.
 java.lang.Object clone(Workspace workspace)
          Clone the state into the specified workspace.
 Event.RefiringData fire(Token arguments)
          Process this event with the given arguments.
 void initialize()
          Begin execution of the actor.
 void wrapup()
          This method is invoked exactly once per execution of an application.
 
Methods inherited from class ptolemy.domains.ptera.kernel.Event
_getParserScope, _isActiveRefinement, addInitializable, attributeChanged, getController, isEndingEvent, isFinalEvent, isInitialEvent, preinitialize, refire, removeInitializable, scheduleEvents, setContainer, stop
 
Methods inherited from class ptolemy.domains.modal.kernel.State
_exportMoMLContents, configure, dropObject, getConfigurer, getConfigureSource, getConfigureText, getIncomingPort, getObjectInRefinement, getOutgoingPort, getRefinement, nonpreemptiveTransitionList, preemptiveTransitionList
 
Methods inherited from class ptolemy.kernel.ComponentEntity
_addPort, _adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, newPort, propagateExistence, setName
 
Methods inherited from class ptolemy.kernel.Entity
_description, _removePort, _validateSettables, connectedPortList, connectedPorts, connectionsChanged, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
 
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, attributeTypeChanged, clone, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getDisplayName, getFullName, getName, getName
 

Field Detail

_ignoredParameters

private java.util.Set<java.lang.String> _ignoredParameters
Set of the names of parameters that should not be listed in the dialog for user input.


_oldValues

private java.util.Map<Settable,java.lang.String> _oldValues
Old values of the parameters to receive user input.

Constructor Detail

Configure

public Configure(CompositeEntity container,
                 java.lang.String name)
          throws IllegalActionException,
                 NameDuplicationException
Construct an event with the given name contained by the specified composite entity. The container argument must not be null, or a NullPointerException will be thrown. This event 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. This constructor write-synchronizes on the workspace.

Parameters:
container - The container.
name - The name of the state.
Throws:
IllegalActionException - If the state cannot be contained by the proposed container.
NameDuplicationException - If the name coincides with that of an entity already in the container.
Method Detail

clone

public java.lang.Object clone(Workspace workspace)
                       throws java.lang.CloneNotSupportedException
Clone the state into the specified workspace. This calls the base class and then sets the attribute and port public members to refer to the attributes and ports of the new state.

Overrides:
clone in class Event
Parameters:
workspace - The workspace for the new event.
Returns:
A new event.
Throws:
java.lang.CloneNotSupportedException - If a derived class contains an attribute that cannot be cloned.
See Also:
NamedObj.exportMoML(Writer, int, String), NamedObj.setDeferringChangeRequests(boolean)

fire

public Event.RefiringData fire(Token arguments)
                        throws IllegalActionException
Process this event with the given arguments. The number of arguments provided must be equal to the number of formal parameters defined for this event, and their types must match. The actions of this event are executed.

Overrides:
fire in class Event
Parameters:
arguments - The arguments used to process this event.
Returns:
A refiring data structure that contains a non-negative double number if refire() should be called after that amount of model time, or null if refire() need not be called.
Throws:
IllegalActionException - If the number of the arguments or their types do not match, the actions cannot be executed, or any expression (such as guards and arguments to the next events) cannot be evaluated.
See Also:
Event.refire(Token, RefiringData)

initialize

public void initialize()
                throws IllegalActionException
Begin execution of the actor. This is invoked exactly once after the preinitialization phase. Since type resolution is done in the preinitialization phase, along with topology changes that may be requested by higher-order function actors, an actor can produce output data and schedule events in the initialize() method.

Specified by:
initialize in interface Initializable
Overrides:
initialize in class Event
Throws:
IllegalActionException - If execution is not permitted.

wrapup

public void wrapup()
            throws IllegalActionException
This method is invoked exactly once per execution of an application. None of the other action methods should be be invoked after it. It finalizes an execution, typically closing files, displaying final results, etc. When this method is called, no further execution should occur.

Specified by:
wrapup in interface Initializable
Overrides:
wrapup in class Event
Throws:
IllegalActionException - If wrapup is not permitted.

_executeChangeRequests

private void _executeChangeRequests()
Execute all the change requests on the parameters used to receive user inputs.


_isVisible

private boolean _isVisible(Settable settable)
Return true if the parameter is visible in the displayed dialog for user inputs.

Parameters:
settable - The parameter.
Returns:
true if the parameter is visible; false otherwise.