org.crosswire.common.config.swing
Class AbstractConfigEditor

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
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, ButtonPaneListener, ConfigEditor
Direct Known Subclasses:
TabbedConfigEditor, TreeConfigEditor, WizardConfigEditor

public abstract class AbstractConfigEditor
extends JPanel
implements ConfigEditor, ButtonPaneListener

Page of a Config.

Distribution Licence:
JSword is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
The License is available on the internet here, or by writing to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
The copyright to this program is held by it's authors.

Version:
$Id: AbstractConfigEditor.java,v 1.7 2005/03/19 18:45:07 dmsmith Exp $
Author:
Joe Walker [joe at eireneh dot com]
See Also:
Licence, 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
protected  ActionListener al
          Action when the user clicks on accept
protected  int cards
          How many cards have we created - we only need a tree if there are 2 or more cards
protected  Config config
          The class that represents the Fields that we display
protected  Map decks
          A fast way to get at the configuration panels
protected  JDialog dialog
          The dialog that we are displayed in
protected  Map fields
          The set of fields that we are displaying
private static Logger log
          The log stream
protected static ImageIcon TASK_ICON_LARGE
          The large task icon
protected static ImageIcon TASK_ICON_SMALL
          The small task icon
 
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
AbstractConfigEditor()
           
 
Method Summary
protected  void addChoice(String key, Choice model)
          Add a Choice to our set of panels
 void applyPressed(ActionEvent ev)
          Someone has pressed apply
 void cancelPressed(ActionEvent ev)
          Someone has pressed cancel
 void construct(Config aConfig)
          The equivalent of a constructor, create a Config base with the set of Fields that it will display.
protected  void hideDialog()
          Close any open dialogs
protected abstract  void initializeGUI()
          Create the GUI
protected  void localToScreen()
          Take the data in the local storage area and copy it on screen.
 void okPressed(ActionEvent ev)
          Someone has pressed OK
protected  void removeChoice(String key, Choice model)
          Add a Choice to our set of panels
protected  void screenToLocal()
          Take the data displayed on screen an copy it to the local storage area.
 void showDialog(Component parent, ActionListener newal)
          Create a dialog to house a TreeConfig component using the default set of Fields
protected abstract  void updateTree()
          Update the tree structure
 
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

log

private static final Logger log
The log stream


cards

protected int cards
How many cards have we created - we only need a tree if there are 2 or more cards


al

protected ActionListener al
Action when the user clicks on accept


config

protected Config config
The class that represents the Fields that we display


dialog

protected JDialog dialog
The dialog that we are displayed in


decks

protected Map decks
A fast way to get at the configuration panels


fields

protected Map fields
The set of fields that we are displaying


TASK_ICON_LARGE

protected static final ImageIcon TASK_ICON_LARGE
The large task icon


TASK_ICON_SMALL

protected static final ImageIcon TASK_ICON_SMALL
The small task icon

Constructor Detail

AbstractConfigEditor

public AbstractConfigEditor()
Method Detail

construct

public void construct(Config aConfig)
Description copied from interface: ConfigEditor
The equivalent of a constructor, create a Config base with the set of Fields that it will display.

Specified by:
construct in interface ConfigEditor
Parameters:
aConfig - The configurable settings

showDialog

public void showDialog(Component parent,
                       ActionListener newal)
Description copied from interface: ConfigEditor
Create a dialog to house a TreeConfig component using the default set of Fields

Specified by:
showDialog in interface ConfigEditor
Parameters:
parent - A component to use to find a frame to use as a dialog parent

initializeGUI

protected abstract void initializeGUI()
Create the GUI


updateTree

protected abstract void updateTree()
Update the tree structure


okPressed

public void okPressed(ActionEvent ev)
Description copied from interface: ButtonPaneListener
Someone has pressed OK

Specified by:
okPressed in interface ButtonPaneListener
Parameters:
ev - The button press event

cancelPressed

public void cancelPressed(ActionEvent ev)
Description copied from interface: ButtonPaneListener
Someone has pressed cancel

Specified by:
cancelPressed in interface ButtonPaneListener
Parameters:
ev - The button press event

applyPressed

public void applyPressed(ActionEvent ev)
Description copied from interface: ButtonPaneListener
Someone has pressed apply

Specified by:
applyPressed in interface ButtonPaneListener
Parameters:
ev - The button press event

addChoice

protected void addChoice(String key,
                         Choice model)
Add a Choice to our set of panels


removeChoice

protected void removeChoice(String key,
                            Choice model)
Add a Choice to our set of panels


hideDialog

protected void hideDialog()
Close any open dialogs


screenToLocal

protected void screenToLocal()
Take the data displayed on screen an copy it to the local storage area.


localToScreen

protected void localToScreen()
Take the data in the local storage area and copy it on screen.


Copyright ? 2003-2004