Class JDialogScriptRecorder

  • All Implemented Interfaces:
    ScriptRecordingListener, DialogDefaultsInterface, java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.ItemListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class JDialogScriptRecorder
    extends JDialogBase
    implements ScriptRecordingListener, java.awt.event.ActionListener, java.awt.event.WindowListener
    This is the "record script" dialog. While it's running, when scriptable commands happen they show up in the text area. The text area can be changed to be editable (which pauses the recording) or uneditable (default uneditable). Script recording can be paused and resumed; when paused, commands will not show up in the script. There is a file menu that allows the user to open a script file (this dumps the contents of the script file to the text area), save a script file, and exit. Right now open and save don't request specific extensions, but this could change in the future.
    Author:
    Neva Cherniavsky
    See Also:
    ScriptRecorder, ScriptRecordingListener, ScriptableActionInterface, Parser, Serialized Form
    • 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, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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
    • Constructor Summary

      Constructors 
      Constructor Description
      JDialogScriptRecorder()
      Constructs a new script recorder dialog and turns recording on.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      Reacts to the following actions:
      Open - asks the user to choose a script file and dumps the contents to the text area
      Save - saves the script to a file
      Exit - calls windowClosing
      Pause - pauses or resumes the script recording by setting isRecording appropriately
      Edit - makes the text area editable or uneditable.
      void changeRecordingStatus​(int recorderStatus)
      Alerts the listener to a change in whether the ScriptRecorder is currently recording a script.
      private void changeScriptEditingAbility​(boolean doAllowEditing)
      Changes whether the current script can be edited by hand (which pauses the script recording while the editing is being done.
      private void initGUI()
      Initializes the dialog box and adds the components.
      private void open()
      Opens the script as a text file and dumps it to the text area.
      private void save()
      Saves the script as a text file; calls the appropriate save dialogs to do so.
      private void setUserInstructions​(java.lang.String message)
      Sets the instruction label to the message.
      void updateScript​(java.lang.String newScriptText)
      Alerts the listener to a change in the text of the script currently being recorded.
      void windowActivated​(java.awt.event.WindowEvent event)
      Do nothing.
      void windowClosed​(java.awt.event.WindowEvent event)
      Do nothing.
      void windowClosing​(java.awt.event.WindowEvent event)
      Closes the dialog and stop the script recorder.
      void windowDeactivated​(java.awt.event.WindowEvent event)
      Do nothing.
      void windowDeiconified​(java.awt.event.WindowEvent event)
      Do nothing.
      void windowIconified​(java.awt.event.WindowEvent event)
      Do nothing.
      void windowOpened​(java.awt.event.WindowEvent event)
      Do nothing.
      • Methods inherited from class javax.swing.JDialog

        addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Dialog

        addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, 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

      • serialVersionUID

        private static final long serialVersionUID
        Use serialVersionUID for interoperability.
        See Also:
        Constant Field Values
      • editButton

        private javax.swing.JButton editButton
        DOCUMENT ME!
      • instructionLabel

        private javax.swing.JLabel instructionLabel
        DOCUMENT ME!
      • message

        private java.lang.String message
        DOCUMENT ME!
      • pauseButton

        private javax.swing.JButton pauseButton
        DOCUMENT ME!
      • pauseButton2

        private javax.swing.JButton pauseButton2
        DOCUMENT ME!
      • scriptTextArea

        private javax.swing.JTextArea scriptTextArea
        DOCUMENT ME!
      • scriptRecorder

        private ScriptRecorder scriptRecorder
        A reference to the global MIPAV script recorder. This dialog listens to changes in its status and script.
    • Constructor Detail

      • JDialogScriptRecorder

        public JDialogScriptRecorder()
        Constructs a new script recorder dialog and turns recording on.
    • Method Detail

      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Reacts to the following actions:
        Open - asks the user to choose a script file and dumps the contents to the text area
        Save - saves the script to a file
        Exit - calls windowClosing
        Pause - pauses or resumes the script recording by setting isRecording appropriately
        Edit - makes the text area editable or uneditable.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Overrides:
        actionPerformed in class JDialogBase
        Parameters:
        event - Event that triggers this function.
      • windowActivated

        public void windowActivated​(java.awt.event.WindowEvent event)
        Do nothing.
        Specified by:
        windowActivated in interface java.awt.event.WindowListener
        Overrides:
        windowActivated in class JDialogBase
        Parameters:
        event - Window event.
      • windowClosed

        public void windowClosed​(java.awt.event.WindowEvent event)
        Do nothing.
        Specified by:
        windowClosed in interface java.awt.event.WindowListener
        Overrides:
        windowClosed in class JDialogBase
        Parameters:
        event - Window event.
      • windowClosing

        public void windowClosing​(java.awt.event.WindowEvent event)
        Closes the dialog and stop the script recorder.
        Specified by:
        windowClosing in interface java.awt.event.WindowListener
        Overrides:
        windowClosing in class JDialogBase
        Parameters:
        event - Window event (null if we are closing the window programmatically).
      • windowDeactivated

        public void windowDeactivated​(java.awt.event.WindowEvent event)
        Do nothing.
        Specified by:
        windowDeactivated in interface java.awt.event.WindowListener
        Overrides:
        windowDeactivated in class JDialogBase
        Parameters:
        event - Window event.
      • windowDeiconified

        public void windowDeiconified​(java.awt.event.WindowEvent event)
        Do nothing.
        Specified by:
        windowDeiconified in interface java.awt.event.WindowListener
        Overrides:
        windowDeiconified in class JDialogBase
        Parameters:
        event - Window event.
      • windowIconified

        public void windowIconified​(java.awt.event.WindowEvent event)
        Do nothing.
        Specified by:
        windowIconified in interface java.awt.event.WindowListener
        Overrides:
        windowIconified in class JDialogBase
        Parameters:
        event - Window event.
      • windowOpened

        public void windowOpened​(java.awt.event.WindowEvent event)
        Do nothing.
        Specified by:
        windowOpened in interface java.awt.event.WindowListener
        Overrides:
        windowOpened in class JDialogBase
        Parameters:
        event - Window event.
      • initGUI

        private void initGUI()
        Initializes the dialog box and adds the components.
      • open

        private void open()
                   throws java.io.IOException
        Opens the script as a text file and dumps it to the text area.
        Throws:
        java.io.IOException - If the open fails for some reason
      • save

        private void save()
                   throws java.io.IOException
        Saves the script as a text file; calls the appropriate save dialogs to do so.
        Throws:
        java.io.IOException - If the save fails for some reason.
      • setUserInstructions

        private void setUserInstructions​(java.lang.String message)
        Sets the instruction label to the message. Used mostly for Pause/Resume.
        Parameters:
        message - Text to set the label to.
      • changeScriptEditingAbility

        private void changeScriptEditingAbility​(boolean doAllowEditing)
        Changes whether the current script can be edited by hand (which pauses the script recording while the editing is being done.
        Parameters:
        doAllowEditing - Whether the ability to edit the script should be enabled.
      • updateScript

        public void updateScript​(java.lang.String newScriptText)
        Alerts the listener to a change in the text of the script currently being recorded.
        Specified by:
        updateScript in interface ScriptRecordingListener
        Parameters:
        newScriptText - The text of the script (the whole text, not just any additions).
      • changeRecordingStatus

        public void changeRecordingStatus​(int recorderStatus)
        Alerts the listener to a change in whether the ScriptRecorder is currently recording a script.
        Specified by:
        changeRecordingStatus in interface ScriptRecordingListener
        Parameters:
        recorderStatus - The new status of the scriptRecorder (PAUSED, RECORDING, or STOPPED).