ptolemy.actor.gui.properties
Class ComboBox.Item

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.util.Attribute
          extended by ptolemy.actor.gui.properties.GUIProperty
              extended by ptolemy.actor.gui.properties.ActionGUIProperty
                  extended by ptolemy.actor.gui.properties.ComboBox.Item
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Changeable, Configurable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Direct Known Subclasses:
ComboItem
Enclosing class:
ComboBox

public static class ComboBox.Item
extends ActionGUIProperty

The base class for an item that can be added to the combo box as a choice.

Since:
Ptolemy II 8.0
Version:
$Id: ComboBox.java 57044 2010-01-27 22:41:05Z cxh $
Author:
Thomas Huining Feng
See Also:
Serialized Form
Accepted Rating:
Red (tfeng)
Proposed Rating:
Red (tfeng)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
 
Field Summary
 StringParameter next
          The name of the next item in the same combo box to be selected when this GUI property is selected, or an empty string if there is no next item.
 
Fields inherited from class ptolemy.actor.gui.properties.ActionGUIProperty
_action, parse
 
Fields inherited from class ptolemy.actor.gui.properties.GUIProperty
preferredSize
 
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
ComboBox.Item(ComboBox container, java.lang.String name)
          Construct an item with the given name contained by the specified entity.
 
Method Summary
protected  javax.swing.JComponent _createComponent()
          Create a new Java Swing component.
 void setContainer(NamedObj container)
          Specify the container NamedObj, adding this attribute to the list of attributes in the container.
 java.lang.String toString()
          Return the display name of this item, or its name if the display name is not specified.
 
Methods inherited from class ptolemy.actor.gui.properties.ActionGUIProperty
_createAction, configure, getConfigureSource, getConfigureText, perform
 
Methods inherited from class ptolemy.actor.gui.properties.GUIProperty
attributeChanged, getComponent
 
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, clone, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, 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, uniqueName, validateSettables, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

next

public StringParameter next
The name of the next item in the same combo box to be selected when this GUI property is selected, or an empty string if there is no next item.

Constructor Detail

ComboBox.Item

public ComboBox.Item(ComboBox container,
                     java.lang.String name)
              throws IllegalActionException,
                     NameDuplicationException
Construct an item with the given name contained by the specified entity. 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

setContainer

public void setContainer(NamedObj container)
                  throws IllegalActionException,
                         NameDuplicationException
Specify the container NamedObj, adding this attribute to the list of attributes in the container. If the container already contains an attribute with the same name, then throw an exception and do not make any changes. Similarly, if the container is not in the same workspace as this attribute, throw an exception. If this attribute is already contained by the NamedObj, do nothing. If the attribute already has a container, remove this attribute from its attribute list first. Otherwise, remove it from the directory of the workspace, if it is there. If the argument is null, then remove it from its container. It is not added to the workspace directory, so this could result in this object being garbage collected. Note that since an Attribute is a NamedObj, it can itself have attributes. However, recursive containment is not allowed, where an attribute is an attribute of itself, or indirectly of any attribute it contains. This method is write-synchronized on the workspace and increments its version number.

Subclasses may constrain the type of container by overriding setContainer(NamedObj).

Overrides:
setContainer in class GUIProperty
Parameters:
container - The container to attach this attribute to..
Throws:
IllegalActionException - If this attribute is not of the expected class for the container, or it has no name, or the attribute and container are not in the same workspace, or the proposed container would result in recursive containment.
NameDuplicationException - If the container already has an attribute with the name of this attribute.
See Also:
Attribute.getContainer()

toString

public java.lang.String toString()
Return the display name of this item, or its name if the display name is not specified. The returned string is shown in the combo box for this item.

Overrides:
toString in class NamedObj
Returns:
The display name of this item.

_createComponent

protected javax.swing.JComponent _createComponent()
                                           throws IllegalActionException
Create a new Java Swing component. In this case, the component is always null because a component is not needed for a combo box item.

Specified by:
_createComponent in class GUIProperty
Returns:
A Swing component that can be enclosed in this GUI property.
Throws:
IllegalActionException - Not thrown in this base class.