ptolemy.actor.gui
Class TokenTableau

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.TokenTableau
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Direct Known Subclasses:
ImageTableau, MatrixTokenTableau

public class TokenTableau
extends Tableau

A tableau representing one or more tokens in a top-level window with a text editor. Subclasses can be created to represent specific token types in more specialized ways.

Since:
Ptolemy II 2.1
Version:
$Id: TokenTableau.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Edward A. Lee
See Also:
TokenEffigy, Serialized Form
Accepted Rating:
Red (cxh)
Proposed Rating:
Yellow (eal)

Nested Class Summary
static class TokenTableau.Factory
          A factory that creates a token tableau.
 
Nested classes/interfaces inherited from class ptolemy.kernel.CompositeEntity
CompositeEntity.ContainedObjectsIterator
 
Field Summary
private  TextEditor _editor
           
 
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
TokenTableau(Effigy container, java.lang.String name)
          Construct a new tableau for the model represented by the given effigy.
TokenTableau(Effigy container, java.lang.String name, TableauFrame frame)
          Construct a new tableau for the model represented by the given effigy, using the specified frame.
 
Method Summary
 void append(java.util.List list)
          Append the specified tokens to the display.
 void append(Token token)
          Append the specified token to the display.
static boolean canDisplay(Token token)
          Return true if this tableau can display the specified token.
 void clear()
          Clear the display.
 void createFrame(TableauFrame frame)
          Create a text editor frame to view the data.
 
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

_editor

private TextEditor _editor
Constructor Detail

TokenTableau

public TokenTableau(Effigy container,
                    java.lang.String name)
             throws IllegalActionException,
                    NameDuplicationException
Construct a new tableau for the model represented by the given effigy. This constructor creates a default editor frame, which is an instance of TextEditor.

Parameters:
container - The container.
name - The name.
Throws:
IllegalActionException - If the container does not accept this entity (this should not occur).
NameDuplicationException - If the name coincides with an attribute already in the container.

TokenTableau

public TokenTableau(Effigy container,
                    java.lang.String name,
                    TableauFrame frame)
             throws IllegalActionException,
                    NameDuplicationException
Construct a new tableau for the model represented by the given effigy, using the specified frame.

Parameters:
container - The container.
name - The name.
frame - The frame to use.
Throws:
IllegalActionException - If the container does not accept this entity (this should not occur).
NameDuplicationException - If the name coincides with an attribute already in the container.
Method Detail

append

public void append(Token token)
            throws IllegalActionException
Append the specified token to the display. If the display is not a TextEditor, do nothing. Subclasses should override this with display-specific actions.

Parameters:
token - The token to append.
Throws:
IllegalActionException - If the token is not acceptable (not thrown in this base class).

append

public void append(java.util.List list)
            throws IllegalActionException
Append the specified tokens to the display.

Parameters:
list - A list of tokens.
Throws:
IllegalActionException - If the tokens are not acceptable (not thrown in this base class).

canDisplay

public static boolean canDisplay(Token token)
Return true if this tableau can display the specified token.

Parameters:
token - A candidate token to display.
Returns:
True, since this tableau can display any token.

clear

public void clear()
Clear the display.


createFrame

public void createFrame(TableauFrame frame)
                 throws IllegalActionException
Create a text editor frame to view the data. This can be overridden in derived classes to create more specialized viewers/editors. If the specified frame is not an instance of TextEditor, then it is replaced with a text editor. This is called in the constructor.

Parameters:
frame - The frame to use, or null if none is specified.
Throws:
IllegalActionException - If the frame cannot be created.