ptolemy.actor.gui
Class ExternalTextEffigy
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.kernel.CompositeEntity
ptolemy.actor.gui.Effigy
ptolemy.actor.gui.TextEffigy
ptolemy.actor.gui.ExternalTextEffigy
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class ExternalTextEffigy
- extends TextEffigy
An external EDITOR-based effigy for a text file (see ExternalTextTableau
).
- Since:
- Ptolemy II 2.2
- Version:
- $Id: ExternalTextEffigy.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Zoltan Kemenczy, Research in Motion Limited
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Method Summary |
void |
attributeChanged(Attribute attribute)
If the argument is the identifier parameter, then tell
the external editor to finally open the file specified by the
identifier (as opposed to at newTextEffigy(container, text) time
at which the document file is not yet specified. |
static TextEffigy |
newTextEffigy(CompositeEntity container,
java.lang.String text)
Create a new effigy in the given container containing the specified
text. |
static TextEffigy |
newTextEffigy(CompositeEntity container,
java.net.URL base,
java.net.URL in)
Create a new ExternalTextEffigy. |
void |
setModifiable(boolean flag)
Pass the modifiable flag onto the external text editor. |
private void |
setUseContainerMoML(boolean useContainerMoML)
|
void |
show()
Signal the external text editor to (re)display its buffer
associated with this effigy. |
private void |
showContent(java.lang.String path)
|
Methods inherited from class ptolemy.actor.gui.Effigy |
_checkContainer, _removeEntity, closeTableaux, getTableauFactory, getWritableFile, isModifiable, isModified, isSystemEffigy, masterEffigy, numberOfOpenTableaux, setContainer, setModified, setSystemEffigy, setTableauFactory, showTableaux, topEffigy |
Methods inherited from class ptolemy.kernel.CompositeEntity |
_addEntity, _addRelation, _adjustDeferrals, _deepOpaqueEntityList, _description, _exportMoMLContents, _finishedAddEntity, _recordDecoratedAttributes, _removeRelation, _validateSettables, allAtomicEntityList, allCompositeEntityList, allowLevelCrossingConnect, classDefinitionList, clone, 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.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 |
_pathName
private java.lang.String _pathName
_useContainerMoML
private boolean _useContainerMoML
ExternalTextEffigy
public ExternalTextEffigy(Workspace workspace)
- Create a new effigy in the specified workspace with an empty string
for its name.
- Parameters:
workspace
- The workspace for this effigy.
ExternalTextEffigy
public ExternalTextEffigy(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Create a new effigy in the given directory with the given name.
- Parameters:
container
- The directory that contains this effigy.name
- The name of this effigy.
- Throws:
IllegalActionException
- If the entity cannot be contained
by the proposed container.
NameDuplicationException
- If the name coincides with
an entity already in the container.
attributeChanged
public void attributeChanged(Attribute attribute)
throws IllegalActionException
- If the argument is the identifier parameter, then tell
the external editor to finally open the file specified by the
identifier (as opposed to at newTextEffigy(container, text) time
at which the document file is not yet specified. This greatly
simplifies the interaction with the external text editor: instead
of first telling it to create a text buffer with some name and
no file attached, the buffer, its associated file name, and any
text saved by newTextEffigy(container, text) is given to the
text editor in one transaction. NOTE: This depends on
TextEditorTableau.createTableau(effigy) setting the identifier
expression after newTextEffigy(container, text).
- Overrides:
attributeChanged
in class Effigy
- Parameters:
attribute
- The attribute that changed.
- Throws:
IllegalActionException
- If the base class throws it.
newTextEffigy
public static TextEffigy newTextEffigy(CompositeEntity container,
java.lang.String text)
throws java.lang.Exception
- Create a new effigy in the given container containing the specified
text. The new effigy will have a new instance of
DefaultStyledDocument associated with it.
- Parameters:
container
- The container for the effigy.text
- The text to insert in the effigy.
- Returns:
- A new instance of TextEffigy.
- Throws:
java.lang.Exception
- If the text effigy cannot be
contained by the specified container, or if the specified
text cannot be inserted into the document.
newTextEffigy
public static TextEffigy newTextEffigy(CompositeEntity container,
java.net.URL base,
java.net.URL in)
throws java.lang.Exception
- Create a new ExternalTextEffigy.
- Parameters:
container
- The container for the effigy.base
- The base for relative file references, or null if
there are no relative file references. This is ignored in this
class.in
- The input URL, or null if there is none.
- Returns:
- A new instance of TextEffigy.
- Throws:
java.lang.Exception
- If the URL cannot be read, or if the data
is malformed in some way.
setModifiable
public void setModifiable(boolean flag)
- Pass the modifiable flag onto the external text editor.
- Overrides:
setModifiable
in class Effigy
- Parameters:
flag
- False to prevent writing to the URI.- See Also:
Effigy.masterEffigy()
,
Effigy.isModifiable()
,
Effigy.isModified()
,
Effigy.setModified(boolean)
show
public void show()
- Signal the external text editor to (re)display its buffer
associated with this effigy.
setUseContainerMoML
private void setUseContainerMoML(boolean useContainerMoML)
showContent
private void showContent(java.lang.String path)