Package ptolemy.actor.gui.exec
Class ExecShellTableau
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.InstantiableNamedObj
-
- ptolemy.kernel.Entity<T>
-
- ptolemy.kernel.ComponentEntity
-
- ptolemy.kernel.CompositeEntity
-
- ptolemy.actor.gui.Tableau
-
- ptolemy.actor.gui.exec.ExecShellTableau
-
- All Implemented Interfaces:
java.lang.Cloneable
,ShellInterpreter
,Changeable
,Debuggable
,DebugListener
,Derivable
,Instantiable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
public class ExecShellTableau extends Tableau implements ShellInterpreter
A tableau that provides a Exec Shell for interacting with the Bash shell.- Since:
- Ptolemy II 3.0
- Version:
- $Id$
- Author:
- Christopher Hylands and Edward A. Lee
- Pt.AcceptedRating:
- Red (cxh)
- Pt.ProposedRating:
- Red (cxh)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExecShellTableau.ExecShellFrame
The frame that is created by an instance of ExecShellTableau.static class
ExecShellTableau.Factory
A factory that creates a control panel to display a Exec Shell.-
Nested classes/interfaces inherited from class ptolemy.kernel.CompositeEntity
CompositeEntity.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description ExecShellTableau.ExecShellFrame
frame
The frame in which text is written.-
Fields inherited from class ptolemy.actor.gui.Tableau
_debugClosing, size
-
Fields inherited from class ptolemy.kernel.CompositeEntity
_levelCrossingLinks
-
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
-
-
Constructor Summary
Constructors Constructor Description ExecShellTableau(ExecShellEffigy container, java.lang.String name)
Create a new tableau.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
evaluateCommand(java.lang.String command)
Evaluate the specified command.boolean
isCommandComplete(java.lang.String command)
Return true if the specified command is complete (ready to be interpreted).void
stderr(java.lang.String text)
Append the text message to text area.void
stdout(java.lang.String text)
Append the text message to the text area.-
Methods inherited from class ptolemy.actor.gui.Tableau
attributeChanged, clone, close, getFrame, getTitle, isEditable, isMaster, setContainer, setEditable, setFrame, setMaster, setTitle, show
-
Methods inherited from class ptolemy.kernel.CompositeEntity
_addEntity, _addRelation, _adjustDeferrals, _containedDecorators, _deepOpaqueEntityList, _description, _exportMoMLContents, _finishedAddEntity, _removeEntity, _removeRelation, _validateSettables, allAtomicEntityList, allowLevelCrossingConnect, classDefinitionList, connect, connect, containedObjectsIterator, deepCompositeEntityList, deepEntityList, deepGetEntities, deepNamedObjList, deepOpaqueEntityList, deepRelationSet, entityList, entityList, exportLinks, exportMoML, getAttribute, getEntities, getEntity, getPort, getRelation, getRelations, isAtomic, isOpaque, lazyAllAtomicEntityList, lazyAllCompositeEntityList, lazyAllCompositeTransparentAndOpaqueEntityList, lazyClassDefinitionList, lazyDeepEntityList, lazyEntityList, lazyRelationList, newRelation, numberOfEntities, numberOfRelations, numEntities, numRelations, relationList, removeAllEntities, removeAllRelations, setClassDefinition, statistics, uniqueName
-
Methods inherited from class ptolemy.kernel.ComponentEntity
_checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, newPort, propagateExistence, setName
-
Methods inherited from class ptolemy.kernel.Entity
_addPort, _removePort, connectedPortList, connectedPorts, connectionsChanged, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts
-
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
-
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, 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, 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
-
frame
public ExecShellTableau.ExecShellFrame frame
The frame in which text is written.
-
-
Constructor Detail
-
ExecShellTableau
public ExecShellTableau(ExecShellEffigy container, java.lang.String name) throws IllegalActionException, NameDuplicationException
Create a new tableau. The tableau is itself an entity contained by the effigy and having the specified name. The frame is not made visible automatically. You must call show() to make it visible.- Parameters:
container
- The containing effigy.name
- The name of this tableau within the specified effigy.- Throws:
IllegalActionException
- If the tableau is not acceptable to the specified container.NameDuplicationException
- If the container already contains an entity with the specified name.
-
-
Method Detail
-
evaluateCommand
public java.lang.String evaluateCommand(java.lang.String command) throws java.lang.Exception
Evaluate the specified command.- Specified by:
evaluateCommand
in interfaceShellInterpreter
- Parameters:
command
- The command.- Returns:
- The return value of the command, or null if there is none.
- Throws:
java.lang.Exception
- If something goes wrong processing the command.- See Also:
ShellTextArea.returnResult(String)
-
isCommandComplete
public boolean isCommandComplete(java.lang.String command)
Return true if the specified command is complete (ready to be interpreted).- Specified by:
isCommandComplete
in interfaceShellInterpreter
- Parameters:
command
- The command.- Returns:
- True
-
stderr
public void stderr(java.lang.String text)
Append the text message to text area. The output automatically gets a trailing newline appended.- Parameters:
text
- The test to be appended.
-
stdout
public void stdout(java.lang.String text)
Append the text message to the text area. The output automatically gets a trailing newline appended.- Parameters:
text
- The test to be appended.
-
-