ptolemy.vergil.toolbox
Class FileEditorTableauFactory

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

public class FileEditorTableauFactory
extends TableauFactory

This class is an attribute that creates an editor to edit a specified file or URL given by an attribute in the container of this attribute. It is similar to TextEditorTableauFactory, but instead of editing an attribute in the container, it edits a file or URL referenced by that attribute. The file or URL must be given in the container by an instance of FileParameter. If the file or URL does not exist, then it attempts to create the file and open it.

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

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
 
Field Summary
 StringAttribute attributeName
          The name of the file attribute giving the file name or URL.
 
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
FileEditorTableauFactory(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
 

Field Detail

attributeName

public StringAttribute attributeName
The name of the file attribute giving the file name or URL.

Constructor Detail

FileEditorTableauFactory

public FileEditorTableauFactory(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 attribute.
NameDuplicationException - If the name coincides with an attribute 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 be created with a new unique name with the specified effigy as its container. If this factory cannot create a tableau for the given effigy (it is not an instance of PtolemyEffigy), then return null.

Overrides:
createTableau in class TableauFactory
Parameters:
effigy - The component 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.