org.crosswire.common.config.swing
Class WizardConfigEditor

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.crosswire.common.config.swing.AbstractConfigEditor
                      extended by org.crosswire.common.config.swing.WizardConfigEditor
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, ButtonPaneListener, ConfigEditor

public class WizardConfigEditor
extends AbstractConfigEditor

A mutable view of Fields setting array.

A few of the ideas in this code came from an article in the JDJ about configuration. However the Config package has a number of huge differences, the biggest being what it does with its config info. The JDJ article assumed that you'd only ever want to edit a properties file and that the rest of the app didn't care much, and that the tree style view was the only one you would ever need. This package is a re-write that addresses these shortcomings and others.

Author:
Joe Walker [joe at eireneh dot com]
See Also:
for license details. The copyright to this program is held by it's authors., Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  ActionFactory actions
           
private static String BACK
           
private static String CANCEL
           
private  JPanel deck
          Contains the configuration panels
private  JButton finish
          The Ok button
private static String FINISH
           
private static String HELP
           
private  CardLayout layout
          Layout for the config panels
private static Logger log
          The log stream
private  List names
          The list of path names
private  JButton next
          The next button
private static String NEXT
           
private  int posn
          The current position
private static long serialVersionUID
          Serialization ID
private  JLabel title
          The title for the config panels
private  int wcards
          The number of cards
 
Fields inherited from class org.crosswire.common.config.swing.AbstractConfigEditor
al, cards, config, decks, dialog, fields, TASK_ICON_LARGE, TASK_ICON_SMALL
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
WizardConfigEditor()
          Default constructor
 
Method Summary
 void doWizardBack()
           
 void doWizardCancel()
           
 void doWizardFinish(ActionEvent ev)
           
 void doWizardHelp()
           
 void doWizardNext()
           
private  JComponent getButtonPane()
          A Config panel does not have buttons.
protected  void initializeGUI()
          
Danger - this method is not called by the TreeConfigEditor constructor, it is called by the AbstractConfigEditor constructor so any field initializers will be called AFTER THIS METHOD EXECUTES so don't use field initializers.
private  void move(int dirn)
          Set a new card to be visible
private  void readObject(ObjectInputStream is)
          Serialization support.
 void showDialog(Component parent)
          Create a dialog to house a TreeConfig component using the default set of Fields.
protected  void updateTree()
          Now this wasn't created with JBuilder but maybe just maybe by calling my method this, JBuilder may grok it.
 
Methods inherited from class org.crosswire.common.config.swing.AbstractConfigEditor
addChoice, applyPressed, cancelPressed, construct, hideDialog, localToScreen, okPressed, removeChoice, screenToLocal, showDialog
 
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, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NEXT

private static final String NEXT
See Also:
Constant Field Values

CANCEL

private static final String CANCEL
See Also:
Constant Field Values

FINISH

private static final String FINISH
See Also:
Constant Field Values

HELP

private static final String HELP
See Also:
Constant Field Values

BACK

private static final String BACK
See Also:
Constant Field Values

actions

private transient ActionFactory actions

posn

private int posn
The current position


wcards

private int wcards
The number of cards


names

private List names
The list of path names


title

private JLabel title
The title for the config panels


deck

private JPanel deck
Contains the configuration panels


layout

private CardLayout layout
Layout for the config panels


finish

private JButton finish
The Ok button


next

private JButton next
The next button


log

private static final Logger log
The log stream


serialVersionUID

private static final long serialVersionUID
Serialization ID

See Also:
Constant Field Values
Constructor Detail

WizardConfigEditor

public WizardConfigEditor()
Default constructor

Method Detail

initializeGUI

protected void initializeGUI()

Danger - this method is not called by the TreeConfigEditor constructor, it is called by the AbstractConfigEditor constructor so any field initializers will be called AFTER THIS METHOD EXECUTES so don't use field initializers.

Specified by:
initializeGUI in class AbstractConfigEditor

updateTree

protected void updateTree()
Now this wasn't created with JBuilder but maybe just maybe by calling my method this, JBuilder may grok it.

Specified by:
updateTree in class AbstractConfigEditor

getButtonPane

private JComponent getButtonPane()
A Config panel does not have buttons. These are they.

Returns:
A button panel

doWizardCancel

public void doWizardCancel()

doWizardHelp

public void doWizardHelp()

doWizardBack

public void doWizardBack()

doWizardNext

public void doWizardNext()

doWizardFinish

public void doWizardFinish(ActionEvent ev)

move

private void move(int dirn)
Set a new card to be visible


showDialog

public void showDialog(Component parent)
Create a dialog to house a TreeConfig component using the default set of Fields. This version just sets the default button to next

Parameters:
parent - A component to use to find a frame to use as a dialog parent

readObject

private void readObject(ObjectInputStream is)
                 throws IOException,
                        ClassNotFoundException
Serialization support.

Parameters:
is -
Throws:
IOException
ClassNotFoundException

Copyright ยจ 2003-2006