Package ptolemy.vergil.icon
Class ShapeIcon
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.util.Attribute
-
- ptolemy.vergil.icon.EditorIcon
-
- ptolemy.vergil.icon.DynamicEditorIcon
-
- ptolemy.vergil.icon.ShapeIcon
-
- All Implemented Interfaces:
java.lang.Cloneable
,Changeable
,Debuggable
,DebugListener
,Derivable
,IconAttribute
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
public class ShapeIcon extends DynamicEditorIcon
An icon that displays a specified java.awt.Shape.- Since:
- Ptolemy II 4.0
- Version:
- $Id$
- Author:
- Edward A. Lee
- Pt.AcceptedRating:
- Red (johnr)
- Pt.ProposedRating:
- Yellow (eal)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
-
-
Field Summary
-
Fields inherited from class ptolemy.vergil.icon.DynamicEditorIcon
_figures
-
Fields inherited from class ptolemy.vergil.icon.EditorIcon
_containerToBe, _iconCache
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
-
-
Constructor Summary
Constructors Constructor Description ShapeIcon(NamedObj container, java.lang.String name)
Create a new icon with the given name in the given container.ShapeIcon(NamedObj container, java.lang.String name, java.awt.Shape defaultShape)
Create a new icon with the given name in the given container with the given default shape.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone(Workspace workspace)
Clone the object into the specified workspace.Figure
createBackgroundFigure()
Create a new default background figure, which is the shape set by setShape, if it has been called, or a small box if not.boolean
isCentered()
Return whether the figure should be centered on its origin.void
setCentered(boolean centered)
Specify whether the figure should be centered or not.void
setDashArray(float[] dashArray)
Specify the dash array to use for rendering lines.void
setFillColor(java.awt.Color fillColor)
Specify the fill color to use.void
setLineColor(java.awt.Color lineColor)
Specify the line color to use.void
setLineWidth(float lineWidth)
Specify the line width to use.void
setRotation(double angle)
Specify the rotation angle in radians.void
setShape(java.awt.Shape path)
Specify a path to display.-
Methods inherited from class ptolemy.vergil.icon.DynamicEditorIcon
_addLiveFigure, _liveFigureIterator, _trimLiveFigures
-
Methods inherited from class ptolemy.vergil.icon.EditorIcon
_createDefaultBackgroundFigure, _isPropertySet, _recreateFigure, createFigure, createIcon, getContainerOrContainerToBe, setContainerToBe
-
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setContainer, setName, updateContent
-
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _description, _executeChangeRequests, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, attributeTypeChanged, clone, containedObjectsIterator, decorators, 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, notifyOfNameChange, propagateExistence, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, uniqueName, validateSettables, workspace
-
-
-
-
Constructor Detail
-
ShapeIcon
public ShapeIcon(NamedObj container, java.lang.String name) throws IllegalActionException, NameDuplicationException
Create a new icon with the given name in the given container.- Parameters:
container
- The container.name
- The name of the attribute.- Throws:
IllegalActionException
- If the attribute is not of an acceptable class for the container.NameDuplicationException
- If the name coincides with an attribute already in the container.
-
ShapeIcon
public ShapeIcon(NamedObj container, java.lang.String name, java.awt.Shape defaultShape) throws IllegalActionException, NameDuplicationException
Create a new icon with the given name in the given container with the given default shape.- Parameters:
container
- The container.name
- The name of the attribute.defaultShape
- The default shape, which is ignored by this constructor.- Throws:
IllegalActionException
- If the attribute is not of an acceptable class for the container.NameDuplicationException
- If the name coincides with an attribute already in the container.
-
-
Method Detail
-
clone
public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
Clone the object into the specified workspace. The new object is not added to the directory of that workspace (you must do this yourself if you want it there). The result is an object with no container.- Overrides:
clone
in classDynamicEditorIcon
- Parameters:
workspace
- The workspace for the cloned object.- Returns:
- The new Attribute.
- Throws:
java.lang.CloneNotSupportedException
- Not thrown in this base class- See Also:
NamedObj.exportMoML(Writer, int, String)
,NamedObj.setDeferringChangeRequests(boolean)
-
createBackgroundFigure
public Figure createBackgroundFigure()
Create a new default background figure, which is the shape set by setShape, if it has been called, or a small box if not. This must be called in the Swing thread, or a concurrent modification exception could occur.- Overrides:
createBackgroundFigure
in classEditorIcon
- Returns:
- A figure representing the specified shape.
-
isCentered
public boolean isCentered()
Return whether the figure should be centered on its origin.- Returns:
- False If the origin of the figure, as returned by getOrigin(), is the upper left corner.
-
setCentered
public void setCentered(boolean centered)
Specify whether the figure should be centered or not. By default, the origin of the figure is the center. This is deferred and executed in the Swing thread.- Parameters:
centered
- False to make the figure's origin at the upper left.
-
setDashArray
public void setDashArray(float[] dashArray)
Specify the dash array to use for rendering lines. This is deferred and executed in the Swing thread.- Parameters:
dashArray
- The dash array.
-
setFillColor
public void setFillColor(java.awt.Color fillColor)
Specify the fill color to use. This is deferred and executed in the Swing thread.- Parameters:
fillColor
- The fill color to use.
-
setLineColor
public void setLineColor(java.awt.Color lineColor)
Specify the line color to use. This is deferred and executed in the Swing thread.- Parameters:
lineColor
- The line color to use.
-
setLineWidth
public void setLineWidth(float lineWidth)
Specify the line width to use. This is deferred and executed in the Swing thread.- Parameters:
lineWidth
- The line width to use.
-
setRotation
public void setRotation(double angle)
Specify the rotation angle in radians. This is deferred and executed in the Swing thread.- Parameters:
angle
- The rotation angle in radians.
-
setShape
public void setShape(java.awt.Shape path)
Specify a path to display. This is deferred and executed in the Swing thread.- Parameters:
path
- The path to display.
-
-