ptolemy.actor.lib.image
Class ImageTableau

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
                              extended by ptolemy.actor.lib.image.ImageTableau
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

public class ImageTableau
extends TokenTableau

A tableau representing an image displayed in a top-level window.

Since:
Ptolemy II 4.1
Version:
$Id: ImageTableau.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 ImageTableau.Factory
          A factory that creates a token tableau.
 
Nested classes/interfaces inherited from class ptolemy.kernel.CompositeEntity
CompositeEntity.ContainedObjectsIterator
 
Field Summary
private  int _oldxsize
          The horizontal size of the previous image.
private  int _oldysize
          The vertical size of the previous image.
private  Picture _picture
          The frame for displaying the image.
 
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
ImageTableau(Effigy container, java.lang.String name)
          Construct a new tableau for the model represented by the given effigy.
ImageTableau(Effigy container, java.lang.String name, TableauFrame frame)
          Construct a new tableau for the model represented by the given effigy, using the specified frame.
ImageTableau(Effigy container, java.lang.String name, TableauFrame frame, int width, int height)
          Construct a new tableau for the model represented by the given effigy, using the specified frame.
 
Method Summary
 void append(java.util.List list)
          Display the specified tokens.
 void append(Token token)
          Display the specified token.
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 an image display to view the picture.
 void display(ImageToken token)
          Display the specified token.
 
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

_oldxsize

private int _oldxsize
The horizontal size of the previous image.


_oldysize

private int _oldysize
The vertical size of the previous image.


_picture

private Picture _picture
The frame for displaying the image.

Constructor Detail

ImageTableau

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

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.

ImageTableau

public ImageTableau(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.

ImageTableau

public ImageTableau(Effigy container,
                    java.lang.String name,
                    TableauFrame frame,
                    int width,
                    int height)
             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.
width - The width of the picture display in pixels.
height - The height of the picture display in pixels.
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
Display the specified token. If the token is not an ImageToken, do nothing.

Overrides:
append in class TokenTableau
Parameters:
token - The token to display.
Throws:
IllegalActionException - If the token is not an ImageToken.

append

public void append(java.util.List list)
            throws IllegalActionException
Display the specified tokens. If the display is not a MatrixPane, or the tokens are not instances of MatrixToken, do nothing.

Overrides:
append in class TokenTableau
Parameters:
list - A list of tokens.
Throws:
IllegalActionException - If the tokens are not instances of ImageToken.

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.

Overrides:
clear in class TokenTableau

createFrame

public void createFrame(TableauFrame frame)
                 throws IllegalActionException
Create an image display to view the picture. This is called in the constructor.

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

display

public void display(ImageToken token)
             throws IllegalActionException
Display the specified token.

Parameters:
token - The token to append.
Throws:
IllegalActionException - If the token is null or not an ImageToken.