ptolemy.actor.gui
Class DialogTableau

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

public class DialogTableau
extends Tableau

A tableau representing a Dialog in a toplevel window.

DialogTableau is just like all the other XXXTableau classes except that the Frame associated with DialogTableau is not an extension of TableauFrame, and, ultimately, the Top class. The reason being that Top adorns the GUI manifestation with the normal status bar which isn't appropriate for a dialog. In addition, the created dialog is not a JDialog, but a JFrame. And, the created dialog is non-modal.

There can be any number of instances of this class in an effigy, however, there can only be one each for the model represented by the effigy, and one each of the actors that are part of the model.

Since:
Ptolemy II 4.0
Version:
$Id: DialogTableau.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Rowland R Johnson
See Also:
Effigy, Serialized Form
Accepted Rating:
Red (cxh)
Proposed Rating:
Red (rowland)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.CompositeEntity
CompositeEntity.ContainedObjectsIterator
 
Field Summary
 
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
DialogTableau(Effigy container, java.lang.String name)
          Construct a new tableau for the model represented by the given effigy.
 
Method Summary
static DialogTableau createDialog(java.awt.Frame parent, Configuration configuration, Effigy effigy, java.lang.Class dialogClass, Entity target)
          Create a tableau for the specified dialog.
 Entity getTarget()
          Get the target associated with this DialogTableau.
 boolean hasTarget(Entity entity)
          Determines if a particular Entity is associated with this DialogTableau.
 
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
 

Constructor Detail

DialogTableau

public DialogTableau(Effigy container,
                     java.lang.String name)
              throws IllegalActionException,
                     NameDuplicationException
Construct a new tableau for the model represented by the given effigy. Use setFrame() to specify the Dialog after construction.

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.
Method Detail

createDialog

public static DialogTableau createDialog(java.awt.Frame parent,
                                         Configuration configuration,
                                         Effigy effigy,
                                         java.lang.Class dialogClass,
                                         Entity target)
Create a tableau for the specified dialog. First look to see if a dialog already exists. If so, then just return that one.

Parameters:
parent - The Frame parent
configuration - The configuration
effigy - The Effigy containing the model that needs a dialog.
dialogClass - The Dialog class to create.
target - The entity that needs the Dialog
Returns:
DialogTableau

getTarget

public Entity getTarget()
Get the target associated with this DialogTableau. Actually, the target is associated with the frame that is associated with this DialogTableau.

Returns:
target The Entity that this DialogTableau is associated with.

hasTarget

public boolean hasTarget(Entity entity)
Determines if a particular Entity is associated with this DialogTableau.

Parameters:
entity - Entity that test is performed on.,
Returns:
true/false True if entity is associated with this DialogTableau.