Class ModelPane

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, CloseListener

    public class ModelPane
    extends javax.swing.JPanel
    implements CloseListener
    ModelPane is a panel for interacting with an executing Ptolemy II model. It has optional controls for setting top-level and director parameters, a set of buttons for controlling the execution, and a panel for displaying results of the execution. Any entity in the model that implements the Placeable interface is placed in the display region.
    Since:
    Ptolemy II 0.4
    Version:
    $Id$
    Author:
    Edward A. Lee, Elaine Cheong
    See Also:
    Placeable, Serialized Form
    Pt.AcceptedRating:
    Yellow (janneck)
    Pt.ProposedRating:
    Green (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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.awt.Container _displays
      A panel into which to place model displays.
      static int BUTTONS
      Indicator to include control buttons.
      static int CONTROLS_ONLY
      Indicator to create only buttons.
      static int DIRECTOR_PARAMETERS
      Indicator to include director parameters in the controls.
      static int HORIZONTAL
      Indicator to use a horizontal layout.
      static int TOP_PARAMETERS
      Indicator to include top-level parameters in the controls.
      static int VERTICAL
      Indicator to use a vertical layout.
      • Fields inherited from class javax.swing.JComponent

        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

        accessibleContext, 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

      Constructors 
      Constructor Description
      ModelPane​(CompositeActor model)
      Construct a panel for interacting with the specified Ptolemy II model.
      ModelPane​(CompositeActor model, int layout, int show)
      Construct a panel for interacting with the specified Ptolemy II model.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      protected void _createPlaceable​(CompositeActor model)
      Place the placeable objects in the model in the display pane.
      java.awt.Container getDisplayPane()
      Return the container for model displays.
      CompositeActor getModel()
      Get the associated model.
      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 setDefaultButton()
      Make the Go button the default button for the root pane.
      void setDisplayPane​(java.awt.Container pane)
      Deprecated.
      It is no longer necessary to specify a display pane.
      void setModel​(CompositeActor model)
      Set the associated model and add a query box with its top-level parameters, and those of its director, if it has one.
      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, getBaseline, getBaselineResizeBehavior, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • HORIZONTAL

        public static final int HORIZONTAL
        Indicator to use a horizontal layout.
        See Also:
        Constant Field Values
      • VERTICAL

        public static final int VERTICAL
        Indicator to use a vertical layout.
        See Also:
        Constant Field Values
      • CONTROLS_ONLY

        public static final int CONTROLS_ONLY
        Indicator to create only buttons.
        See Also:
        Constant Field Values
      • BUTTONS

        public static final int BUTTONS
        Indicator to include control buttons.
        See Also:
        Constant Field Values
      • TOP_PARAMETERS

        public static final int TOP_PARAMETERS
        Indicator to include top-level parameters in the controls.
        See Also:
        Constant Field Values
      • DIRECTOR_PARAMETERS

        public static final int DIRECTOR_PARAMETERS
        Indicator to include director parameters in the controls.
        See Also:
        Constant Field Values
      • _displays

        protected java.awt.Container _displays
        A panel into which to place model displays.
    • Constructor Detail

      • ModelPane

        public ModelPane​(CompositeActor model)
        Construct a panel for interacting with the specified Ptolemy II model. This uses the default layout, which is horizontal, and shows control buttons, top-level parameters, and director parameters.
        Parameters:
        model - The model to control.
      • ModelPane

        public ModelPane​(CompositeActor model,
                         int layout,
                         int show)
        Construct a panel for interacting with the specified Ptolemy II model. The layout argument should be one of HORIZONTAL, VERTICAL, or CONTROLS_ONLY; it determines whether the controls are put to the left of, or above the placeable displays. If CONTROLS_ONLY is given, then no displays are created for placeable objects.

        The show argument is a bitwise or of any of BUTTONS, TOP_PARAMETERS, or DIRECTOR_PARAMETERS. Or it can be 0, in which case, no controls are shown. If BUTTONS is included, then a panel of buttons, go, pause, resume, and stop, are shown. If TOP_PARAMETERS is included, then the top-level parameters of the model are included. If DIRECTOR_PARAMETERS is included, then the parameters of the director are included.

        Parameters:
        model - The model to control.
        layout - HORIZONTAL or VERTICAL layout.
        show - Indicator of which controls to show.
    • Method Detail

      • getDisplayPane

        public java.awt.Container getDisplayPane()
        Return the container for model displays.
        Returns:
        A container for graphical displays.
        See Also:
        setDisplayPane(Container)
      • 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.
      • setDefaultButton

        public void setDefaultButton()
        Make the Go button the default button for the root pane. You should call this after placing this pane in a container with a root pane.
      • setDisplayPane

        @Deprecated
        public void setDisplayPane​(java.awt.Container pane)
        Deprecated.
        It is no longer necessary to specify a display pane. The displays are handled by setModel().
        Set the container for model displays. This method sets the background of the specified pane to match that of this panel.
        Parameters:
        pane - The pane that is to be the container.
        See Also:
        getDisplayPane()
      • setModel

        public void setModel​(CompositeActor model)
        Set the associated model and add a query box with its top-level parameters, and those of its director, if it has one. All placeable objects in the hierarchy will get placed.
        Parameters:
        model - The associated model.
        See Also:
        getModel()
      • 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.
      • _createPlaceable

        protected void _createPlaceable​(CompositeActor model)
        Place the placeable objects in the model in the display pane. This method places all placeables vertically. Derived classes may override this method if the placeable objects are to be placed differently.
        Parameters:
        model - The model that contains the placeable objects.