ptolemy.actor.gui
Class ExpressionShellTableau

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.kernel.CompositeEntity
                      extended by ptolemy.actor.gui.Tableau
                          extended by ptolemy.actor.gui.ExpressionShellTableau
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, ShellInterpreter, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Direct Known Subclasses:
InteractiveShell.ShellTableau

public class ExpressionShellTableau
extends Tableau
implements ShellInterpreter

A tableau that provides an interactive shell for evaluating expressions.

Since:
Ptolemy II 3.0
Version:
$Id: ExpressionShellTableau.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Christopher Hylands and Edward A. Lee
See Also:
ShellTextArea, ExpressionShellEffigy, Serialized Form
Accepted Rating:
Red (cxh)
Proposed Rating:
Red (cxh)

Nested Class Summary
static class ExpressionShellTableau.Factory
          A factory that creates a control panel to display an Expression Shell.
 
Nested classes/interfaces inherited from class ptolemy.kernel.CompositeEntity
CompositeEntity.ContainedObjectsIterator
 
Field Summary
private  ParseTreeEvaluator _evaluator
          The parameter used for evaluation.
 ExpressionShellFrame frame
          The associated frame.
 ShellTextArea shell
          The contained shell.
 
Fields inherited from class ptolemy.actor.gui.Tableau
size
 
Fields inherited from class ptolemy.kernel.CompositeEntity
_levelCrossingLinks
 
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
ExpressionShellTableau(ExpressionShellEffigy container, java.lang.String name)
          Create a new tableau.
 
Method Summary
 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).
 
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, _deepOpaqueEntityList, _description, _exportMoMLContents, _finishedAddEntity, _recordDecoratedAttributes, _removeEntity, _removeRelation, _validateSettables, allAtomicEntityList, allCompositeEntityList, allowLevelCrossingConnect, classDefinitionList, connect, connect, containedObjectsIterator, deepEntityList, deepGetEntities, deepOpaqueEntityList, deepRelationSet, entityList, entityList, exportLinks, exportMoML, getAttribute, getEntities, getEntity, getPort, getRelation, getRelations, isAtomic, isOpaque, lazyAllAtomicEntityList, lazyAllCompositeEntityList, lazyClassDefinitionList, lazyDeepEntityList, lazyEntityList, lazyRelationList, newRelation, numberOfEntities, numberOfRelations, numEntities, numRelations, relationList, removeAllEntities, removeAllRelations, setClassDefinition, statistics, uniqueName
 
Methods inherited from class ptolemy.kernel.ComponentEntity
_addPort, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, newPort, propagateExistence, setName
 
Methods inherited from class ptolemy.kernel.Entity
_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, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _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

frame

public ExpressionShellFrame frame
The associated frame.


shell

public ShellTextArea shell
The contained shell.


_evaluator

private ParseTreeEvaluator _evaluator
The parameter used for evaluation.

Constructor Detail

ExpressionShellTableau

public ExpressionShellTableau(ExpressionShellEffigy 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 interface ShellInterpreter
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 interface ShellInterpreter
Parameters:
command - The command.
Returns:
True.