jimm.datavision.gui.parameter
Class ParamEditWin

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by jimm.datavision.gui.EditWin
                          extended by jimm.datavision.gui.parameter.ParamEditWin
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.RootPaneContainer, javax.swing.WindowConstants

public class ParamEditWin
extends EditWin

A parameter editing dialog box.

Author:
Jim Menard, jimm@io.com
See Also:
Serialized Form

Nested Class Summary
 
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
 
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
protected  javax.swing.JRadioButton boolNoRButton
           
protected  javax.swing.JRadioButton boolRButton
           
protected  javax.swing.JRadioButton boolYesRButton
           
protected static java.lang.String CARD_NAME_DATE
           
protected static java.lang.String CARD_NAME_LIST
           
protected static java.lang.String CARD_NAME_RANGE
           
protected static java.lang.String CARD_NAME_SINGLE
           
protected static java.lang.String CARD_NAME_SINGLE_BOOL
           
protected  javax.swing.JPanel cardPanel
           
protected  javax.swing.JRadioButton dateRButton
           
protected static int HORIZ_GAP
           
protected  javax.swing.JList list
           
protected  javax.swing.JTextField listAddField
           
protected  javax.swing.JRadioButton listMultipleRButton
           
protected  javax.swing.JRadioButton listSingleRButton
           
protected  javax.swing.JTextField nameField
           
protected  javax.swing.JRadioButton numericRButton
           
protected  Parameter param
           
protected  javax.swing.JTextField questionField
           
protected  com.toedter.calendar.JCalendar rangeFromDate
           
protected  javax.swing.JTextField rangeFromField
           
protected  javax.swing.JRadioButton rangeRButton
           
protected  com.toedter.calendar.JCalendar rangeToDate
           
protected  javax.swing.JTextField rangeToField
           
protected  com.toedter.calendar.JCalendar singleDate
           
protected  javax.swing.JTextField singleField
           
protected  javax.swing.JRadioButton singleRButton
           
protected  javax.swing.JRadioButton stringRButton
           
protected static int TEXT_FIELD_COLS
           
protected static int VERT_GAP
           
 
Fields inherited from class jimm.datavision.gui.EditWin
commands, designer, revertButton
 
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
ParamEditWin(Designer designer, Parameter p)
          Constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Handles radio buttons.
protected  javax.swing.JRadioButton addRadioButton(java.lang.String name, java.awt.Container parent, javax.swing.ButtonGroup group)
          Creates and adds a radio buton
protected  int arityFromWidgets()
          Returns one of the Parameter constants ARITY_ONE, ARITY_RANGE, ARITY_LIST_SINGLE, or ARITY_LIST_MULTIPLE based on the state of the GUI.
protected  javax.swing.JPanel boolCard()
           
protected  javax.swing.JPanel buildCardPanel()
           
protected  javax.swing.JPanel buildCenterPanel()
           
protected  javax.swing.JPanel buildPromptPanel()
           
protected  javax.swing.JPanel buildRadioButtonsPanel()
           
protected  void buildWindow()
          Builds the window contents.
protected  javax.swing.JPanel dateCard()
           
protected  void doRevert()
          Gives subclasses a chance to clean up their GUI.
protected  void doSave()
          Saves all data by creating a new command, performing it, and adding it to commands.
protected  void enableLegalArityButtons()
          Enables only legal arity radio buttons.
protected  void fillEditWidgets()
          Fills all widgets except name and question.
protected  javax.swing.JPanel listCard()
           
protected  javax.swing.JPanel rangeCard()
           
protected  void selectAndFillCard()
          Based on type and arity, selects proper card and fills card contents.
protected  void setField(javax.swing.JTextField f, int which)
          Fills the specified text field with the nth parameter default value.
protected  javax.swing.JPanel singleCard()
           
protected  int typeFromWidgets()
          Returns one of the Parameter constants TYPE_BOOLEAN, TYPE_STRING, TYPE_NUMERIC, or TYPE_DATE based on the state of the GUI.
 
Methods inherited from class jimm.datavision.gui.EditWin
closeButtonPanel, revert, save
 
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, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, isOpaque, 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, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

HORIZ_GAP

protected static final int HORIZ_GAP
See Also:
Constant Field Values

VERT_GAP

protected static final int VERT_GAP
See Also:
Constant Field Values

TEXT_FIELD_COLS

protected static final int TEXT_FIELD_COLS
See Also:
Constant Field Values

CARD_NAME_SINGLE

protected static final java.lang.String CARD_NAME_SINGLE
See Also:
Constant Field Values

CARD_NAME_SINGLE_BOOL

protected static final java.lang.String CARD_NAME_SINGLE_BOOL
See Also:
Constant Field Values

CARD_NAME_RANGE

protected static final java.lang.String CARD_NAME_RANGE
See Also:
Constant Field Values

CARD_NAME_LIST

protected static final java.lang.String CARD_NAME_LIST
See Also:
Constant Field Values

CARD_NAME_DATE

protected static final java.lang.String CARD_NAME_DATE
See Also:
Constant Field Values

param

protected Parameter param

nameField

protected javax.swing.JTextField nameField

questionField

protected javax.swing.JTextField questionField

boolRButton

protected javax.swing.JRadioButton boolRButton

stringRButton

protected javax.swing.JRadioButton stringRButton

numericRButton

protected javax.swing.JRadioButton numericRButton

dateRButton

protected javax.swing.JRadioButton dateRButton

singleRButton

protected javax.swing.JRadioButton singleRButton

rangeRButton

protected javax.swing.JRadioButton rangeRButton

listSingleRButton

protected javax.swing.JRadioButton listSingleRButton

listMultipleRButton

protected javax.swing.JRadioButton listMultipleRButton

cardPanel

protected javax.swing.JPanel cardPanel

singleField

protected javax.swing.JTextField singleField

singleDate

protected com.toedter.calendar.JCalendar singleDate

rangeFromField

protected javax.swing.JTextField rangeFromField

rangeToField

protected javax.swing.JTextField rangeToField

rangeFromDate

protected com.toedter.calendar.JCalendar rangeFromDate

rangeToDate

protected com.toedter.calendar.JCalendar rangeToDate

boolYesRButton

protected javax.swing.JRadioButton boolYesRButton

boolNoRButton

protected javax.swing.JRadioButton boolNoRButton

list

protected javax.swing.JList list

listAddField

protected javax.swing.JTextField listAddField
Constructor Detail

ParamEditWin

public ParamEditWin(Designer designer,
                    Parameter p)
Constructor.

Parameters:
designer - the design window to which this dialog belongs
p - a parameter
Method Detail

buildWindow

protected void buildWindow()
Builds the window contents.


buildPromptPanel

protected javax.swing.JPanel buildPromptPanel()

buildCenterPanel

protected javax.swing.JPanel buildCenterPanel()

buildRadioButtonsPanel

protected javax.swing.JPanel buildRadioButtonsPanel()

buildCardPanel

protected javax.swing.JPanel buildCardPanel()

dateCard

protected javax.swing.JPanel dateCard()

boolCard

protected javax.swing.JPanel boolCard()

singleCard

protected javax.swing.JPanel singleCard()

rangeCard

protected javax.swing.JPanel rangeCard()

listCard

protected javax.swing.JPanel listCard()

addRadioButton

protected javax.swing.JRadioButton addRadioButton(java.lang.String name,
                                                  java.awt.Container parent,
                                                  javax.swing.ButtonGroup group)
Creates and adds a radio buton

Parameters:
name - the button name (label)
parent - a container
group - the button group
Returns:
the new radio button

fillEditWidgets

protected void fillEditWidgets()
Fills all widgets except name and question.


typeFromWidgets

protected int typeFromWidgets()
Returns one of the Parameter constants TYPE_BOOLEAN, TYPE_STRING, TYPE_NUMERIC, or TYPE_DATE based on the state of the GUI.

Returns:
one of the Parameter constants TYPE_BOOLEAN, TYPE_STRING, TYPE_NUMERIC, or TYPE_DATE based on the state of the GUI

arityFromWidgets

protected int arityFromWidgets()
Returns one of the Parameter constants ARITY_ONE, ARITY_RANGE, ARITY_LIST_SINGLE, or ARITY_LIST_MULTIPLE based on the state of the GUI.

Returns:
one of the Parameter constants ARITY_ONE, ARITY_RANGE, ARITY_LIST_SINGLE, or ARITY_LIST_MULTIPLE based on the state of the GUI

enableLegalArityButtons

protected void enableLegalArityButtons()
Enables only legal arity radio buttons.


selectAndFillCard

protected void selectAndFillCard()
Based on type and arity, selects proper card and fills card contents. Enables/disables the arity radion buttons based on legal choices.

Since we could be switching from one parameter type to another, we have to do some checking along the way to see if the parameter's default value is of the correct type.


setField

protected void setField(javax.swing.JTextField f,
                        int which)
Fills the specified text field with the nth parameter default value. If the value is null, "fill" the text field with the empty string.

Parameters:
f - the text field
which - n

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Handles radio buttons.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class EditWin
Parameters:
e - action event

doSave

protected void doSave()
Description copied from class: EditWin
Saves all data by creating a new command, performing it, and adding it to commands.

Specified by:
doSave in class EditWin

doRevert

protected void doRevert()
Description copied from class: EditWin
Gives subclasses a chance to clean up their GUI.

Specified by:
doRevert in class EditWin