236   First line holds number of lines in file.
			EEDRAW Functions
			----------------
File menu:
----------
  LoadEEDFile - Prompts for a file name (List question), and reads it
    from the current directory, if SELECT key, abort if ABORT key.
    Note file type must be '.eed'. A new window is created for it and
    the user is prompted to set the window size (see ResizeWindow).
  NewEEDFile - Creates a new drawing window not assosicated with any
    file. This is the way to create new drawings. The user is
    prompted to set the window size (see ResizeWindow).
  SaveAllEED - Saves all unsaved drawings. This is probably useful
    before quiting eedraw.
  SaveEEDFile - Saves currently edited file. This routine can be used
    only after a new file was saved at list once, or it was loaded.
    In both cases, it will be saved on the same name, after
    renaming old one to have '.bak' extension.
    Ask for verification (Yes/No question).
  SaveEEDAsOld - Same as SaveEEDFile, but prompts with list of all '.eed'
    files in current directory, and saved by the name selected if
    SELECT key, or abort if ABORT key.
  SaveEEDAsNew - Same as SaveEEDFile, but prompts for a new file using
    String question.
  CloseEEDFile - Closes a drawing window associated with a file. Note
    that non of the above saving functions close the window,
    and this function is the only way to close a window.
    Ask for verification if data modified (Yes/No question).
  ClearAll - Clears all eedrawing data in a picked window. The user is
    requested to "click" on the window to clear.
    Ask for verification (Yes/No question).
  Directory - Display content of current directory as in List question.
    both SELECT key and ABORT key can be used to exit this mode.
    Unlike LoadEEDFile, all files are displayed.
  ChangeDir - Prompts with String question for a new directory. Old
    directory is provided to begin with.
  ShellToDos - "Fork"s (I wish this was true...) to the DOS O.S. . Type
    'exit' at the DOS prompt to return to EEDraw.
  ExitEEdraw - Exits the Program.
    Ask for verification (Yes/No question) and issue a warning
    if not all files were saved.

Window menu:
------------
  PopWindow - Pops up a window the user picks. The window is being
    picked by "clicking" on it. ABORT key aborts this operation.
  PushWindow - Pushes down a window the user picks. The window is
    being picked by "clicking" on it. ABORT key aborts this operation.
  MoveWindow - Moves a window the user picks. The window is being
    picked by "clicking" on it. ABORT key aborts this operation.
    The picked window frame is poped up so current position is
    all visible. The cursor prompt changes to a box in the window
    size that the user needs to place as the new position.
  ResizeWindow - Same as MoveWindow but for resizing the window.
  FullSize - Blows up a window the user picks. The window is being
    picked by "clicking" on it. ABORT key aborts this operation.
    This make the window as big as possible in the current
    display device. Calling this function again on the window
    will recover its original size.
    This function may be activated on drawing windows only.
  ShowName - A toggle to show/hide window name. The window name is
    simply the filename the window is associated with. Also
    displayed is O)riginal, M)odified, or S)aved file status
    as O/M/S letters.
  MakeActive - All drawing operations are performed on the active
    window. If only one drawing window exists it is the active
    one. If more, exactly one of them is the active one. This
    function selects the active window by a user pick. The window
    is being picked by "clicking" on it. ABORT key aborts this
    operation.
  NameActive - All drawing operations are performed on the active
    window. If only one drawing window exists it is the active
    one. If more, exactly one of them is the active one. This
    function selects the active window by name. A list query of
    all drawing window (file) names is being poped up and the
    selected becomes the active one.
  PanWindowLeft - Pan the ACTIVE window a half window to the left.
  PanWindowRight - Pan the ACTIVE window a half window to the right.
  PanWindowUp - Pan the ACTIVE window a half window up.
  PanWindowDown - Pan the ACTIVE window a half window down.

Display menu:
-------------
  ZoomOut - Zoom out (center of screen remains at center) by factor of 2.
    Note that if you zoom out from regular zoom factor, text will
    disappear as it can not be shrinked. You can enable text from
    the Status menu manually.
  ZoomIn - Zoom in (center of screen remains at center) by factor of 2.
  ZoomReset - Reset Zoom value to the regular zoom factor.
  RedrawAll - Redraw all screen.

Libs menu:
----------
  LoadLibrary - Prompts for a file name (List question), and reads it
    from the current directory, if SELECT key, abort if ABORT key.
    Note file type must be '.lib'.
  FreeLibrary - Prompts with all loaded libraries with List question,
    and frees the selected one if SELECT key, abort if ABORT.
  ViewLibrary - Prompts with all loaded libraries with List question,
    If a library has been selected via SELECT key, prompt with
    all parts defined in this library again with a List question.
    Selection of a part with SELECT key will display it. ABORT will
    go back to library List question, which can be aborted again
    via the ABORT key.
  DirLibrary - Displays content of current directory library files
    (those with '.lib' extension) as in List question.
    both SELECT key and ABORT key can be used to exit this mode.

Draw menu:
----------
  DrawLine - Enters drawing mode. If HVLines is set (see SETUP,
    EEDraw.cfg section), only horizontal/vertical lines are allowed.
    In this mode, pressing SELECT key will insert a new point
    in the created polyline and pressing ABORT will delete the
    last entered point.
    If however, there are no points at all in the current polyline,
    ABORT key will abort this mode.
    Also, pressing SELECT twice (at the SAME place as the last
    point entered) will complete the drawn polyline.
  DrawBus - Same as DrawLine, but draw thicker lines.
  DrawConnect - Draw a connection junction, if SELECT key is pressed,
    or abort if ABORT key is pressed.
  DrawText - Prompts for a string with String question, and then
    position the text horizontally or vertically. If the positioning
    is terminated with ABORT it is ignored, SELECT will update.
  DrawLibItem - Prompts for a part name with String question. If
    this is not the first invocation to this mode, last part will
    be used as default string (remember you can always use Esc to
    clear to a fresh line). If part is found (name is exactly the
    same as  shown in the ViewLibrary function above), a pop up
    menu will allow to rotate it 90 degree CW or CCW or mirror it.
    Successive SELECT will transform the library item to the
    desired orientation, while ABORT will abort this DrawLibItem
    mode. SELECT PlaceIt (top menu entry) will allow to position
    the part in the exact place.
    The user is also been prompted for Chip (i.e. 74LS00) and Part
    (i.e. IC7) names if they are required/allowed (see Appendix on
    library file definition) for this part. These are positioned
    similar to the way DrawText position its text, except that
    Chip name is already known and can not be modified.

Modify menu:
------------
  This menu is heavily based on Picking objects. a single object
  is being picked if the cursor is on an object. The cursor is
  considered on an object if one of the following:
  A. Line and Bus items: the cursor is on one of the Line/Bus end
     points (any point that was set by SELECT when it was created,
     including internal points).
  B. Connect item: the cursor is on the Connect center.
  C. Text item: the cursor is inside the smallest axes parallel
     bounding box holding this text.
  D. Library item: the cursor is on any polyline end point
     (including internal points).

  The picked object will blink. SELECT key will select it, ABORT
  key will cause the next object, if such exists at this position,
  to blink until one is selected via the SELECT key, or no more
  objects can be picked.

  If no object at all is found at the cursor point, the point is
  used as first corner of a box to pick a set of objects - a second
  SELECT key will pick the second corner of the box, ABORT key will
  abort this mode. All objects intersect with the defined box, will
  be considered picked, with no more verification.

  ModifyMove - Pickes object(s), and moves it (them) to a new
    position. Once the object(s) is (are) picked, SELECT key will
    set its(their) new  position, ABORT will leave it unchanged.
  ModifyCopy - Pickes object(s), and copies it (them) to a new
    position. Once object(s) is (are) picked, SELECT key will place
    it(them) in new position, ABORT will abort the copy operation.
  EditLibItem - if the picked object(s) is a single library item,
    allows editing any of the following (via a pop up menu):
    A. Editing the part name. This is the only way to add a part
       name to a library item if the library item has none by
       default.
    B. Toggle to Draw/Undraw chip name (if this chip is allowed
       to have one).
    C. Reposition Chip name (if this chip have one).
    D. Reposition Part name (if this chip is allowed to have one).
    E. Reorient the lib part.
    Picking one of the above via SELECT will allow text
    positioning or text editing (via String question). ABORT or
    selecting Done (first menu entry) will abort this EditLibItem
    mode.
  ModifyDelete - Deletes the picked object(s). The deleted object(s)
    is (are) saved in a special 10 places deep stack, and deleted
    items can be undeleted using the ModifyUnDel function.
    Each of the 10 placed stack can hold any result of a pick
    no matter how many objects are inside.
    This Delete/Undelete mechanism can be used to cut and paste
    even between different files/windows - this stack is never
    being cleared.
  ModifyUnDel - Undelete the last delete operation (see ModifyDelete),
    from the delete stack (LIFO).
  ModifyCut - Same as ModifyDelete, but original is NOT deleted. The
    object is being pushed onto the undelet stack and can then be
    ModifyUnDel, ModifyPaste etc.
  ModifyPaste - Same as ModifyUnDel, but the undelete stack is NOT
    modified. This function enables pasting and placing the same
    object few times.
  ModifyDrop - Drops the top of stack from the undelete stack. May be
    used to drop a cut/paste object sequence from stack.

Status menu:
------------
  Help - Pops up an help window and displays the content of
    eedraw.hlp. If the help window is already poped up, this
    function will close it (acts like a toggle.).
  GetMemoryFree - Prompts with a continue question, on the
    current free memory. Getting close to zero is unsafe!
  GetZoomFactor - Allows you to see the current zoom factor
  SetDrawText - Sets drawing of text smaller than minimal size
    (8x8). This will draw text at 8x8 size which is too big,
    but may be sometimes useful.
  SetTextSize - Sets the scaling (up only) of the text size.
    By default this is equal to 1, but up to scaling up by 7
    is allowed.
  SetAutoPan - If TRUE, auto panning will occur when placing
    objects that have been moved off the active WINDOW. The
    object will be place so it is centered in the window.
  SetHVLines - Allows drawing of diagonal lines as well if set
    to FALSE. Uses Yes/No question.
  SetSnapFactor - Sets the invisible grid the cursor position is
    snapped to. You probably do not want to change this,
    especially not in the middle of file editing.
    Uses String question, and display current Snap factor to
    begin with.

Other (not in any menu):
------------------------
  SameAgain - Executes the last function again.
    If you have a mouse with 3 buttons, pressing middle button
    will execute this command (hard-bound).
    if you have a mouse with 2 buttons, pressing both buttons
    will execute this command (hard-bound).
