Class MmsFactionDialog

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 MmsFactionDialog
All Implemented Interfaces:
java.awt.event.ItemListener, java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ListSelectionListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class MmsFactionDialog
extends javax.swing.JDialog
implements java.awt.event.MouseListener, java.awt.event.ItemListener, javax.swing.event.ListSelectionListener

Dialog to handle edits, adds, and deletes of Factions for a loaded or new Scenario

Author:
Michael Latham
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
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  int m_answer
           
private  javax.swing.JButton m_bCancel
           
private  javax.swing.JButton m_bOk
           
(package private)  int M_BUTTON_HEIGHT
           
(package private)  int M_BUTTON_WIDTH
           
private  java.awt.Dimension m_buttonSize
           
(package private)  int M_CANCEL
           
private  boolean m_editsStarted
           
private  Faction m_faction
           
private  javax.swing.JList m_listProperties
           
private  javax.swing.JList m_listUnits
           
private  int m_mode
           
(package private)  int M_MODE_ADD
           
(package private)  int M_MODE_EDIT
           
(package private)  int M_NO
           
private  javax.swing.JTextField m_tfFactionLocation
           
private  javax.swing.JTextField m_tfFactionName
           
(package private)  int M_YES
           
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
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
MmsFactionDialog()
          Default constructor - not recommended
MmsFactionDialog(java.awt.Frame parent, Faction lFaction, boolean newFaction)
          Recommended constructor; note: passed Faction is cloned.
 
Method Summary
private  void addPanelCenterFactionLists()
          Layout Center panel with Faction unit and detail lists
private  void addPanelNorthData()
          Layout the North panel
private  void addPanelSouthButtons()
          Layout South panel with main function buttons
private  void addProperty()
          Add property for selected Unit
private  void addUnit()
          Pop-up the edit dialog and add a new Unit
private  boolean askToSave()
          Ask if user really wants to quit this dialog
private  void buildDialog()
          Build GUI display
private  void configButton(javax.swing.JButton lButton)
          One method to make all button sizes the same
private  void deleteProperty()
          Delete selected property from Faction Unit
private  void deleteUnit()
          Delete the select Unit and all its properties.
private  void displayFaction()
          Update GUI with info from Faction object
private  void displayUnitDetails()
          Display Unit details based on selected unit
private  void displayUnits(int selIdx)
          Display Units
private  java.lang.String doMechLookup()
          Handle mech lookup
private  java.lang.String doPropLookup()
          Handle property lookup
private  void editProperty()
          Edit selected property for selected Unit
private  void editUnit()
          Get the selected Unit and pop-up edit dialog
 int getAnswer()
           
 Faction getFaction()
           
private  void initialize()
          Called from constructor to initialize the attributes
 void itemStateChanged(java.awt.event.ItemEvent e)
          Handles comboBox selection changes
 void mouseClicked(java.awt.event.MouseEvent me)
          Mouse click event handler
 void mouseEntered(java.awt.event.MouseEvent me)
          mouseEntered - N/A - Invoked when the mouse enters a component.
 void mouseExited(java.awt.event.MouseEvent me)
          mouseEntered - N/A - Invoked when the mouse exits a component.
 void mousePressed(java.awt.event.MouseEvent me)
          mousePressed - N/A - Invoked when a mouse button has been pressed on a component.
 void mouseReleased(java.awt.event.MouseEvent me)
          mouseReleased - N/A - Invoked when a mouse button has been released on a component.
private  void quit()
          Closes dialog; asks to cancel quit if changes have been made and not saved
private  void saveFaction()
          Saves screen changes to the Faction object
 void valueChanged(javax.swing.event.ListSelectionEvent e)
          Handles JList selection changes
 
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, 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, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, 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, 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, removeNotify, 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, 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, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, 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

M_NO

final int M_NO
See Also:
Constant Field Values

M_YES

final int M_YES
See Also:
Constant Field Values

M_CANCEL

final int M_CANCEL
See Also:
Constant Field Values

M_MODE_ADD

final int M_MODE_ADD
See Also:
Constant Field Values

M_MODE_EDIT

final int M_MODE_EDIT
See Also:
Constant Field Values

M_BUTTON_WIDTH

final int M_BUTTON_WIDTH
See Also:
Constant Field Values

M_BUTTON_HEIGHT

final int M_BUTTON_HEIGHT
See Also:
Constant Field Values

m_faction

private Faction m_faction

m_mode

private int m_mode

m_answer

private int m_answer

m_buttonSize

private java.awt.Dimension m_buttonSize

m_editsStarted

private boolean m_editsStarted

m_tfFactionName

private javax.swing.JTextField m_tfFactionName

m_tfFactionLocation

private javax.swing.JTextField m_tfFactionLocation

m_listUnits

private javax.swing.JList m_listUnits

m_listProperties

private javax.swing.JList m_listProperties

m_bOk

private javax.swing.JButton m_bOk

m_bCancel

private javax.swing.JButton m_bCancel
Constructor Detail

MmsFactionDialog

public MmsFactionDialog()
Default constructor - not recommended


MmsFactionDialog

public MmsFactionDialog(java.awt.Frame parent,
                        Faction lFaction,
                        boolean newFaction)
Recommended constructor; note: passed Faction is cloned.

Parameters:
parent - Parent frame
lFaction - Faction object for E/A/D
newFaction - True if the given Faction is new (not saved to disk)
Method Detail

initialize

private void initialize()
Called from constructor to initialize the attributes


mouseClicked

public void mouseClicked(java.awt.event.MouseEvent me)
Mouse click event handler

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
me - MouseEvent from mouse button click

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent me)
mouseEntered - N/A - Invoked when the mouse enters a component.

Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent me)
mouseEntered - N/A - Invoked when the mouse exits a component.

Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent me)
mousePressed - N/A - Invoked when a mouse button has been pressed on a component.

Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent me)
mouseReleased - N/A - Invoked when a mouse button has been released on a component.

Specified by:
mouseReleased in interface java.awt.event.MouseListener

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Handles comboBox selection changes

Specified by:
itemStateChanged in interface java.awt.event.ItemListener
Parameters:
e - Event from combobox state change

valueChanged

public void valueChanged(javax.swing.event.ListSelectionEvent e)
Handles JList selection changes

Specified by:
valueChanged in interface javax.swing.event.ListSelectionListener
Parameters:
e - Event from list selection change

buildDialog

private void buildDialog()
Build GUI display


addPanelNorthData

private void addPanelNorthData()
Layout the North panel


addPanelCenterFactionLists

private void addPanelCenterFactionLists()
Layout Center panel with Faction unit and detail lists


addPanelSouthButtons

private void addPanelSouthButtons()
Layout South panel with main function buttons


displayFaction

private void displayFaction()
Update GUI with info from Faction object


displayUnits

private void displayUnits(int selIdx)
Display Units

Parameters:
selIdx - Unit index (zero based) which should be selected

displayUnitDetails

private void displayUnitDetails()
Display Unit details based on selected unit


configButton

private void configButton(javax.swing.JButton lButton)
One method to make all button sizes the same


quit

private void quit()
Closes dialog; asks to cancel quit if changes have been made and not saved


askToSave

private boolean askToSave()
Ask if user really wants to quit this dialog


addUnit

private void addUnit()
Pop-up the edit dialog and add a new Unit


deleteUnit

private void deleteUnit()
Delete the select Unit and all its properties.


editUnit

private void editUnit()
Get the selected Unit and pop-up edit dialog


addProperty

private void addProperty()
Add property for selected Unit


editProperty

private void editProperty()
Edit selected property for selected Unit


deleteProperty

private void deleteProperty()
Delete selected property from Faction Unit


getFaction

public Faction getFaction()
Returns:
Faction object used during edits

getAnswer

public int getAnswer()
Returns:
Answer as set by button clicked (M_YES if Ok)

saveFaction

private void saveFaction()
Saves screen changes to the Faction object


doMechLookup

private java.lang.String doMechLookup()
Handle mech lookup

Returns:
Value of selected mech, or "" if none

doPropLookup

private java.lang.String doPropLookup()
Handle property lookup

Returns:
Value of selected property, or "" if none