Welcome to  MAI 2 

    This is a tutorial to learn operating a MAI 2 interface. To simplify reading, topics are sorted in natural learning order. Here is an alphabetical list of all topics:


  Area
    An area is a division of an application's window with a specific function.



    Areas may be: CAD windows, project editors, text editors, HTML browsers, spreadsheets, etc.

    Areas may be part of the application's window (called
docked) or may be contained in independent windows (called floating).

    Areas usually have a
title describing its content and buttons used to operate it.

    An area may be zoomed to the total client area of the application's window. When this happens, the area is said to be
maximized. The client area of an application is the rectangle available between the borders, below the menu and the toolbars and above the status line.

    Areas may be created by the user by dividing existing areas (called
dynamic areas) or may always exist in the application (called static). Even if static areas (e.g. the help browser) always exist, they are not always visible. Static areas may be hidden.

    MAI 2 applications can manage up to 32 areas simultaneously.

  Layout
    A layout is the set of all areas of a MAI application. The layout includes hidden and floating areas as well as their coordinates. It can be considered as a picture of all the areas of an application that can be saved or restored at any time.

    It is up to the application's programmer to store the layout as a user's preference or not. Some MAI applications may store it, some may not.

  Active area
    The active area is the area that is in the foreground of a MAI application. Which area is active is visually identified by a bounding dashed rectangle as in this picture:



    The active area receives the keyboard input and may display the keyboard caret (the blinking vertical line called cursor in many applications).

    Some application commands may apply to the active area (e.g. "zoom to limits" in a CAD application will zoom the active area to the scene's limits or be disabled if the active area is, say, a text editor) others may not (e.g. "exit the application").

  Setting the active area
    There are three ways to set which area is the active area:
  • A simple mouse click on its title. Also on any part of it, but that may produce other actions besides selection, depending on what kind of area it is.

  • Pressing <Ctrl>+<Tab> repeatedly until the dashed rectangle highlights the desired area. The order in which areas are sorted is application dependent.

  • Pressing <Alt>+<Z> to pop-up the control menu, then <S> for "Set active area" and then select the area by its name from the menu.
    The application may also set the active area after some commands. E.g. when selecting "help", the help browser will show up if it was hidden and become the active area.

  Maximizing an area
    There are three ways to maximize an area:
  • Double clicking with the left mouse button on its title bar. Double clicking on a maximized area's title bar will restore the previous layout.

  • Clicking on the area's maximize button.



  • Pressing <Alt>+<Z> to pop-up the control menu, then <F> for "Full screen : -name-". Only the active area can be maximized by this method.
    The application controls if the area may be maximized. The most common reason why an area may not be maximized is: Its maximum size is smaller than the applications client area.

  Floating an area
    There are two ways to float an area:
  • Clicking on the area's float button.



  • Pressing <Alt>+<Z> to pop-up the control menu, then <T> for "Float area : -name-". Only the active area can be floated by this method.
    The application controls if the area may be floated.

    There are two different ways to float areas:
  • In a free window (when the option "Float in a free window" is set). The area can be hidden by the application window and can be selected from Windows <Alt>+<Tab> menu.

  • Always before the application window. This is the default option. It is much better in multiple monitor systems: The application window is maximized in one monitor and the floating windows are dragged to other monitor(s).

  Closing an area
    There are two ways to close an area:
  • Clicking on the area's close button.



  • Pressing <Alt>+<Z> to pop-up the control menu, then <C> for "Close area : -name-". Only the active area can be closed by this method.
    The application controls if the area may be closed and can also close areas as the result of commands (e.g. Loading a new project). Dynamic areas (see area) can always be closed.

  Mitosis
    A mitosis is a division of an area in two or four areas. The newly created areas are identical to the area divided, but have independent lives after that. E.g. In an application like GoKnot where board areas contain games, when a board is divided, the resulting two new boards contain the same game up to the move at which the board was divided. After that, both games can follow independently. In an HTML browser both areas show the same file just after the division. After that, navigating is possible in either area without modifying the content of the other. In CAD applications areas contain views of the same scene, not independent scenes.

    There are three types of mitosis:
  • Quadrantal mitosis.



    Can be done by clicking on the appropriate button or selecting the function from the control menu. Quadrantal mitosis produces three new areas at a time, to the right, below and below the right of the original area. All four (including the original) areas can be resized simultaneously by dragging the crossing point of both separators.

  • Horizontal mitosis.



    Can be done by clicking on the appropriate button or selecting the function from the control menu. Horizontal mitosis produces one new area each time to the right of the original area.

  • Vertical mitosis.



    Can be done by clicking on the appropriate button or selecting the function from the control menu. Vertical mitosis produces one new area each time below the original area.
    The reasons why an area could not support mitosis are:
  • The client does not support mitosis. E.g. a simple text editor may support mitosis when browsing a file as read only, but may inhibit it when the file is being edited.
  • The area is too small to fit the minimum sizes of the new areas.
  • The mitosis would produce more than 32 areas (including hidden areas).

  Control menu
    At the bottom left corner of a MAI application, locate the MAI control button:



    Clicking on this button, or pressing the keyboard shortcut <Alt>+<Z>, the control menu will be displayed. All functions available from the control menu are explained in this page (see the list of topics at the top).

  Options
    MAI applications have configurable options. Some of them, namely color configuration, are only available through the application's environment options command. You should aways set your MAI options using such commands. The application will also store your preferences for future use.

    There is an other method to change MAI options: using the menu command.



    At the menu command, you can set the width of the separator, choose if areas float in free windows (see floating), hide the area titles, or hide the dashed bounding rectangle indicating which is the active area.

    Options changed though the control menu are by default not stored for future use.

  Undoing layout changes
    Most actions performed on a MAI layout, including resizing by dragging a separator, may be undone.

    Unless the application provides an "undo MAI layout change" command, undoing is done via the control menu: Type <Alt>+<Z> to pop up the menu and then, <U> for undo.

    The last three changes may be undone.

    Only changes not including destroying objects (as closing a dynamic area) can be undone.

  Application specific features
    There is a great amount of things a MAI application can do to modify the behavior described here. Just to name a few: Removing the control menu, hiding the area titles, providing its own customization mechanisms, adjusting the title colors to your Windows desktop preferences, saving or not saving layouts, making the areas not resizable, etc.

   The behavior of MAI applications as described here is considered most intuitive and makes MAI applications behave as the user expects. It is also the behavior requiring the least programming effort, because objects behave this way by default. MAI programmers are encouraged to follow these guidelines.

    (c) Jacques Basaldúa 2003.

    This document may be copied or modified freely as long as it is used to provide help for MAI applications.


MAIN PAGE

Jacques Basaldúa (c) 2003

MAI page