edu.neu.ccs.gui
Class InputDialog

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Dialog
                  extended byjavax.swing.JDialog
                      extended byedu.neu.ccs.gui.JPTDialog
                          extended byedu.neu.ccs.gui.InputDialog
All Implemented Interfaces:
Accessible, ImageObserver, JPTConstants, MenuContainer, RootPaneContainer, Serializable, SwingConstants, WindowConstants
Direct Known Subclasses:
ErrorDialog

public class InputDialog
extends JPTDialog
implements JPTConstants

A modal dialog box for input of a Stringable object that also provides static convenience methods for input using a provided input component.

The input properties for the input object determine the input model for the dialog box. In the mandatory model, OK and Reset buttons are provided. In the optional model, a Cancel button is provided in addition to the buttons provided for the mandatory model If a suggested view state is present in the input properties for the given input component, a Suggest button is also provided.

Since:
1.0
Version:
2.2
See Also:
Serialized Form

Nested Class Summary
(package private) static class InputDialog.CompoundView
          A typed view constructed from the provided input component and decorated based on the input properties of the view.
 
Nested classes inherited from class javax.swing.JDialog
JDialog.AccessibleJDialog
 
Nested classes inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog
 
Nested classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  boolean cancelled
          Whether or not this dialog was dismissed by cancellation.
protected  Stringable model
          Object whose state is to be set through this dialog input operation.
 
Fields inherited from class edu.neu.ccs.gui.JPTDialog
actions, view
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
 
Fields inherited from class java.awt.Window
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface edu.neu.ccs.util.JPTConstants
ABOVE, ALIGNMENT, BELOW, BOTTOM_LEFT, BOTTOM_RIGHT, DEFAULT, FONT, INPUT_PROPERTIES, MANDATORY, OPTIONAL, ORIENTATION, TOP_LEFT, TOP_RIGHT, VALUE
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
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
InputDialog(TypedView viewObject)
          Constructor for a modal dialog box for input using the given input component, with the input model and its associated controls based on the input properties of the input component.
 
Method Summary
protected  void cancel()
          Closes the dialog, noting that the dialog was dismissed by cancellation.
protected  void createActionsPanel(InputProperties properties)
          Installs the appropriate controls for this dialog given the provided input properties.
protected  void createWindowListener(InputProperties properties)
          Installs an appropriate window listener for this dialog given the provided input properties.
protected  void demand()
          Performs a mandatory input operation on the input view.
protected static TypedView getCompoundView(TypedView viewObject)
          Returns a typed view constructed from the given input component and decorated based on the input properties of the view.
 Stringable getModel()
          Returns the data model whose state was set through this dialog input operation.
protected  void ok()
          Invokes the proper operation on the input component to attempt to set the state of the model object.
protected  void refuse()
          Displays an error message notifying the user that the input operation is mandatory.
protected  void request()
          Performs an optional input operation on the input view.
protected  void reset()
          Sets the view state of the input component to its default view state.
private static InputProperties setInputModel(TypedView viewObject, int inputModel)
          Sets the input model for the given view and returns the original properties for the view so they may be saved by the caller and later be restored.
static Stringable showDemandDialog(TypedView viewObject)
          Shows a dialog for mandatory input using the given view.
private static InputDialog showInputDialog(TypedView viewObject, int inputModel)
          Shows a dialog containing the given input component that performs an input operation using the given input model.
static Stringable showRequestDialog(TypedView viewObject)
          Shows a dialog for optional input using the given view.
protected  void suggest()
          Sets the view state of the input component to its suggested view state.
 boolean wasCancelled()
          Returns whether or not this dialog was dismissed by cancellation.
 
Methods inherited from class edu.neu.ccs.gui.JPTDialog
addAction, addDefaultAction, center, getActionsPanel, getTypedView, setActionsPanel
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, dispose, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, toBack, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, 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, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

model

protected Stringable model
Object whose state is to be set through this dialog input operation.


cancelled

protected boolean cancelled
Whether or not this dialog was dismissed by cancellation.

Constructor Detail

InputDialog

public InputDialog(TypedView viewObject)
Constructor for a modal dialog box for input using the given input component, with the input model and its associated controls based on the input properties of the input component.

Parameters:
viewObject - the graphical interface object to use for input
Throws:
NullPointerException - if the given input component is null
Method Detail

getModel

public Stringable getModel()
Returns the data model whose state was set through this dialog input operation. If this method is called before the dialog has been dismissed, the model may not yet have had its state set.


wasCancelled

public boolean wasCancelled()
Returns whether or not this dialog was dismissed by cancellation. If this method is called before the dialog has been dismissed, this method will return false.


showDemandDialog

public static Stringable showDemandDialog(TypedView viewObject)
Shows a dialog for mandatory input using the given view.

Parameters:
viewObject - the input component to be used
Returns:
the Stringable object whose state is to be set through this dialog input operation
Throws:
NullPointerException - if the given input component is null

showRequestDialog

public static Stringable showRequestDialog(TypedView viewObject)
                                    throws CancelledException
Shows a dialog for optional input using the given view.

Parameters:
viewObject - the input component to be used
Returns:
the Stringable object whose state is to be set through this dialog input operation
Throws:
NullPointerException - if the given input component is null
CancelledException - if the user cancels the input operation

ok

protected void ok()
Invokes the proper operation on the input component to attempt to set the state of the model object.


demand

protected void demand()
Performs a mandatory input operation on the input view.


request

protected void request()
Performs an optional input operation on the input view.


reset

protected void reset()
Sets the view state of the input component to its default view state.


suggest

protected void suggest()
Sets the view state of the input component to its suggested view state.


cancel

protected void cancel()
Closes the dialog, noting that the dialog was dismissed by cancellation.

See Also:
wasCancelled()

refuse

protected void refuse()
Displays an error message notifying the user that the input operation is mandatory.


createWindowListener

protected void createWindowListener(InputProperties properties)
Installs an appropriate window listener for this dialog given the provided input properties.

Parameters:
properties - the input properties for the input operation to be performed

createActionsPanel

protected void createActionsPanel(InputProperties properties)
Installs the appropriate controls for this dialog given the provided input properties.

Parameters:
properties - the input properties for the input operation to be performed

getCompoundView

protected static TypedView getCompoundView(TypedView viewObject)
Returns a typed view constructed from the given input component and decorated based on the input properties of the view.

Parameters:
viewObject - the component to encapsulate and decorate

showInputDialog

private static InputDialog showInputDialog(TypedView viewObject,
                                           int inputModel)
Shows a dialog containing the given input component that performs an input operation using the given input model.

Parameters:
viewObject - the input component to be used
inputModel - the model for the input operation
Returns:
the dialog to be used for input
Throws:
NullPointerException - if the given input component is null

setInputModel

private static InputProperties setInputModel(TypedView viewObject,
                                             int inputModel)
Sets the input model for the given view and returns the original properties for the view so they may be saved by the caller and later be restored.

Parameters:
viewObject - the desired view
inputModel - the desired input model
Throws:
NullPointerException - if the given input component is null