ptolemy.vergil.kernel.attributes
Class DocumentationAttribute

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.DocumentationAttribute
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

Deprecated. DocumentationAttribute provides no UI way to edit the URL, one must edit the MoML file by hand. Use ptolemy.vergil.basic.DocAttribute or ptolemy.vergil.pdfrenderer.PDFRenderer instead of using DocumentationAttribute.

public class DocumentationAttribute
extends VisibleAttribute

This attribute is a visible attribute that displays documentation when configured by double clicking on it or by invoking Configure in the context menu.

The method that causes the documentation to be displayed is createEditor, which is normally used to configure an attribute. This means that the DocumentationAttribute can't be configured. That is, if a double-click occurs or the Configure menu item is selected the documentation will be displayed, and the normal configure dialog will not be offered. Special provisions for "configuring" a DocumentationAttribute are described below.

The documentation is in a file specified by the FileParameter attribute with the name _documentation. The _documentation FileParameter can be on any object, including this DocumentationAttribute, in the containment hierarchy. (As explained below, the _documentation FileParameter will be found on the container of this DocumentationAttribute.) If a _documentation FileParameter can not be found a JFileChooser is presented. The resulting selection, if there is one, is then used to create a _documentation FileParameter on the container. There are two reasons for this. First, the documentation most likely applies to the container. I.e., this DocumentationAttribute isn't being documented, rather, the thing that this DocumentationAttribute is an attribute of is being documented. Second, the container most likely can be configured in the normal way. Since, the _documentation FileParameter will be on the container the specification for the file containing the documentation can be modified.

Note that if a DocumentationAttribute refers to a pdf file, then it may not be possible to view the pdf file in an applet because BrowserLauncher uses reflection to look up classes. The workaround is to use ptolemy.vergil.pdfrenderer.PDFRenderer.

Since:
Ptolemy II 4.0
Version:
$Id: DocumentationAttribute.java 57515 2010-03-25 01:43:22Z cxh $
Author:
Rowland R Johnson
See Also:
DocAttribute, Serialized Form
Accepted Rating:
Red (rowland)
Proposed Rating:
Red (rowland)

Nested Class Summary
private static class DocumentationAttribute.DocumentationAttributeFactory
          Deprecated.  
 
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
 
Field Summary
 
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
DocumentationAttribute(NamedObj container, java.lang.String name)
          Deprecated. Construct an icon with the attached this attached.
 
Method Summary
 
Methods inherited from class ptolemy.vergil.kernel.attributes.VisibleAttribute
moveToFirst, moveToLast
 
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, clone, 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, attributeChanged, 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
 

Constructor Detail

DocumentationAttribute

public DocumentationAttribute(NamedObj container,
                              java.lang.String name)
                       throws IllegalActionException,
                              NameDuplicationException
Deprecated. 
Construct an icon with the attached this attached.

Parameters:
container - The container.
name - The name of the factory.
Throws:
IllegalActionException - If the factory is not of an acceptable attribute for the container.
NameDuplicationException - If the name coincides with an attribute already in the container.