public class InteractiveDialog extends TypedAtomicActor implements Placeable, ShellInterpreter, UsesInvokeAndWait
This actor creates a window on the screen with a command entry box and a results display box. When the user types a command and terminates it with a return, this actor will emit an output with the value of that command and also display the command in the results display box. Any input that it receives it displays in the results display box.
Modifier and Type | Class and Description |
---|---|
class |
InteractiveDialog.DialogFrame
The frame that is created by an instance of ShellTableau.
|
class |
InteractiveDialog.DialogTableau
Version of ExpressionShellTableau that records the size of
the display when it is closed.
|
Entity.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
TypedIOPort |
input
The input port.
|
TypedIOPort |
output
The output port.
|
Parameter |
terminateWithNewline
If true, append a newline to each output string.
|
UserDialog |
userDialog
The dialog window object.
|
_typesValid
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
InteractiveDialog(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name.
|
Modifier and Type | Method and Description |
---|---|
protected java.util.Set<Inequality> |
_customTypeConstraints()
Set the input port greater than or equal to
BaseType.GENERAL in case backward type inference is
enabled and the input port has no type declared. |
protected void |
_exportMoMLContents(java.io.Writer output,
int depth)
Write a MoML description of the contents of this object.
|
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace.
|
java.lang.String |
evaluateCommand(java.lang.String command)
Record the specified command and request a firing to send it to the
output.
|
void |
fire()
Read and display any input, then if a new command is available,
display it and produce it on the output.
|
void |
initialize()
If the shell has not already been created, create it.
|
boolean |
isCommandComplete(java.lang.String command)
Return true if the specified command is complete (ready
to be interpreted).
|
void |
place(java.awt.Container container)
Specify the container into which this shell should be placed.
|
void |
setContainer(CompositeEntity container)
Override the base class to remove the shell from its graphical
container if the argument is null.
|
void |
setDisplayName(java.lang.String name)
Set a name to present to the user.
|
void |
setName(java.lang.String name)
Set or change the name.
|
void |
stop()
Override the base class to call notifyAll() to get out of
any waiting.
|
_containedTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, stopFire, terminate, wrapup
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence
_addPort, _description, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, decorators, 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, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, postfire, prefire, stopFire, terminate
addInitializable, preinitialize, removeInitializable, wrapup
description, getContainer, getDisplayName, getFullName, getName, getName
getDerivedLevel, getDerivedList, propagateValue
public TypedIOPort input
public Parameter terminateWithNewline
public TypedIOPort output
public UserDialog userDialog
public InteractiveDialog(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of this actor.IllegalActionException
- If the actor cannot be contained
by the proposed container.NameDuplicationException
- If the container already has an
actor with this name.public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone
in class TypedAtomicActor
workspace
- The workspace for the new object.java.lang.CloneNotSupportedException
- If a derived class has an
attribute that cannot be cloned.NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
public java.lang.String evaluateCommand(java.lang.String command) throws java.lang.Exception
evaluateCommand
in interface ShellInterpreter
command
- The command.java.lang.Exception
- If something goes wrong processing the command.ShellTextArea.returnResult(String)
public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor<TypedIOPort>
IllegalActionException
- If producing the output
causes an exception.public void initialize() throws IllegalActionException
initialize
in interface Initializable
initialize
in class AtomicActor<TypedIOPort>
IllegalActionException
- If the parent class throws it.public boolean isCommandComplete(java.lang.String command)
isCommandComplete
in interface ShellInterpreter
command
- The command.public void place(java.awt.Container container)
public void setContainer(CompositeEntity container) throws IllegalActionException, NameDuplicationException
setContainer
in class AtomicActor<TypedIOPort>
container
- The proposed container.IllegalActionException
- If the base class throws it.NameDuplicationException
- If the base class throws it.ComponentEntity.getContainer()
public void setDisplayName(java.lang.String name)
If the Plot window has been rendered, then the title of the Plot window will be updated to the value of the name parameter.
setDisplayName
in class NamedObj
name
- A name to present to the user.NamedObj.getDisplayName()
public void setName(java.lang.String name) throws IllegalActionException, NameDuplicationException
If the Plot window has been rendered, then the title of the Plot window will be updated to the value of the name parameter.
setName
in interface Nameable
setName
in class ComponentEntity<TypedIOPort>
name
- The new name.IllegalActionException
- If the name contains a period
or if the object is a derived object and the name argument does
not match the current name.NameDuplicationException
- Not thrown in this base class.
May be thrown by derived classes if the container already contains
an object with this name.NamedObj.getName()
,
NamedObj.getName(NamedObj)
public void stop()
stop
in interface Executable
stop
in class AtomicActor<TypedIOPort>
protected java.util.Set<Inequality> _customTypeConstraints()
BaseType.GENERAL
in case backward type inference is
enabled and the input port has no type declared._customTypeConstraints
in class TypedAtomicActor
protected void _exportMoMLContents(java.io.Writer output, int depth) throws java.io.IOException
_exportMoMLContents
in class Entity<TypedIOPort>
output
- The output stream to write to.depth
- The depth in the hierarchy, to determine indenting.java.io.IOException
- If an I/O error occurs.NamedObj.exportMoML(Writer, int)