net.quartzware
Class MainWindow

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--net.quartzware.MainWindow
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class MainWindow
extends javax.swing.JFrame

MainWindow Main window for the RBEdit application. Handles GUI from the menu system.

See Also:
Serialized Form

Fields inherited from class javax.swing.JFrame
EXIT_ON_CLOSE
 
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
MainWindow(RBEdit rbedit)
          Default Constructor
 
Method Summary
 java.lang.String appendExtension(java.lang.String file, java.lang.String fileType)
          Takes the filename, strips off a bad extension (if it has one), then puts on the correct extension
 void doAddKey()
           
 void doAddListeners()
          Adds necessary listeners PRE: gui components have been initialized POST: gui componenets have listeners
 void doBundleMenu()
          Lays out the Bundle Menu, sets the bundle menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Bundle Menu has been initialized
 boolean doClose()
          Pops up a save confirmation dlg if the project is dirty, then does as the user instructs (either cancels, exits, or saves and exits.
 void doEditMenu()
          Lays out the Edit Menu, sets the edit menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Edit Menu has been initialized
 void doEZTabs()
          Lays out the EZTabs PRE: gui elements are not null POST: eztabs has been initialized
 void doFileMenu()
          Lays out the File Menu, sets the file menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: File Menu has been initialized
 void doHelpMenu()
          Lays out the Help Menu, sets the help menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Edit Menu has been initialized
 void doIcons()
          Adds icons to GUI components PRE: gui elements are not null POST: Icons have been added to gui components
 void doNewBundle()
          Pops up a dialog to let the user decide whether to use a new root or import an existing one.
 void doNewProject()
          Pops up a dialog to let the user decide whether to use a new root or import an existing one.
 void doOpenLooseFile()
          Opens up a file dialog so the user can select the file to open.
 void doOpenProject()
          Pops up a dialog to let the user select a project file.
 void doProjectMenu()
          Lays out the Project Menu, sets the project menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Edit Menu has been initialized
 void doRemoveKey()
          Pops up a dialog asking the user if they wish to delete the selected key PRE: none POST: a key may be removed from all bundles
 void doSave()
          If an EditorWindow from a project is select, the project is saved.
 void doSaveAs()
          Pops up a file dialog to allow the user to specify the new location of the project file.
 void doStatusBar()
          Lays out the Status Bar PRE: gui elements are not null POST: statusbar has been initialized
 void doTheLayout()
          Lays out this window PRE: this class's attributes have been set POST: GUI components have been added to the window and arranged appropriately.
 void doToolbar()
          Lays out the toolbar PRE: gui elements are not null POST: toolbar has been initialized
 void doViewMenu()
          Lays out the View Menu, sets the view menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Edit Menu has been initialized
 void doWindowsMenu()
          Lays out the Windows Menu, sets the window menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Edit Menu has been initialized
 java.awt.Dimension getPreferredSize()
           
 javax.swing.JMenu getWindowMenu()
          Returns the JMenu for the 'Windows' menu
 boolean isDirty()
           
 void openEditorWindow(ResBundle bundle)
          Opens a new Editor Window
 void openProjectWindow(Project proj)
          Opens the ProjectWindow.
 void removeMenuItem(javax.swing.JMenuItem mi)
           
 void removeTab(InternalWindow wind)
          Removes the JInternal Frame from the eztabs and the parallel array
 void removeWindow(InternalWindow wind)
          Removes the JInternal Frame from Main Window
 java.io.File selectFile(java.lang.String prompt)
          Allows the user to select a file, then returns a File with the path to the selected file.
 void setDirty(boolean modified)
           
 void setSelectedTab(java.awt.Component c)
           
 
Methods inherited from class javax.swing.JFrame
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, update
 
Methods inherited from class java.awt.Frame
addNotify, 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, removeWindowListener, setCursor, 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, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, remove, removeAll, removeContainerListener, setFont, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, disable, dispatchEvent, enable, enable, enableInputMethods, 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, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

MainWindow

public MainWindow(RBEdit rbedit)
Default Constructor
Parameters:
rbedit - RBEdit that this window draws. PRE: rbedit is not null POST: the class is constructed
Method Detail

doTheLayout

public void doTheLayout()
Lays out this window PRE: this class's attributes have been set POST: GUI components have been added to the window and arranged appropriately.

doFileMenu

public void doFileMenu()
Lays out the File Menu, sets the file menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: File Menu has been initialized

doEditMenu

public void doEditMenu()
Lays out the Edit Menu, sets the edit menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Edit Menu has been initialized

doProjectMenu

public void doProjectMenu()
Lays out the Project Menu, sets the project menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Edit Menu has been initialized

doBundleMenu

public void doBundleMenu()
Lays out the Bundle Menu, sets the bundle menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Bundle Menu has been initialized

doViewMenu

public void doViewMenu()
Lays out the View Menu, sets the view menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Edit Menu has been initialized

doWindowsMenu

public void doWindowsMenu()
Lays out the Windows Menu, sets the window menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Edit Menu has been initialized

doHelpMenu

public void doHelpMenu()
Lays out the Help Menu, sets the help menu items to the correct langauge PRE: bundle points to the correct Resource Bundle for the current language POST: Edit Menu has been initialized

doIcons

public void doIcons()
Adds icons to GUI components PRE: gui elements are not null POST: Icons have been added to gui components

doEZTabs

public void doEZTabs()
Lays out the EZTabs PRE: gui elements are not null POST: eztabs has been initialized

doStatusBar

public void doStatusBar()
Lays out the Status Bar PRE: gui elements are not null POST: statusbar has been initialized

doToolbar

public void doToolbar()
Lays out the toolbar PRE: gui elements are not null POST: toolbar has been initialized

doAddListeners

public void doAddListeners()
Adds necessary listeners PRE: gui components have been initialized POST: gui componenets have listeners

openEditorWindow

public void openEditorWindow(ResBundle bundle)
Opens a new Editor Window
Parameters:
bundle - The ResBundle to add PRE: bundle is not null POST: the bundle has an associated EditorWindow

doAddKey

public void doAddKey()

doOpenLooseFile

public void doOpenLooseFile()
Opens up a file dialog so the user can select the file to open. PRE: none POST: may be a new Editor Window in the main window.

doRemoveKey

public void doRemoveKey()
Pops up a dialog asking the user if they wish to delete the selected key PRE: none POST: a key may be removed from all bundles

doNewBundle

public void doNewBundle()
Pops up a dialog to let the user decide whether to use a new root or import an existing one. If using an existing one, opens up a file dialog so the user can select the existing root. PRE: none POST: may be a new project window in the main window.

doNewProject

public void doNewProject()
Pops up a dialog to let the user decide whether to use a new root or import an existing one. If using an existing one, opens up a file dialog so the user can select the existing root. PRE: none POST: may be a new project window in the main window.

doOpenProject

public void doOpenProject()
Pops up a dialog to let the user select a project file. The information in the project file is then used to load the project. PRE: none POST: may be a new project window in the main window.

doSave

public void doSave()
If an EditorWindow from a project is select, the project is saved. If a LooseFile EditorWindow is selected, that LooseFile is written out. PRE: none POST: project or loose file may be saved.

doSaveAs

public void doSaveAs()
Pops up a file dialog to allow the user to specify the new location of the project file. PRE: none POST: project may be saved.

doClose

public boolean doClose()
Pops up a save confirmation dlg if the project is dirty, then does as the user instructs (either cancels, exits, or saves and exits.
Returns:
false if the user wishes to cancel the exiting. PRE: project is open POST: project may be closed

appendExtension

public java.lang.String appendExtension(java.lang.String file,
                                        java.lang.String fileType)
Takes the filename, strips off a bad extension (if it has one), then puts on the correct extension
Parameters:
file - the filename to manipulate
fileType - name of the resource bundle file type (internationalized) PRE: file is not null. fileType may be null POST: none

openProjectWindow

public void openProjectWindow(Project proj)
                       throws java.beans.PropertyVetoException
Opens the ProjectWindow.
Parameters:
proj - the project to be displayed in the project window PRE: none POST: the project is displayed

removeWindow

public void removeWindow(InternalWindow wind)
Removes the JInternal Frame from Main Window

removeTab

public void removeTab(InternalWindow wind)
Removes the JInternal Frame from the eztabs and the parallel array

setSelectedTab

public void setSelectedTab(java.awt.Component c)

removeMenuItem

public void removeMenuItem(javax.swing.JMenuItem mi)

getWindowMenu

public javax.swing.JMenu getWindowMenu()
Returns the JMenu for the 'Windows' menu

selectFile

public java.io.File selectFile(java.lang.String prompt)
Allows the user to select a file, then returns a File with the path to the selected file.
Parameters:
prompt - The prompt to show to the user when a file selection dialog is displayed.
Returns:
a File pointing to the file selected by the user. PRE: prompt is not null POST: if user selects a file a File containing the file is returned

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class java.awt.Container

isDirty

public boolean isDirty()

setDirty

public void setDirty(boolean modified)