## devisor2.grid.GUI.framework
Class MainFrame

    java.lang.Object
      java.awt.Component
          java.awt.Container
              java.awt.Window
                  java.awt.Frame
                      javax.swing.JFrame
                          devisor2.grid.GUI.framework.MainFrame

All Implemented Interfaces:
  javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class MainFrame
extends javax.swing.JFrame

This is the main window of the DeViSoRGrid2 application. It hosts the menu and toolbar, the statusbar, and of course the central drawing area. All these can be accessed from outside via the corresponding get methods.
Except serving as a container for all these classes, the MainFrame class takes care of repositioning the dockable dialogs whenever the MainFrame is moved or resized. This is done only in the two event handlers for the corresponding Component Events, and in the `shutDownApplication() <\code> method, which also takes care to store the options so that the user can continue to work right where he was when the application is restarted.
Last but not least, every resizing must be followed by a recalculation of the transformations to be applied to the elements, so this is handled here as well.
Some remarks on layouting: The basic layout is of course BorderLayout, which means that menu, toolbar and statusbar are given as much space as they require, leaving the large center for the drawing area. The MainFrame always appears centered on the screen, and to allow for various screen sizes, its initial size is about 80% of the whole screen. Anyhow, we strongly recommend using a resolution of at least 1024 by 768 pixels.
Due to some bug-or-feature, this class is also the keylistener responsible for catching CTRL- and SHIFT-pressed events.`

See Also:
  `other classes of the application :-)`, Serialized Form

Nested Class Summary

Nested classes inherited from class javax.swing.JFrame
`javax.swing.JFrame.AccessibleJFrame`

Nested classes inherited from class java.awt.Frame
`java.awt.Frame.AccessibleAWTFrame`

Nested classes inherited from class java.awt.Window
`java.awt.Window.AccessibleAWTWindow`

Nested classes inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes 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.JFrame
`accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled`

Fields inherited from class java.awt.Frame
`CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, 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
`MainFrame()` This constructor just creates a new MainFrame object and adds subsequently the toolbar, statusbar, main menu and centerfold area.

Method Summary
`devisor2.grid.GUI.event.GridAdjustment` `getAdjustment()` returns the adjustment object
`DrawingArea` `getDrawingArea()` returns the current DrawingArea
`devisor2.grid.GUI.event.MainActionListener` `getMainActionListener()` returns the current MainActionListener object of the frame
`MainMenu` `getMainMenu()` returns the current MainMenu object of the frame
`javax.swing.JScrollBar` `getScrollBar(int sel)` returns the select scrollbar object
`StatusBar` `getStatusBar()` returns the current statusbar object of the frame
`ToolBar` `getToolBar()` returns the current toolbar object of the frame
`void` `setMainMenu(MainMenu newmenu)` resets the MainMenu object of the frame
`void` `shutDownApplication()` shuts down the current instance of the application, requesting user confirmation.

Methods inherited from class javax.swing.JFrame

`addImpl, createRootPane, frameInit, 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.Frame
`addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated`

Methods inherited from class java.awt.Window

`addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, 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, 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, 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`

Methods inherited from interface java.awt.MenuContainer
`getFont, postEvent`

Constructor Detail

### MainFrame

    public MainFrame()

  This constructor just creates a new MainFrame object and adds subsequently the toolbar, statusbar, main menu and centerfold area. it also adds a listener to make sure the application can't be killed by just closing the main window. The component listeners responsible for induced movements of the dockable dialogs are also created. The positioning works as follows: If a value has been stored in the Options instance during last shutdown, it is used to display the MainFrame at its recent position, if not, the default values are used.

Method Detail

### getToolBar

    public ToolBar getToolBar()

  returns the current toolbar object of the frame

### getStatusBar

    public StatusBar getStatusBar()

  returns the current statusbar object of the frame

### getMainMenu

    public MainMenu getMainMenu()

  returns the current MainMenu object of the frame

### getMainActionListener

    public devisor2.grid.GUI.event.MainActionListener getMainActionListener()

  returns the current MainActionListener object of the frame

### setMainMenu

    public void setMainMenu(MainMenu newmenu)

  resets the MainMenu object of the frame

  Parameters:
    `newmenu` - - the new MainMenu instance

### getDrawingArea

    public DrawingArea getDrawingArea()

  returns the current DrawingArea

### getScrollBar

    public javax.swing.JScrollBar getScrollBar(int sel)

  returns the select scrollbar object

### getAdjustment

    public devisor2.grid.GUI.event.GridAdjustment getAdjustment()

  returns the adjustment object

### shutDownApplication

    public void shutDownApplication()

  shuts down the current instance of the application, requesting user confirmation. saves the current option settings to the .devisorgrid file in the users homedir.