bill.util.config.gui
Class ConfigurationGUI

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--bill.util.gui.ParentGUI
                                      |
                                      +--bill.util.config.gui.ConfigurationGUI
All Implemented Interfaces:
Accessible, ActionListener, EventListener, GUIUtilInterface, ImageObserver, ListSelectionListener, MenuContainer, MouseListener, RootPaneContainer, Serializable, ToolTipInterface, WindowConstants

public class ConfigurationGUI
extends ParentGUI
implements ActionListener, ListSelectionListener, MouseListener, ToolTipInterface

Main class for the GUI used to add, delete, view, and modify configuration files.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
Component.AccessibleAWTComponent
 
Fields inherited from class bill.util.gui.ParentGUI
_errorFrame, _helpAbout, _highlighting, _myFrames, _parent, _wasModified, ACTION_HELP_ABOUT, ACTION_HIGHLIGHT, ACTION_METAL, ACTION_MOTIF, ACTION_TOOLTIP, ACTION_WINDOWS, COLOR_NOT_REQUIRED_FIELD, COLOR_REQUIRED_FIELD, VALUE_METAL_LF, VALUE_MOTIF_LF, VALUE_WINDOWS_LF
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
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, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ConfigurationGUI()
           
ConfigurationGUI(Configuration configuration)
           
 
Method Summary
 void actionPerformed(ActionEvent actionEvent)
          This is the "callback" method for menu actions.
 void addFrameClosing(JFrame frame, boolean cancelled)
          Called when an AddKeyValueFrame is being closed.
 void closeDown()
          Frees up all resources used by this instance of the GUI and saves project metadata.
 void displayToolTips(boolean display)
          Turns tool tips on or off for this frame.
 Hashtable getConfigs()
          Getter for the hash table of individual configuration files we have loaded so far.
 ConConfiguration getProjectParser()
          Getter for the parser for the project we are currently using in the GUI.
 String getSelectedFileValue()
          Determines which file list item is currently selected.
static void main(String[] args)
           
 void mouseClicked(MouseEvent event)
          Called when the user releases a mouse button on a registered component.
 void mouseEntered(MouseEvent event)
          Called when the user's mouse cursor enters the area of a registered component.
 void mouseExited(MouseEvent event)
          Called when the user's mouse cursor exits the area of a registered component.
 void mousePressed(MouseEvent event)
          Called when the user presses down a mouse button on a registered component.
 void mouseReleased(MouseEvent event)
          Called when the user releases a mouse button on a registered component.
 void newFileTree(String fileName)
          Redraws the tree structure based on the physical file name provided.
 void refreshFileList()
          Recreates the list widget's contents based on the currently defined file data.
 void setModified(boolean modified)
          Sets the modification indicator as indicated.
 void setProjectParser(ConConfiguration parser)
          Setter for the parser for the project we are currently using in the GUI.
 void valueChanged(ListSelectionEvent selectionEvent)
          Called whenever a list item is selected or unselected.
 
Methods inherited from class bill.util.gui.ParentGUI
addFrame, addFrameClosing, getDataFileName, getDataFileName, getErrorFrame, getGUIConfig, getHelpAboutFrame, getParentWindow, isHighlighting, isModified, isToolTips, propagateHighlighting, propagateToolTipDisplay, removeFrame, setCursor, setErrorFrame, setGUIConfig, setHelpAboutFrame, setHighlighting, setToolTips, updateLookAndFeel, verifyUnsavedChanges
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, removeWindowListener, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, 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, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

ConfigurationGUI

public ConfigurationGUI()

ConfigurationGUI

public ConfigurationGUI(Configuration configuration)
Method Detail

displayToolTips

public void displayToolTips(boolean display)
Turns tool tips on or off for this frame.
Specified by:
displayToolTips in interface ToolTipInterface
Parameters:
display - Indicates if tool tips should be displayed, true indicates to display them, false indicates to not display them.

getProjectParser

public ConConfiguration getProjectParser()
Getter for the parser for the project we are currently using in the GUI.
Returns:
Reference to the project parser.

setProjectParser

public void setProjectParser(ConConfiguration parser)
Setter for the parser for the project we are currently using in the GUI.
Parameters:
parser - Reference to the project parser.

getConfigs

public Hashtable getConfigs()
Getter for the hash table of individual configuration files we have loaded so far.
Returns:
The hash table of loaded configuration files.

setModified

public void setModified(boolean modified)
Sets the modification indicator as indicated. This indicator is used to signal whether the configuration data defined here has been changed since the last save occurred.
Overrides:
setModified in class ParentGUI
Parameters:
modified - The value to set the modification indicator to.

refreshFileList

public void refreshFileList()
Recreates the list widget's contents based on the currently defined file data. Then causes the list to be redrawn in order to display the new information. refreshFileList should be called anytime the file information is changed.

getSelectedFileValue

public String getSelectedFileValue()
Determines which file list item is currently selected.
Returns:
A reference to the seleted item, or null if no item is selected.

closeDown

public void closeDown()
Frees up all resources used by this instance of the GUI and saves project metadata.
Overrides:
closeDown in class ParentGUI

actionPerformed

public void actionPerformed(ActionEvent actionEvent)
This is the "callback" method for menu actions. When the user selects a menu option, this method is invoked to process the menu item.
Specified by:
actionPerformed in interface ActionListener
Parameters:
actionEvent - The event the user performed.

addFrameClosing

public void addFrameClosing(JFrame frame,
                            boolean cancelled)
Called when an AddKeyValueFrame is being closed. For us this means that a new configuration file has been created, or the creation was cancelled out of.
Overrides:
addFrameClosing in class ParentGUI
Parameters:
frame - The AddKeyValueFrame that is being closed.
cancelled - If set to true, indicates the frame was closed by cancelling out of it. This could be via a cancel button or by using the window decorations.

valueChanged

public void valueChanged(ListSelectionEvent selectionEvent)
Called whenever a list item is selected or unselected. We reset the JTree to show the currently selected file's details.
Specified by:
valueChanged in interface ListSelectionListener
Parameters:
selectionEvent - The list selection event that occurred.

newFileTree

public void newFileTree(String fileName)
Redraws the tree structure based on the physical file name provided.
Parameters:
fileName - The physical name of the config file to display data for

mousePressed

public void mousePressed(MouseEvent event)
Called when the user presses down a mouse button on a registered component. We have registered the JTree component for this purpose. We want to determine if we need to show a popup menu, and if so, which one. We do this by making sure the correct mouse button was pressed and then determining the type of object the mouse cursor is over.
Specified by:
mousePressed in interface MouseListener
Parameters:
event - The mouse event that caused this method to be called.

mouseReleased

public void mouseReleased(MouseEvent event)
Called when the user releases a mouse button on a registered component. We have registered the JTree component for this purpose. We do not care about release events so the method is empty.
Specified by:
mouseReleased in interface MouseListener
Parameters:
event - The mouse event that caused this method to be called.

mouseEntered

public void mouseEntered(MouseEvent event)
Called when the user's mouse cursor enters the area of a registered component. We have registered the JTree component for this purpose. We do not care about entry events so the method is empty.
Specified by:
mouseEntered in interface MouseListener
Parameters:
event - The mouse event that caused this method to be called.

mouseExited

public void mouseExited(MouseEvent event)
Called when the user's mouse cursor exits the area of a registered component. We have registered the JTree component for this purpose. We do not care about entry events so the method is empty.
Specified by:
mouseExited in interface MouseListener
Parameters:
event - The mouse event that caused this method to be called.

mouseClicked

public void mouseClicked(MouseEvent event)
Called when the user releases a mouse button on a registered component. We have registered the JTree component for this purpose. We do not care about release events so the method is empty.
Specified by:
mouseClicked in interface MouseListener
Parameters:
event - The mouse event that caused this method to be called.

main

public static void main(String[] args)