Class FinchActionDialogAbstract

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 FinchActionDialogAbstract
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public abstract class FinchActionDialogAbstract
extends javax.swing.JDialog

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.JComboBox aComboBox
           
protected  FinchAction action
           
protected  javax.swing.JTextField aName
           
protected  javax.swing.JButton jbtCancel
           
protected  javax.swing.JButton jbtOK
           
protected  javax.swing.JPanel jpButtons
           
protected  javax.swing.JLabel lComboBox
           
protected  javax.swing.JLabel lDuration
           
protected  javax.swing.JLabel lName
           
protected  javax.swing.JLabel lPriority
           
protected  java.awt.Color noseColor
           
protected  javax.swing.JPanel pComboBox
           
protected  javax.swing.JPanel pDuration
           
protected  javax.swing.JPanel pName
           
protected  javax.swing.JPanel pPriority
           
protected  javax.swing.JSlider sDuration
           
protected  javax.swing.JSlider sPriority
           
 
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
FinchActionDialogAbstract()
          Constructor Creates: - action type combo box - action name - priority slider - duration slider
 
Method Summary
protected abstract  void colorChooser()
          Open the color chooser dialog box to specify the nose color Algorithm: Open a color chooser dialog box.
protected abstract  void createNewAction()
          Create a FinchAction that corresponds to the current configuration of the dialog box.
 FinchAction getAction()
          Accessor to action
protected abstract  void reconfigureDialog()
          Reconfigure the look of the dialog box to show only the components that correspond to the Finch Action type that is selected by the combo box.
abstract  void setAction(FinchAction action)
          Given a FinchAction, configure the dialog box values to reflect this action.
 
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, paint, 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, 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

aComboBox

protected javax.swing.JComboBox aComboBox

lComboBox

protected javax.swing.JLabel lComboBox

pComboBox

protected javax.swing.JPanel pComboBox

aName

protected javax.swing.JTextField aName

lName

protected javax.swing.JLabel lName

pName

protected javax.swing.JPanel pName

sPriority

protected javax.swing.JSlider sPriority

lPriority

protected javax.swing.JLabel lPriority

pPriority

protected javax.swing.JPanel pPriority

sDuration

protected javax.swing.JSlider sDuration

lDuration

protected javax.swing.JLabel lDuration

pDuration

protected javax.swing.JPanel pDuration

jpButtons

protected javax.swing.JPanel jpButtons

jbtOK

protected javax.swing.JButton jbtOK

jbtCancel

protected javax.swing.JButton jbtCancel

action

protected FinchAction action

noseColor

protected java.awt.Color noseColor
Constructor Detail

FinchActionDialogAbstract

public FinchActionDialogAbstract()
Constructor

Creates: - action type combo box - action name - priority slider - duration slider

Method Detail

setAction

public abstract void setAction(FinchAction action)
Given a FinchAction, configure the dialog box values to reflect this action.

Algorithm:

  1. Set all of the dialog box values to reasonable defaults
  2. For the specified action, copy the values from the action into the relevant dialog box values. Note that any action type will only specify a subset of the dialog box values.

Parameters:
action - A FinchAction or null

createNewAction

protected abstract void createNewAction()
Create a FinchAction that corresponds to the current configuration of the dialog box.

Postconditions:

Algorithm:


getAction

public FinchAction getAction()
Accessor to action

Returns:
The new FinchAction that has been created by the dialog box (may be null)

reconfigureDialog

protected abstract void reconfigureDialog()
Reconfigure the look of the dialog box to show only the components that correspond to the Finch Action type that is selected by the combo box.

Algorithm:

  1. For all property values that are not part of all Finch Action types, turn off the visibility (using the setVisible() method for the panels).
  2. For the currently selected Finch Action type (determined by the combo box), turn the visibility on for the necessary components.
  3. If the action type is FinchNose, then set the color of the component that indicates the currently selected color of this.noseColor


colorChooser

protected abstract void colorChooser()
Open the color chooser dialog box to specify the nose color

Algorithm:

  1. Open a color chooser dialog box.
  2. If the returned color is valid, then copy this color to this.noseColor