ptolemy.actor.gui
Class EditParametersDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by ptolemy.gui.ComponentDialog
                          extended by ptolemy.actor.gui.EditParametersDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ChangeListener

public class EditParametersDialog
extends ComponentDialog
implements ChangeListener

This class is a modal dialog box for editing the parameters of a target object, which is an instance of NamedObj. All attributes that implement the Settable interface and have visibility FULL or NOT_EDITABLE are included in the dialog. An instance of this class contains an instance of Configurer, which examines the target for attributes of type EditorPaneFactory. Those attributes, if they are present, define the panels that are used to edit the parameters of the target. If they are not present, then a default panel is created.

If the panels returned by EditorPaneFactory implement the CloseListener interface, then they are notified when this dialog is closed, and are informed of which button (if any) was used to close the dialog.

The dialog is modal, so that (in lieu of a proper undo mechanism) the Cancel button can properly undo any modifications that are made. This means that the statement that creates the dialog will not return until the user dismisses the dialog. The method buttonPressed() can then be called to find out whether the user clicked the Commit button or the Cancel button (or any other button specified in the constructor). Then you can access the component to determine what values were set by the user.

Since:
Ptolemy II 1.0
Version:
$Id: EditParametersDialog.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Edward A. Lee
See Also:
Serialized Form
Accepted Rating:
Yellow (neuendor)
Proposed Rating:
Yellow (eal)

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static java.lang.String[] _moreButtons
          Open a new dialog in a change request that defers to the Swing thread.
protected  java.awt.Frame _owner
          The owner window.
protected  Query _query
          The query window for adding parameters.
protected  NamedObj _target
          The target object whose parameters are being edited.
 
Fields inherited from class ptolemy.gui.ComponentDialog
_buttonPressed, contents
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
EditParametersDialog(java.awt.Frame owner, NamedObj target)
          Construct a dialog with the specified owner and target.
EditParametersDialog(java.awt.Frame owner, NamedObj target, java.lang.String label)
          Construct a dialog with the specified owner and target.
 
Method Summary
protected  void _handleClosing()
          If the contents of this dialog implements the CloseListener interface, then notify it that the window has closed.
protected  ComponentDialog _openAddDialog(java.lang.String message, java.lang.String name, java.lang.String defValue, java.lang.String className)
          Open a dialog to add a new parameter.
 void changeExecuted(ChangeRequest change)
          React to the fact that a change has been successfully executed.
 void changeFailed(ChangeRequest change, java.lang.Exception exception)
          Notify the listener that a change has resulted in an exception.
 
Methods inherited from class ptolemy.gui.ComponentDialog
buttonPressed, setMessage
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_owner

protected java.awt.Frame _owner
The owner window.


_query

protected Query _query
The query window for adding parameters.


_target

protected NamedObj _target
The target object whose parameters are being edited.


_moreButtons

private static java.lang.String[] _moreButtons
Open a new dialog in a change request that defers to the Swing thread. This ensures no race conditions when we are re-opening a dialog to display the result of an edit change.

Constructor Detail

EditParametersDialog

public EditParametersDialog(java.awt.Frame owner,
                            NamedObj target)
Construct a dialog with the specified owner and target. A "Commit" and a "Cancel" button are added to the dialog. The dialog is placed relative to the owner.

Parameters:
owner - The object that, per the user, appears to be generating the dialog.
target - The object whose parameters are being edited.

EditParametersDialog

public EditParametersDialog(java.awt.Frame owner,
                            NamedObj target,
                            java.lang.String label)
Construct a dialog with the specified owner and target. A "Commit" and a "Cancel" button are added to the dialog. The dialog is placed relative to the owner.

Parameters:
owner - The object that, per the user, appears to be generating the dialog.
target - The object whose parameters are being edited.
label - The label for the dialog box.
Method Detail

changeExecuted

public void changeExecuted(ChangeRequest change)
React to the fact that a change has been successfully executed. This method opens a new parameter editor to replace the one that was closed.

Specified by:
changeExecuted in interface ChangeListener
Parameters:
change - The change that was executed.

changeFailed

public void changeFailed(ChangeRequest change,
                         java.lang.Exception exception)
Notify the listener that a change has resulted in an exception.

Specified by:
changeFailed in interface ChangeListener
Parameters:
change - The change that was attempted.
exception - The exception that resulted.

_handleClosing

protected void _handleClosing()
If the contents of this dialog implements the CloseListener interface, then notify it that the window has closed.

Overrides:
_handleClosing in class ComponentDialog

_openAddDialog

protected ComponentDialog _openAddDialog(java.lang.String message,
                                         java.lang.String name,
                                         java.lang.String defValue,
                                         java.lang.String className)
Open a dialog to add a new parameter.

Parameters:
message - A message to place at the top, or null if none.
name - The default name.
defValue - The default value.
className - The default class name.
Returns:
The dialog that is created.