project35.desktopDeployment
Class Project35Dialog

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 project35.desktopDeployment.Project35Dialog
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 Project35Dialog
extends javax.swing.JDialog
implements java.awt.event.ActionListener

The class that produces the main dialog for the Project35 application


Copyright (c) Kevin Garwood and University of Manchester 2007. All rights reserved. Licensed under the Academic Free License version 3.0. For more information on the terms and conditions, please see the file "LICENSE" that is included in this distribution.
Copyright (c) 2008 Kevin Garwood for Project35. The original code was developed by Kevin Garwood for the University of Manchester. Revisions have been made for Project35, a project that is independent of that institution. This code is licensed under the Academic Free License version 3.0. The code attribution for the original code is included here:

Copyright (c) Kevin Garwood and University of Manchester 2007. All rights reserved. Licensed under the Academic Free License version 3.0. For more information on the terms and conditions, please see the file "LICENSE" that is included in this distribution.


Version:
1.0
Author:
Kevin Garwood (kgarwood@users.sourceforge.net)
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
 
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
Project35Dialog(Project35ApplicationContext project35ApplicationContext)
           
Project35Dialog(Project35ApplicationContext project35ApplicationContext, javax.swing.JDialog parentDialog)
           
 
Method Summary
 void acknowledgeChangesMade(boolean resetDisplay)
          the tree has two mechanisms for detecting when changes were made.
 void actionPerformed(java.awt.event.ActionEvent event)
           
 void changeFont(java.awt.Font font)
           
 boolean close()
          closes the dialog
 java.util.ArrayList getAlertBundles()
           
 RecordModel getData()
           
 DocumentMetaData getDocumentMetaData()
           
 java.io.File getFile()
           
 Project35FormContext getFormContext()
           
 IDGeneratorService getIDValueGenerator()
           
 NavigationTree getNavigationTree()
           
 RecordView getRecordView()
           
 StatusBar getStatusBar()
           
 NavigationTree getTree()
           
 boolean isComponentMode()
           
 boolean isNewFile()
           
 void openFile(java.io.File file)
           
 void openFile(java.net.URL url)
           
 int saveChanges(boolean promptForSaveChanges)
          saves changes.
 void setAlertsBundles(java.util.ArrayList alertsBundles)
           
 void setData(java.lang.String dialogTitle, RecordModel rootModel)
           
 void setDocumentMetaData(DocumentMetaData documentMetaData)
           
 void setFile(java.io.File file)
          sets the file being viewed in the dialog
 void setNewFile(boolean isNewFile)
          establishes whether file is a dialog that has been created through a "New" operation and not yet populated with a file.
 void setRoot(NavigationTreeNode root)
          sets the root of the tree
 void setWindowListener(java.awt.event.WindowListener windowListener)
          specifies a listener that monitors for when someone clicks the "X" in the top right icons in the dialog
 void updateWindowList(java.util.ArrayList activeWindows)
          a method that updates the contents of the Project35Dialog's "Windows" menu to reflect new files opened, or existing files deleted or renamed
 
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
 

Constructor Detail

Project35Dialog

public Project35Dialog(Project35ApplicationContext project35ApplicationContext)

Project35Dialog

public Project35Dialog(Project35ApplicationContext project35ApplicationContext,
                       javax.swing.JDialog parentDialog)
Method Detail

setWindowListener

public void setWindowListener(java.awt.event.WindowListener windowListener)
specifies a listener that monitors for when someone clicks the "X" in the top right icons in the dialog


getStatusBar

public StatusBar getStatusBar()

getNavigationTree

public NavigationTree getNavigationTree()

getAlertBundles

public java.util.ArrayList getAlertBundles()
Returns:
a collection of alert bundles which can be used to enhance Project35's validation facilities

getRecordView

public RecordView getRecordView()
Returns:
the main form for displaying the current record

getDocumentMetaData

public DocumentMetaData getDocumentMetaData()

isNewFile

public boolean isNewFile()
Returns:
whether the file is a new blank file or an existing one that is being modified

getFile

public java.io.File getFile()
Returns:
returns the file being used by the dialog

getIDValueGenerator

public IDGeneratorService getIDValueGenerator()

getTree

public NavigationTree getTree()
Returns:
the navigation tree that appears in the left part of the screen

getData

public RecordModel getData()

getFormContext

public Project35FormContext getFormContext()
Returns:
a HashMap that contains all the global variables relating to managing the dialog

openFile

public void openFile(java.net.URL url)

openFile

public void openFile(java.io.File file)

isComponentMode

public boolean isComponentMode()

setAlertsBundles

public void setAlertsBundles(java.util.ArrayList alertsBundles)

setData

public void setData(java.lang.String dialogTitle,
                    RecordModel rootModel)

acknowledgeChangesMade

public void acknowledgeChangesMade(boolean resetDisplay)
the tree has two mechanisms for detecting when changes were made. One of them is checking saved and current data field states and the other is to check if nodes were added or deleted. This method helps reset save changes in the tree.


close

public boolean close()
closes the dialog


saveChanges

public int saveChanges(boolean promptForSaveChanges)
                throws Project35Exception
saves changes. The method specifies whether the user is prompted to save changes or if changes are automatically saved without the user's consent. For example, in a "Save As..." operation, you would want to not prompt the user to save changes. In a Close or Exit operation you would want to prompt the user.

Parameters:
promptForSaveChanges - - true if the user gets prompted to save any detected changes or false if the changes get saved without prompting.
Throws:
Project35Exception

setFile

public void setFile(java.io.File file)
sets the file being viewed in the dialog

Parameters:
file - name of the file being viewed

setNewFile

public void setNewFile(boolean isNewFile)
establishes whether file is a dialog that has been created through a "New" operation and not yet populated with a file.

Parameters:
isNewFile - indicates whether the dialog has been instantiated without a file.

setRoot

public void setRoot(NavigationTreeNode root)
sets the root of the tree

Parameters:
root - the new root of the tree

updateWindowList

public void updateWindowList(java.util.ArrayList activeWindows)
a method that updates the contents of the Project35Dialog's "Windows" menu to reflect new files opened, or existing files deleted or renamed


setDocumentMetaData

public void setDocumentMetaData(DocumentMetaData documentMetaData)

changeFont

public void changeFont(java.awt.Font font)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Specified by:
actionPerformed in interface java.awt.event.ActionListener