ptolemy.vergil.kernel.attributes
Class AbstractTextAttribute

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.util.Attribute
          extended by ptolemy.vergil.kernel.attributes.VisibleAttribute
              extended by ptolemy.vergil.kernel.attributes.AbstractTextAttribute
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Direct Known Subclasses:
AttributeValueAttribute, TextAttribute

public class AbstractTextAttribute
extends VisibleAttribute

An abstract base class for text annotations.

Since:
Ptolemy II 4.1
Version:
$Id: AbstractTextAttribute.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Edward A. Lee, Steve Neuendorffer
See Also:
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
protected  TextIcon _icon
          The text icon.
private  boolean _inAttributeChanged
           
 Parameter bold
          A boolean indicating whether the font should be bold.
 Parameter center
          A boolean parameter that controls whether the origin of the text is center (if true) or north-west.
 StringParameter fontFamily
          The font family.
 Parameter italic
          A boolean indicating whether the font should be italic.
 ColorAttribute textColor
          The text color.
 Parameter textSize
          The text size.
 
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
AbstractTextAttribute(NamedObj container, java.lang.String name)
          Construct an attribute with the given name contained by the specified container.
 
Method Summary
 void attributeChanged(Attribute attribute)
          React to a changes in the attributes by changing the icon.
 java.lang.Object clone(Workspace workspace)
          Clone the object into the specified workspace.
 
Methods inherited from class ptolemy.vergil.kernel.attributes.VisibleAttribute
moveToFirst, moveToLast
 
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, getContainer, moveDown, moveToIndex, 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, 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

bold

public Parameter bold
A boolean indicating whether the font should be bold. This defaults to false.


center

public Parameter center
A boolean parameter that controls whether the origin of the text is center (if true) or north-west.


fontFamily

public StringParameter fontFamily
The font family. This is a string that defaults to "SansSerif".


italic

public Parameter italic
A boolean indicating whether the font should be italic. This defaults to false.


textColor

public ColorAttribute textColor
The text color. This is a string representing an array with four elements, red, green, blue, and alpha, where alpha is transparency. The default is "{0.0, 0.0, 0.0, 1.0}", which represents an opaque black.


textSize

public Parameter textSize
The text size. This is an int that defaults to 14.


_icon

protected TextIcon _icon
The text icon.


_inAttributeChanged

private boolean _inAttributeChanged
Constructor Detail

AbstractTextAttribute

public AbstractTextAttribute(NamedObj container,
                             java.lang.String name)
                      throws IllegalActionException,
                             NameDuplicationException
Construct an attribute with the given name contained by the specified container. The container argument must not be null, or a NullPointerException will be thrown. This attribute will use the workspace of the container for synchronization and version counts. If the name argument is null, then the name is set to the empty string. Increment the version of the workspace.

Parameters:
container - The container.
name - The name of this attribute.
Throws:
IllegalActionException - If the attribute is not of an acceptable class for the container, or if the name contains a period.
NameDuplicationException - If the name coincides with an attribute already in the container.
Method Detail

attributeChanged

public void attributeChanged(Attribute attribute)
                      throws IllegalActionException
React to a changes in the attributes by changing the icon.

Overrides:
attributeChanged in class NamedObj
Parameters:
attribute - The attribute that changed.
Throws:
IllegalActionException - If the change is not acceptable to this container (should not be thrown).

clone

public java.lang.Object clone(Workspace workspace)
                       throws java.lang.CloneNotSupportedException
Clone the object into the specified workspace.

Overrides:
clone in class Attribute
Parameters:
workspace - The workspace for the new object.
Returns:
A new AbstractTextAttribute.
Throws:
java.lang.CloneNotSupportedException - If any of the attributes cannot be cloned.
See Also:
NamedObj.exportMoML(Writer, int, String), NamedObj.setDeferringChangeRequests(boolean)