ptolemy.actor.gui
Class EditorFactory

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.util.Attribute
          extended by ptolemy.actor.gui.EditorFactory
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Changeable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Direct Known Subclasses:
AnnotationEditorFactory, ArrayOfRecordsConfigureFactory, CodeGeneratorGUIFactory, DocumentationAttribute.DocumentationAttributeFactory, DocViewerFactory, FileOrURLEditorFactory, GeneratorTableauAttribute.GeneratorTableauEditorFactory, GiottoCodeGenerator.GiottoEditorFactory, GTIngredientsEditor.Factory, HighlightEntities.HighlightIcons, MathematicalModelConverterGUIFactory, Occupants.OccupantsConfigureFactory, SchedulePlotter.SchedulePlotterEditorFactory, TDLCodeGenerator.TDLEditorFactory, TextEditorConfigureFactory, TransformationAttributeEditorFactory, VisibleParameterEditorFactory

public abstract class EditorFactory
extends Attribute

This is an attribute that can create an editor for interactively configuring its container. If you place an instance of this class inside a Ptolemy II object, then when a user double clicks on the object or selects Configure from the context menu, instead of the default behavior (which is to edit parameters), the createEditor() method of this class is called.

This differs from EditorPaneFactory in that it is responsible to every aspect of creating the editor. Thus, it has to create a top-level window, rather than just a pane to insert in a top-level window.

In this base class, the createEditor() method is abstract. Derived classes must override this method to present a user interface for configuring the object. For example, a digital filter actor could present a filter design interface. A plotter actor could present a panel for configuring a plot. A file reader actor could present a file browser.

Since:
Ptolemy II 2.0
Version:
$Id: EditorFactory.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Edward A. Lee
See Also:
EditorPaneFactory, Serialized Form
Accepted Rating:
Red (johnr)
Proposed Rating:
Red (eal)

Nested Class Summary
 
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
EditorFactory(NamedObj container, java.lang.String name)
          Construct a factory with the specified container and name.
 
Method Summary
 void createEditor()
          Create an editor for configuring the container.
 void createEditor(NamedObj object)
          Create an editor for configuring the specified object.
abstract  void createEditor(NamedObj object, java.awt.Frame parent)
          Create an editor for configuring the specified object with the specified parent window.
 
Methods inherited from class ptolemy.kernel.util.Attribute
_checkContainer, _getContainedObject, _propagateExistence, clone, getContainer, moveDown, moveToFirst, moveToIndex, moveToLast, 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

EditorFactory

public EditorFactory(NamedObj container,
                     java.lang.String name)
              throws IllegalActionException,
                     NameDuplicationException
Construct a factory with the specified container and name.

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.
Method Detail

createEditor

public void createEditor()
Create an editor for configuring the container. This editor will have no parent window.


createEditor

public void createEditor(NamedObj object)
Create an editor for configuring the specified object. This editor will have no parent window.

Parameters:
object - The object to configure.

createEditor

public abstract void createEditor(NamedObj object,
                                  java.awt.Frame parent)
Create an editor for configuring the specified object with the specified parent window.

Parameters:
object - The object to configure.
parent - The parent window, or null if there is none.