public class Location extends SingletonAttribute implements Locatable
By default, an instance of this class is not visible in a user interface. This is indicated to the user interface by returning NONE to the getVisibility() method. The location is specified by calling setExpression() with a string that has the form "x,y" or "[x,y]" or "{x,y}", where x and y can be parsed into doubles.
The default location is a two dimensional location with value {0.0, 0.0}. This class can also handle locations with greater than two dimensions.
NamedObj.ContainedObjectsIterator
Settable.Visibility
_attributes, _changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
EXPERT, FULL, NONE, NOT_EDITABLE
Constructor and Description |
---|
Location(NamedObj container,
java.lang.String name)
Construct an attribute with the given container and name.
|
Location(Workspace workspace)
Construct an attribute in the specified workspace with an empty
string as a name.
|
Modifier and Type | Method and Description |
---|---|
protected void |
_propagateValue(NamedObj destination)
Propagate the value of this object to the
specified object.
|
void |
addValueListener(ValueListener listener)
Add a listener to be notified when the value of this attribute changes.
|
java.lang.Object |
clone(Workspace workspace)
Clone the location into the specified workspace.
|
void |
exportMoML(java.io.Writer output,
int depth,
java.lang.String name)
Write a MoML description of this object.
|
java.lang.String |
getDefaultExpression()
Return the default value of this Settable,
if there is one.
|
java.lang.String |
getDisplayName()
Return a name to present to the user, which
is the same as the name returned by getName().
|
java.lang.String |
getExpression()
Get the value that has been set by setExpression() or by
setLocation(), whichever was most recently called, or return
an empty string if neither has been called.
|
double[] |
getLocation()
Get the center location in some cartesian coordinate system.
|
java.lang.String |
getValueAsString()
Get the value of the attribute, which is the evaluated expression.
|
Settable.Visibility |
getVisibility()
Get the visibility of this attribute, as set by setVisibility().
|
void |
removeValueListener(ValueListener listener)
Remove a listener from the list of listeners that is
notified when the value of this variable changes.
|
void |
setExpression(java.lang.String expression)
Set the value of the attribute by giving some expression.
|
void |
setLocation(double[] location)
Set the center location in some cartesian coordinate system,
and notify the container and any value listeners of the new
location.
|
void |
setVisibility(Settable.Visibility visibility)
Set the visibility of this attribute.
|
java.lang.String |
toString()
Get a description of the class, which is the class name and
the location in parentheses.
|
java.util.Collection |
validate()
Parse the location specification given by setExpression(), if there
has been one, and otherwise set the location to 0.0, 0.0.
|
setContainer
_checkContainer, _getContainedObject, _propagateExistence, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, setName, updateContent
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _description, _executeChangeRequests, _exportMoMLContents, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _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, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, 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, uniqueName, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
description, getContainer, getFullName, getName, getName, setName
public Location(Workspace workspace)
workspace
- The workspace that will list the attribute.public Location(NamedObj container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of the vertex.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.public void addValueListener(ValueListener listener)
addValueListener
in interface Settable
listener
- The listener to add.removeValueListener(ValueListener)
public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone
in class Attribute
workspace
- The workspace for the cloned object.java.lang.CloneNotSupportedException
- If the base class throws it.NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
public void exportMoML(java.io.Writer output, int depth, java.lang.String name) throws java.io.IOException
exportMoML
in interface MoMLExportable
exportMoML
in class NamedObj
output
- The output writer to write to.depth
- The depth in the hierarchy, to determine indenting.name
- The name to use instead of the current name.java.io.IOException
- If an I/O error occurs.NamedObj.isPersistent()
public java.lang.String getDefaultExpression()
getDefaultExpression
in interface Settable
setExpression(String)
public java.lang.String getDisplayName()
getDisplayName
in interface Nameable
getDisplayName
in interface Settable
getDisplayName
in class NamedObj
NamedObj.setDisplayName(String)
public java.lang.String getExpression()
If setExpression(String value) was called, then the return value is exactly what ever was passed in as the argument to setExpression. This means that there is no guarantee that the return value of getExpression() is a well formed Ptolemy array expression.
If setLocation(double[] location) was called, then the return value is a well formed Ptolemy array expression that starts with "{" and ends with "}", for example "{0.0, 0.0}"
getExpression
in interface Settable
setExpression(String)
public double[] getLocation()
getLocation
in interface Locatable
setLocation(double[])
public java.lang.String getValueAsString()
getValueAsString
in interface Settable
getExpression()
public Settable.Visibility getVisibility()
getVisibility
in interface Settable
setVisibility(Settable.Visibility)
public void removeValueListener(ValueListener listener)
removeValueListener
in interface Settable
listener
- The listener to remove.addValueListener(ValueListener)
public void setExpression(java.lang.String expression)
setExpression
in interface Settable
expression
- The value of the attribute.getExpression()
public void setLocation(double[] location) throws IllegalActionException
setLocation
in interface Locatable
location
- The location.IllegalActionException
- If throw when attributeChanged()
is called.getLocation()
public void setVisibility(Settable.Visibility visibility)
setVisibility
in interface Settable
visibility
- The visibility of this attribute.getVisibility()
public java.lang.String toString()
public java.util.Collection validate() throws IllegalActionException
validate
in interface Settable
IllegalActionException
- If the expression is invalid.protected void _propagateValue(NamedObj destination) throws IllegalActionException
_propagateValue
in class NamedObj
destination
- Object to which to propagate the
value.IllegalActionException
- If the value cannot
be propagated.