ptolemy.actor.gui.run
Class CustomizableRunPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by ptolemy.actor.gui.run.CustomizableRunPane
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, CloseListener

public class CustomizableRunPane
extends javax.swing.JPanel
implements CloseListener

A panel for interacting with an executing Ptolemy II model. This panel can be customized by inserting FIXME: more

Since:
Ptolemy II 8.0
Version:
$Id: CustomizableRunPane.java 57044 2010-01-27 22:41:05Z cxh $
Author:
Edward A. Lee
See Also:
Placeable, Serialized Form
Accepted Rating:
Red (cxh)
Proposed Rating:
Yellow (eal)

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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  LayoutConstraintsManager _layoutConstraintsManager
          The layout constraint manager.
protected  CompositeActor _model
          The associated model.
private  java.util.HashMap<java.lang.String,javax.swing.JPanel> _subpanels
          A collection of subpanels.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CustomizableRunPane(CompositeActor model, java.lang.String xml)
          Construct a panel for interacting with the specified Ptolemy II model.
 
Method Summary
private  void _addComponent(java.lang.String name, javax.swing.JPanel panel)
          Add a component with the specified name.
private  void _closeDisplays()
          Close any open displays by calling place(null).
private  java.lang.String _defaultLayout()
          Create a default layout for the associated model.
protected  java.awt.Component _getComponent(java.lang.String name)
          Return a component with the specified name.
 LayoutConstraintsManager getLayoutConstraintsManager()
          Return the layout constraints manager for this pane.
 void pauseRun()
          If the model has a manager and is executing, then pause execution by calling the pause() method of the manager.
 void resumeRun()
          If the model has a manager and is executing, then resume execution by calling the resume() method of the manager.
 void startRun()
          If the model has a manager and is not already running, then execute the model in a new thread.
 void stopRun()
          If the model has a manager and is executing, then stop execution by calling the stop() method of the manager.
 void windowClosed(java.awt.Window window, java.lang.String button)
          Notify the contained instances of PtolemyQuery that the window has been closed, and remove all Placeable displays by calling place(null).
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_model

protected CompositeActor _model
The associated model.


_layoutConstraintsManager

private LayoutConstraintsManager _layoutConstraintsManager
The layout constraint manager.


_subpanels

private java.util.HashMap<java.lang.String,javax.swing.JPanel> _subpanels
A collection of subpanels.

Constructor Detail

CustomizableRunPane

public CustomizableRunPane(CompositeActor model,
                           java.lang.String xml)
                    throws IllegalActionException
Construct a panel for interacting with the specified Ptolemy II model.

Parameters:
model - The model to control.
xml - The XML specification of the layout, or null to use the default.
Throws:
IllegalActionException - If the XML to be parsed has errors.
Method Detail

getLayoutConstraintsManager

public LayoutConstraintsManager getLayoutConstraintsManager()
Return the layout constraints manager for this pane.

Returns:
A layout constraints manager.

pauseRun

public void pauseRun()
If the model has a manager and is executing, then pause execution by calling the pause() method of the manager. If there is no manager, do nothing.


resumeRun

public void resumeRun()
If the model has a manager and is executing, then resume execution by calling the resume() method of the manager. If there is no manager, do nothing.


startRun

public void startRun()
If the model has a manager and is not already running, then execute the model in a new thread. Otherwise, do nothing.


stopRun

public void stopRun()
If the model has a manager and is executing, then stop execution by calling the stop() method of the manager. If there is no manager, do nothing.


windowClosed

public void windowClosed(java.awt.Window window,
                         java.lang.String button)
Notify the contained instances of PtolemyQuery that the window has been closed, and remove all Placeable displays by calling place(null). This method is called if this pane is contained within a container that supports such notification.

Specified by:
windowClosed in interface CloseListener
Parameters:
window - The window that closed.
button - The name of the button that was used to close the window.

_getComponent

protected java.awt.Component _getComponent(java.lang.String name)
                                    throws IllegalActionException
Return a component with the specified name. The name is of the form TYPE:DETAIL, where TYPE defines the type of component to add and DETAIL specifies details.

Parameters:
name - The name.
Returns:
A component, or null if the specification is not recognized.
Throws:
IllegalActionException - If there is an error in the name.

_addComponent

private void _addComponent(java.lang.String name,
                           javax.swing.JPanel panel)
                    throws IllegalActionException
Add a component with the specified name. The name is of the form TYPE:DETAIL, where TYPE defines the type of component to add and DETAIL specifies details.

Parameters:
name - The name.
panel - The panel into which to add the component.
Throws:
IllegalActionException - If there is an error in the XML.

_closeDisplays

private void _closeDisplays()
Close any open displays by calling place(null).


_defaultLayout

private java.lang.String _defaultLayout()
Create a default layout for the associated model.