ScriptEditor
Date: 2019-10-22

org.jmol.console

## Class ScriptEditor

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Window
      - - java.awt.Dialog
        - - javax.swing.JDialog
          - - org.jmol.console.ScriptEditor

- All Implemented Interfaces:
    java.awt.event.ActionListener, 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, JmolDropEditor, JmolScriptEditorInterface

      public final class ScriptEditor
      extends javax.swing.JDialog
      implements JmolScriptEditorInterface, java.awt.event.ActionListener, java.awt.event.WindowListener

  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `(package private) class` | `ScriptEditor.EditorDocument`
    `(package private) class` | `ScriptEditor.EditorTextPane`

    - ### 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`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected javax.swing.text.SimpleAttributeSet` | `attEcho`
    `protected javax.swing.text.SimpleAttributeSet` | `attError`
    `protected javax.swing.text.SimpleAttributeSet` | `attHighlight`
    `private javax.swing.JPanel` | `buttonPanel`
    `private javax.swing.JButton` | `checkButton`
    `private javax.swing.JButton` | `clearButton`
    `private javax.swing.JButton` | `closeButton`
    `private javax.swing.JButton` | `consoleButton`
    `protected ScriptEditor.EditorTextPane` | `editor`
    `protected java.lang.String` | `filename`
    `private javax.swing.JButton` | `fontButton`
    `private int` | `fontSize`
    `private javax.swing.JButton` | `haltButton`
    `private JmolConsole` | `jmolConsole`
    `private static java.lang.String[]` | `lastOpened`
    `private javax.swing.JButton` | `loadButton`
    `private java.util.Map<java.lang.String,java.lang.Object>` | `map`
    `private javax.swing.JButton` | `openButton`
    `protected ScriptContext` | `parsedContext`
    `protected java.lang.String` | `parsedData`
    `private javax.swing.JButton` | `pauseButton`
    `protected javax.swing.JButton` | `resumeButton`
    `private javax.swing.JButton` | `runButton`
    `private javax.swing.JButton` | `saveAsButton`
    `private javax.swing.JButton` | `saveButton`
    `private javax.swing.JButton` | `stateButton`
    `protected javax.swing.JButton` | `stepButton`
    `protected java.lang.String` | `title`
    `private javax.swing.JButton` | `topButton`
    `private Viewer` | `vwr`
    `private java.lang.String` | `zipFileName`

    - ### Fields inherited from class javax.swing.JDialog

      `accessibleContext, rootPane, rootPaneCheckingEnabled`

    - ### Fields inherited from class java.awt.Dialog

      `DEFAULT_MODALITY_TYPE`

    - ### 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

    Constructors
    Constructor and Description
    `ScriptEditor()`
    `ScriptEditor(Viewer vwr, javax.swing.JFrame frame, JmolConsole jmolConsole)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `actionPerformed(java.awt.event.ActionEvent e)`
    `private void` | `checkAction(java.awt.event.ActionEvent e)`
    `void` | `checkScript()`
    `void` | `dispose()`
    `private void` | `doOpen()`
    `protected void` | `doResume()`
    `void` | `doStep()`
    `java.lang.String` | `getText()`
    `private void` | `gotoCommand(int pt, boolean isPaused, javax.swing.text.SimpleAttributeSet attr)`
    `private void` | `gotoParsedLine()`
    `private void` | `gotoPosition(int i, int j)`
    `void` | `gotoTop()`
    `(package private) void` | `layoutWindow(java.awt.Container container)`
    `void` | `loadContent(java.lang.String script)`
    `void` | `loadFile(java.lang.String fileName)`
    `void` | `notify(int msWalltime, java.lang.Object[] data)`
    `void` | `notifyContext(ScriptContext context, java.lang.Object[] data)`
    `void` | `notifyScriptStart()`
    `void` | `notifyScriptTermination()`
    `void` | `output(java.lang.String message)`
    `protected void` | `parseScript(java.lang.String text)`
    `private void` | `saveZip(boolean isAs)`
    `private void` | `setAttributes()`
    `private javax.swing.JButton` | `setButton(java.lang.String s)`
    `private void` | `setContext(ScriptContext context)`
    `void` | `setFilename(java.lang.String filename)`
    `private void` | `setSaveEnabled(java.lang.String zipName)`
    `void` | `setVisible(boolean b)`
    `void` | `show(java.lang.String[] fileText)`
    `void` | `updateFontSize()`
    `void` | `windowActivated(java.awt.event.WindowEvent e)`
    `void` | `windowClosed(java.awt.event.WindowEvent e)`
    `void` | `windowClosing(java.awt.event.WindowEvent e)`
    `void` | `windowDeactivated(java.awt.event.WindowEvent e)`
    `void` | `windowDeiconified(java.awt.event.WindowEvent e)`
    `void` | `windowIconified(java.awt.event.WindowEvent e)`
    `void` | `windowOpened(java.awt.event.WindowEvent e)`

    - ### 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, 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, 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, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, 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`

    - ### Methods inherited from interface org.jmol.api.JmolScriptEditorInterface

      `isVisible`

- - ### Field Detail

    - #### editor

          protected ScriptEditor.EditorTextPane editor

    - #### openButton

          private javax.swing.JButton openButton

    - #### closeButton

          private javax.swing.JButton closeButton

    - #### loadButton

          private javax.swing.JButton loadButton

    - #### topButton

          private javax.swing.JButton topButton

    - #### fontButton

          private javax.swing.JButton fontButton

    - #### checkButton

          private javax.swing.JButton checkButton

    - #### runButton

          private javax.swing.JButton runButton

    - #### pauseButton

          private javax.swing.JButton pauseButton

    - #### saveButton

          private javax.swing.JButton saveButton

    - #### saveAsButton

          private javax.swing.JButton saveAsButton

    - #### haltButton

          private javax.swing.JButton haltButton

    - #### clearButton

          private javax.swing.JButton clearButton

    - #### stateButton

          private javax.swing.JButton stateButton

    - #### consoleButton

          private javax.swing.JButton consoleButton

    - #### stepButton

          protected javax.swing.JButton stepButton

    - #### resumeButton

          protected javax.swing.JButton resumeButton

    - #### vwr

          private Viewer vwr

    - #### jmolConsole

          private JmolConsole jmolConsole

    - #### title

          protected java.lang.String title

    - #### parsedData

          protected java.lang.String parsedData

    - #### parsedContext

          protected ScriptContext parsedContext

    - #### attHighlight

          protected javax.swing.text.SimpleAttributeSet attHighlight

    - #### attEcho

          protected javax.swing.text.SimpleAttributeSet attEcho

    - #### attError

          protected javax.swing.text.SimpleAttributeSet attError

    - #### buttonPanel

          private javax.swing.JPanel buttonPanel

    - #### filename

          protected java.lang.String filename

    - #### map

          private java.util.Map<java.lang.String,java.lang.Object> map

    - #### fontSize

          private int fontSize

    - #### zipFileName

          private java.lang.String zipFileName

    - #### lastOpened

          private static java.lang.String[] lastOpened

  - ### Constructor Detail

    - #### ScriptEditor

          public ScriptEditor()

    - #### ScriptEditor

          ScriptEditor(Viewer vwr,
                       javax.swing.JFrame frame,
                       JmolConsole jmolConsole)

  - ### Method Detail

    - #### setAttributes

          private void setAttributes()

    - #### layoutWindow

          void layoutWindow(java.awt.Container container)

    - #### setButton

          private javax.swing.JButton setButton(java.lang.String s)

    - #### notifyScriptStart

          public void notifyScriptStart()

      Specified by:
        `notifyScriptStart` in interface `JmolScriptEditorInterface`

    - #### notifyScriptTermination

          public void notifyScriptTermination()

      Specified by:
        `notifyScriptTermination` in interface `JmolScriptEditorInterface`

    - #### setVisible

          public void setVisible(boolean b)

      Specified by:
        `setVisible` in interface `JmolScriptEditorInterface`
      Overrides:
        `setVisible` in class `java.awt.Dialog`

    - #### getText

          public java.lang.String getText()

      Specified by:
        `getText` in interface `JmolScriptEditorInterface`

    - #### output

          public void output(java.lang.String message)

      Specified by:
        `output` in interface `JmolScriptEditorInterface`

    - #### setSaveEnabled

          private void setSaveEnabled(java.lang.String zipName)

    - #### dispose

          public void dispose()

      Specified by:
        `dispose` in interface `JmolScriptEditorInterface`
      Overrides:
        `dispose` in class `java.awt.Window`

    - #### notifyContext

          public void notifyContext(ScriptContext context,
                                    java.lang.Object[] data)

      Specified by:
        `notifyContext` in interface `JmolScriptEditorInterface`

    - #### setContext

          private void setContext(ScriptContext context)

    - #### gotoCommand

          private void gotoCommand(int pt,
                                   boolean isPaused,
                                   javax.swing.text.SimpleAttributeSet attr)

    - #### actionPerformed

          public void actionPerformed(java.awt.event.ActionEvent e)

      Specified by:
        `actionPerformed` in interface `java.awt.event.ActionListener`

    - #### checkAction

          private void checkAction(java.awt.event.ActionEvent e)

    - #### saveZip

          private void saveZip(boolean isAs)

    - #### updateFontSize

          public void updateFontSize()

    - #### doOpen

          private void doOpen()

    - #### gotoTop

          public void gotoTop()

    - #### checkScript

          public void checkScript()

    - #### parseScript

          protected void parseScript(java.lang.String text)

    - #### gotoParsedLine

          private void gotoParsedLine()

    - #### doStep

          public void doStep()

    - #### doResume

          protected void doResume()

    - #### gotoPosition

          private void gotoPosition(int i,
                                    int j)

    - #### setFilename

          public void setFilename(java.lang.String filename)

      Specified by:
        `setFilename` in interface `JmolScriptEditorInterface`

    - #### show

          public void show(java.lang.String[] fileText)

      Specified by:
        `show` in interface `JmolScriptEditorInterface`

    - #### windowOpened

          public void windowOpened(java.awt.event.WindowEvent e)

      Specified by:
        `windowOpened` in interface `java.awt.event.WindowListener`

    - #### windowClosing

          public void windowClosing(java.awt.event.WindowEvent e)

      Specified by:
        `windowClosing` in interface `java.awt.event.WindowListener`

    - #### windowClosed

          public void windowClosed(java.awt.event.WindowEvent e)

      Specified by:
        `windowClosed` in interface `java.awt.event.WindowListener`

    - #### windowIconified

          public void windowIconified(java.awt.event.WindowEvent e)

      Specified by:
        `windowIconified` in interface `java.awt.event.WindowListener`

    - #### windowDeiconified

          public void windowDeiconified(java.awt.event.WindowEvent e)

      Specified by:
        `windowDeiconified` in interface `java.awt.event.WindowListener`

    - #### windowActivated

          public void windowActivated(java.awt.event.WindowEvent e)

      Specified by:
        `windowActivated` in interface `java.awt.event.WindowListener`

    - #### windowDeactivated

          public void windowDeactivated(java.awt.event.WindowEvent e)

      Specified by:
        `windowDeactivated` in interface `java.awt.event.WindowListener`

    - #### loadContent

          public void loadContent(java.lang.String script)

      Specified by:
        `loadContent` in interface `JmolDropEditor`

    - #### loadFile

          public void loadFile(java.lang.String fileName)

      Specified by:
        `loadFile` in interface `JmolDropEditor`

    - #### notify

          public void notify(int msWalltime,
                             java.lang.Object[] data)

      Specified by:
        `notify` in interface `JmolScriptEditorInterface`