edu.rice.cs.drjava.ui.config
Class ConfigFrame

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--edu.rice.cs.drjava.ui.config.ConfigFrame
All Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, RootPaneContainer, Serializable, WindowConstants

public class ConfigFrame
extends JFrame

The frame for setting Configuration options on the fly

Version:
$Id: ConfigFrame.java,v 1.27 2002/09/06 21:48:48 csreis Exp $
See Also:
Serialized Form

Inner Class Summary
private  class ConfigFrame.PanelTreeNode
          Private class to handle rendering of tree nodes, each of which corresponds to a ConfigPanel.
private  class ConfigFrame.PanelTreeSelectionListener
           
 
Inner classes inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.AWTTreeLock
 
Field Summary
private  JButton _applyButton
           
private  JButton _cancelButton
           
private  MainFrame _mainFrame
           
private  JPanel _mainPanel
           
private  JButton _okButton
           
private  ConfigFrame.PanelTreeNode _rootNode
           
private  JButton _saveSettingsButton
           
private  JSplitPane _splitPane
           
private  JTree _tree
           
private  DefaultTreeModel _treeModel
           
private static int FRAME_HEIGHT
           
private static int FRAME_WIDTH
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, defaultCloseOperation, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
base, CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, frameSerializedDataVersion, HAND_CURSOR, icon, ICONIFIED, mbManagement, menuBar, MOVE_CURSOR, N_RESIZE_CURSOR, nameCounter, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, ownedWindows, resizable, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, serialVersionUID, state, SW_RESIZE_CURSOR, TEXT_CURSOR, title, W_RESIZE_CURSOR, WAIT_CURSOR, weakThis
 
Fields inherited from class java.awt.Window
active, dbg, focusMgr, inputContext, inputContextLock, nativeActive, OPENED, ownedWindowList, warningString, windowListener, windowSerializedDataVersion
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, needsPaint, printing, printingThreads
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ConfigFrame(MainFrame frame)
          Sets up the frame and displays it.
 
Method Summary
private  ConfigFrame.PanelTreeNode _createPanel(ConfigPanel c, ConfigFrame.PanelTreeNode parent)
          Creates an individual panel, adds it to the JTree and the list of panels, and returns the tree node.
private  ConfigFrame.PanelTreeNode _createPanel(String t)
          Creates an individual panel, adds it to the JTree and the list of panels, and returns the tree node.
private  ConfigFrame.PanelTreeNode _createPanel(String t, ConfigFrame.PanelTreeNode parent)
          Creates an individual panel, adds it to the JTree and the list of panels, and returns the tree node.
private  void _createPanels()
          Creates all of the panels contained within the frame.
private  void _createTree()
          Creates the JTree to display preferences categories.
private  void _displayPanel(ConfigPanel cf)
          Sets the given ConfigPanel as the visible panel.
private  void _setupColorPanel(ConfigPanel panel)
          Adds all of the components for the Color panel of the preferences window.
private  void _setupDebugPanel(ConfigPanel panel)
          Add all of the components for the Debugger panel of the preferences window.
private  void _setupDisplayPanel(ConfigPanel panel)
          Add all of the components for the Display Options panel of the preferences window.
private  void _setupFontPanel(ConfigPanel panel)
          Add all of the components for the Font panel of the preferences window.
private  void _setupKeyBindingsPanel(ConfigPanel panel)
          Adds all of the components for the Key Bindings panel of the preferences window.
private  void _setupMiscPanel(ConfigPanel panel)
          Adds all of the components for the Miscellaneous panel of the preferences window.
private  void _setupResourceLocPanel(ConfigPanel panel)
          Add all of the components for the Resource Locations panel of the preferences window.
 boolean apply()
          Call the update method to propagate down the tree, parsing input values into their config options.
 void cancel()
          Resets the frame and hides it.
 void resetToCurrent()
          Resets the field of each option in the Preferences window to its actual stored value.
 boolean saveSettings()
          Write the configured option values to disk.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, createRootPaneException, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
, addNotify, addToFrameList, constructComponentName, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, initIDs, isResizable, postProcessKeyEvent, readObject, remove, removeFromFrameList, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle, writeObject
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, adjustListeningChildren, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, dispose, eventEnabled, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postWindowEvent, preProcessKeyEvent, processEvent, removeOwnedWindow, removeWindowListener, resetGC, setCursor, setFocusOwner, setWarningString, show, toBack, toFront, transferFocus
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, numListening, paint, paintComponents, paintHeavyweightComponents, postsOldMouseEvents, preferredSize, print, printComponents, printHeavyweightComponents, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, 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, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

FRAME_WIDTH

private static final int FRAME_WIDTH

FRAME_HEIGHT

private static final int FRAME_HEIGHT

_mainFrame

private MainFrame _mainFrame

_splitPane

private JSplitPane _splitPane

_tree

private JTree _tree

_treeModel

private DefaultTreeModel _treeModel

_rootNode

private ConfigFrame.PanelTreeNode _rootNode

_okButton

private JButton _okButton

_applyButton

private JButton _applyButton

_cancelButton

private JButton _cancelButton

_saveSettingsButton

private JButton _saveSettingsButton

_mainPanel

private JPanel _mainPanel
Constructor Detail

ConfigFrame

public ConfigFrame(MainFrame frame)
Sets up the frame and displays it.
Method Detail

apply

public boolean apply()
Call the update method to propagate down the tree, parsing input values into their config options.

resetToCurrent

public void resetToCurrent()
Resets the field of each option in the Preferences window to its actual stored value.

cancel

public void cancel()
Resets the frame and hides it.

saveSettings

public boolean saveSettings()
                     throws IOException
Write the configured option values to disk.

_displayPanel

private void _displayPanel(ConfigPanel cf)
Sets the given ConfigPanel as the visible panel.

_createTree

private void _createTree()
Creates the JTree to display preferences categories.

_createPanel

private ConfigFrame.PanelTreeNode _createPanel(String t,
                                               ConfigFrame.PanelTreeNode parent)
Creates an individual panel, adds it to the JTree and the list of panels, and returns the tree node.
Parameters:
t - the title of this panel
parent - the parent tree node
Returns:
this tree node

_createPanel

private ConfigFrame.PanelTreeNode _createPanel(ConfigPanel c,
                                               ConfigFrame.PanelTreeNode parent)
Creates an individual panel, adds it to the JTree and the list of panels, and returns the tree node.
Parameters:
t - the title of this panel
parent - the parent tree node
Returns:
this tree node

_createPanel

private ConfigFrame.PanelTreeNode _createPanel(String t)
Creates an individual panel, adds it to the JTree and the list of panels, and returns the tree node. Adds to the root node.
Parameters:
t - the title of this panel
Returns:
this tree node

_createPanels

private void _createPanels()
Creates all of the panels contained within the frame.

_setupResourceLocPanel

private void _setupResourceLocPanel(ConfigPanel panel)
Add all of the components for the Resource Locations panel of the preferences window.

_setupDisplayPanel

private void _setupDisplayPanel(ConfigPanel panel)
Add all of the components for the Display Options panel of the preferences window.

_setupFontPanel

private void _setupFontPanel(ConfigPanel panel)
Add all of the components for the Font panel of the preferences window.

_setupColorPanel

private void _setupColorPanel(ConfigPanel panel)
Adds all of the components for the Color panel of the preferences window.

_setupKeyBindingsPanel

private void _setupKeyBindingsPanel(ConfigPanel panel)
Adds all of the components for the Key Bindings panel of the preferences window.

_setupDebugPanel

private void _setupDebugPanel(ConfigPanel panel)
Add all of the components for the Debugger panel of the preferences window.

_setupMiscPanel

private void _setupMiscPanel(ConfigPanel panel)
Adds all of the components for the Miscellaneous panel of the preferences window.