DEFINITION MODULE ToolDisplay;

(*
Title    : TOOLDISP.DEF
LastEdit : 12/30/87
Author   : Russell G. Osterlund, Jr.
System   : LOGITECH MODULA-2/86, REPERTOIRE, BlackBeard

This product has been developed with the use of, and embodies portions of,
LOGITECH software development tools - compiler, linker, and M2MAKE.

*)

FROM StringIO IMPORT (* REPERTOIRE *)
  ErrorMessage;
FROM SmartScreen IMPORT (* REPERTOIRE *)
  Colors;
FROM ToolTypes IMPORT
  DirectoryRecPtr, MenuType, SubmenuType;

CONST
  MaxDisplayLines = 19; (* There are really 20 lines displayable,
			   but arrays start at 0.                 *)

VAR
  MainMenuPos: CARDINAL;
  MainMenu: ARRAY [0 .. 11] OF MenuType;
  CopyMenu: ARRAY [0 .. 2] OF SubmenuType;
  RenameMenu: ARRAY [0 .. 1] OF SubmenuType;
  ExecuteMenu: ARRAY [0 .. 3] OF SubmenuType;
  AdditionalMenu: ARRAY [0 .. 9] OF SubmenuType;
  SortMenu: ARRAY [0 .. 3] OF SubmenuType;
  AttributesMenu: ARRAY [0 .. 4] OF SubmenuType;
  OtherMenu: ARRAY [0 .. 6] OF SubmenuType;
  ConfigForeground,
  ConfigBackground: Colors;

PROCEDURE DisplayFileLine (directory: DirectoryRecPtr;
			   filenum: CARDINAL;
			   WindowActive: BOOLEAN);

PROCEDURE DisplaySummaryLine (directory: DirectoryRecPtr);

PROCEDURE DisplayInfo (directory: DirectoryRecPtr;
		       start: CARDINAL;
		       WindowActive: BOOLEAN);

PROCEDURE DisplayMainMenu ();

PROCEDURE DisplaySubMenu (menu: ARRAY OF SubmenuType;
			  pos: CARDINAL;
			  blank: BOOLEAN);

PROCEDURE DisplayAdditionalMenu ();

PROCEDURE DECMenuPos (max: CARDINAL;
		  VAR pos: CARDINAL);

PROCEDURE INCMenuPos (max: CARDINAL;
		  VAR pos: CARDINAL);

PROCEDURE YesAnswer (TheQuestion: ARRAY OF CHAR): BOOLEAN;

PROCEDURE GetMoreInfo (ThePrompt: ARRAY OF CHAR;
		    VAR TheOtherName: ARRAY OF CHAR);

PROCEDURE DisplayError (TheError: ErrorMessage);

PROCEDURE DisplayMessage (TheMessage: ARRAY OF CHAR);

PROCEDURE ClearMessage ();

PROCEDURE NoErrorMsg (error: ErrorMessage): BOOLEAN;

PROCEDURE DisplayHelpScreen ();
END ToolDisplay.
