org.gjt.sp.jedit.gui

## Class OptionsDialog

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Window
      - - java.awt.Dialog
        - - javax.swing.JDialog
          - - org.gjt.sp.jedit.gui.EnhancedDialog
            - - org.gjt.sp.jedit.gui.OptionsDialog

- All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.TreeSelectionListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants
  Direct Known Subclasses:
    GlobalOptions, PluginOptions

      public abstract class OptionsDialog
      extends EnhancedDialog
      implements java.awt.event.ActionListener, javax.swing.event.TreeSelectionListener

  An abstract options dialog box.
  See Also:
    Serialized Form
  To do:
    refactor to use OptionGroupPane

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `OptionsDialog.OptionTreeModel`
    `static class` | `OptionsDialog.PaneNameRenderer`

    - ### 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 OptionPane` | `currentPane`
    `protected javax.swing.JTree` | `paneTree`

    - ### Fields inherited from class org.gjt.sp.jedit.gui.EnhancedDialog

      `enterEnabled, keyHandler`

    - ### 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
    Modifier | Constructor and Description
    --- | ---
    `protected` | `OptionsDialog(java.awt.Dialog dialog, java.lang.String name, java.lang.String pane)`
    `protected` | `OptionsDialog(java.awt.Frame frame, java.lang.String name, java.lang.String pane)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `actionPerformed(java.awt.event.ActionEvent evt)`
    `void` | `addOptionGroup(OptionGroup group)`
    `void` | `addOptionPane(OptionPane pane)`
    `void` | `cancel()`
    `protected abstract OptionsDialog.OptionTreeModel` | `createOptionTreeModel()` Creates the tree model that goes on the left of the option pane, loading all the items that are needed.
    `void` | `dispose()`
    `protected abstract OptionGroup` | `getDefaultGroup()`
    `protected void` | `init(java.lang.String name, java.lang.String pane)`
    `void` | `ok()`
    `void` | `ok(boolean dispose)`
    `void` | `valueChanged(javax.swing.event.TreeSelectionEvent evt)`

    - ### Methods inherited from class org.gjt.sp.jedit.gui.EnhancedDialog

      `getEnterEnabled, setEnterEnabled`

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

- - ### Field Detail

    - #### paneTree

          protected javax.swing.JTree paneTree

    - #### currentPane

          protected OptionPane currentPane

  - ### Constructor Detail

    - #### OptionsDialog

          protected OptionsDialog(java.awt.Frame frame,
                       java.lang.String name,
                       java.lang.String pane)

      Parameters:
        `frame` - - the parent frame for dialogs created
        `name` - the name of an option pane - it must have a .title and .code property defined in order to instantiate.
        `pane` - the initial pane to show when this is created.

    - #### OptionsDialog

          protected OptionsDialog(java.awt.Dialog dialog,
                       java.lang.String name,
                       java.lang.String pane)

  - ### Method Detail

    - #### addOptionGroup

          public void addOptionGroup(OptionGroup group)

    - #### addOptionPane

          public void addOptionPane(OptionPane pane)

    - #### ok

          public void ok()

      Specified by:
        `ok` in class `EnhancedDialog`

    - #### cancel

          public void cancel()

      Specified by:
        `cancel` in class `EnhancedDialog`

    - #### ok

          public void ok(boolean dispose)

    - #### dispose

          public void dispose()

      Overrides:
        `dispose` in class `java.awt.Window`

    - #### actionPerformed

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

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

    - #### valueChanged

          public void valueChanged(javax.swing.event.TreeSelectionEvent evt)

      Specified by:
        `valueChanged` in interface `javax.swing.event.TreeSelectionListener`

    - #### createOptionTreeModel

          protected abstract OptionsDialog.OptionTreeModel createOptionTreeModel()

      Creates the tree model that goes on the left of the option pane, loading all the items that are needed.

    - #### getDefaultGroup

          protected abstract OptionGroup getDefaultGroup()

    - #### init

          protected void init(java.lang.String name,
                  java.lang.String pane)

      Parameters:
        `name` - the name of this pane
        `pane` - - a sub-pane name to select (?) Could someone please write better docs for this function? Creates buttons, adds listeners, and makes the pane visible. This method is called automatically from the constructor, and also calls init on each of the optionPanes?
      Since:
        jEdit 4.3pre9 (was private before)