ptolemy.actor.gui
Class PtolemyTableauFactory

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.util.Attribute
          extended by ptolemy.actor.gui.TableauFactory
              extended by ptolemy.actor.gui.PtolemyTableauFactory
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Changeable, Configurable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

public class PtolemyTableauFactory
extends TableauFactory

This is an intermediate container tableau factory that is designed to contain all tableau factories in a configuration that are capable of displaying a Ptolemy II model. This class sets up the effigy with a set of available views. Tableaux can use that to set up a View menu which offers alternative views besides the default view. Subclasses of this class will usually be inner classes of a Tableau, and will create the Tableau.

Since:
Ptolemy II 1.0
Version:
$Id: PtolemyTableauFactory.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Steve Neuendorffer and Edward A. Lee
See Also:
Configuration, Effigy, Tableau, Serialized Form
Accepted Rating:
Red (cxh)
Proposed Rating:
Yellow (eal)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
 
Field Summary
 
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
PtolemyTableauFactory(NamedObj container, java.lang.String name)
          Create a factory with the given name and container.
 
Method Summary
 Tableau createTableau(Effigy effigy)
          Create a tableau for the specified effigy.
 
Methods inherited from class ptolemy.actor.gui.TableauFactory
_configureTableau, configure, getConfigureSource, getConfigureText
 
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, clone, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setContainer, setName, updateContent
 
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _description, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getElementName, getFullName, getModelErrorHandler, getName, getName, getPrototypeList, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateExistence, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, uniqueName, validateSettables, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PtolemyTableauFactory

public PtolemyTableauFactory(NamedObj container,
                             java.lang.String name)
                      throws IllegalActionException,
                             NameDuplicationException
Create a factory with the given name and container.

Parameters:
container - The container.
name - The name.
Throws:
IllegalActionException - If the container is incompatible with this entity.
NameDuplicationException - If the name coincides with an entity already in the container.
Method Detail

createTableau

public Tableau createTableau(Effigy effigy)
                      throws java.lang.Exception
Create a tableau for the specified effigy. The tableau will created with a new unique name with the specified effigy as its container. If the effigy is not an instance of PtolemyEffigy, then return null. Otherwise, set up the list of alternative views in the PtolemyEffigy and then delegate to the first contained factory that can display the model.

Overrides:
createTableau in class TableauFactory
Parameters:
effigy - The model effigy.
Returns:
A tableau for the effigy, or null if one cannot be created.
Throws:
java.lang.Exception - If the factory should be able to create a Tableau for the effigy, but something goes wrong.