ptolemy.actor.gui
Class BrowserTableau

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

public class BrowserTableau
extends Tableau

A tableau representing a web browser window. There can be any number of instances of this class in an effigy.

Since:
Ptolemy II 2.0
Version:
$Id: BrowserTableau.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Christopher Hylands
See Also:
BrowserEffigy, BrowserLauncher, Serialized Form
Accepted Rating:
Red (cxh)
Proposed Rating:
Yellow (cxh)

Nested Class Summary
static class BrowserTableau.Factory
          A factory that creates web browser tableaux for Ptolemy models.
 
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
BrowserTableau(BrowserEffigy container, java.lang.String name)
          Construct a new tableau for the model represented by the given effigy.
 
Method Summary
 void setEditable(boolean flag)
          Make the tableau editable or uneditable.
 void show()
          Make this tableau visible by calling BrowserLauncher.openURL(String) with URI from the effigy.
 
Methods inherited from class ptolemy.actor.gui.Tableau
attributeChanged, clone, close, getFrame, getTitle, isEditable, isMaster, setContainer, setFrame, setMaster, setTitle
 
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

BrowserTableau

public BrowserTableau(BrowserEffigy 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.
Method Detail

setEditable

public void setEditable(boolean flag)
Make the tableau editable or uneditable. Notice that this does not change whether the effigy is modifiable, so other tableaux on the same effigy may still modify the associated file.

Overrides:
setEditable in class Tableau
Parameters:
flag - False to make the tableau uneditable.
See Also:
Tableau.isEditable()

show

public void show()
Make this tableau visible by calling BrowserLauncher.openURL(String) with URI from the effigy. Most browsers are smart enough so that if the browser is already displaying the URI, then that window will be brought to the foreground. We are limited by the lack of communication between Java and the browser, so this is the best we can do. If the URI ends in "#in_browser", we strip it off before passing the URI to the browser. #in_browser is used by HTMLViewer to force a hyperlink to be opened in a browser.

Overrides:
show in class Tableau