(***********************************************************************)
(*                                                                     *)
(* 		 Microworks ObjectMate 2.6  	           								         *)
(*                                                                     *)
(*     Windows Interface Develpment Kit for the Borland Languages.     *)
(*                                                                     *)
(*		 MWINSTAL.INC : Constants, Variables and Function Declaratons    *)
(*																													           *)
(*     Copyright 1992-94 Microworks Sydney, Australia.	               *)
(*                                                                     *)
(***********************************************************************)

const

	{ Controls }
	id_Bitmap      = 100;
	id_EditC4      = 101;
	id_EditPas     = 102;
	id_CheckC4     = 103;
	id_CheckPas    = 104;
	id_CheckRW     = 105;
	id_CheckPM     = 106;
	id_Group       = 107;
	id_Static      = 108;
	id_Percent     = 109;
	id_Panel       = 110;
	id_Install     = 201;
	id_Exit        = 202;
	id_Read        = 203;
	id_Restart     = 204;

	{ Resource strings }
	id_MinC4Dir    = 100;
	id_MaxC4Dir    = 117;
	id_MinPasDir   = 200;
	id_MaxPasDir   = 215;
	id_MinC4File   = 300;
	id_MaxC4File   = 380;
	id_MinPasFile  = 400;
	id_MaxPasFile  = 431;

	{ Total number of files to install }
	NumBaseFiles   = 1;
	NumC4Files     = 83;
	NumPasFiles    = 34;

{********** Global Varibles **********}

var

	{ File installation }
	SystemPath     : array[0..fsPathName] of Char;
	SystemDir      : array[0..fsDirectory] of Char;
	FromDir        : array[0..fsDirectory] of Char;
	ToC4Dir        : array[0..fsDirectory] of Char;
	ToPasDir       : array[0..fsDirectory] of Char;
	DllLoaded   : Boolean;
	DlgProc        : TFarProc;
	LZLib          : Thandle;
	MainWnd        : HWnd;
	InstallDlg     : HWnd;
	FilesComplete  : Integer;
	Percent        : Word;

	{ Program Manager DDE }
	Command        : array[0..512] of Char;
	PMLaunched     : Boolean;
	PMWnd          : HWnd;
	AppAtom        : TAtom;
	TopicAtom      : TAtom;
	HDDE           : THandle;
	DDEMessageSent : Word;

{********** Window functions **********}

function  CompleteDialogProc (Dlg: HWnd; Message, WParam: Word;
															LParam: LongInt): BOOL; export; forward;

function  InstallDialogProc (Dlg: HWnd; Message, WParam: Word;
														 LParam: LongInt): BOOL; export; forward;

function  MainWindowProc (Wnd: HWnd; Message, WParam: Word;
													LParam: LongInt): LongInt; export; forward;

{********** Application initialization functions **********}

function  InitInstance: BOOL; forward;
function  InitInstalldialog: BOOL; forward;
function  InitMainWindow: BOOL; forward;
function  RegisterWindows: BOOL; forward;

{********** Support functions and procedures **********}

function  CheckPaths: BOOL; forward;
function  CopyFile (Dir, SubDir, FileName: PChar): BOOL; forward;
procedure DoInstallation; forward;
procedure EndInstallation; forward;
procedure ErrorMsg (Msg: PChar); forward;
function  ExpandFile (Dir, SubDir, FileName: PChar): BOOL; forward;
function  GetTotalFiles: Integer; forward;
procedure HourGlass (On: Boolean); forward;
function  MakeDirectories: BOOL; forward;
procedure PaintMainWindow (DC: HDC); forward;
procedure SetDialogPos(Dlg: HWnd); forward;

{********** Program Manager DDE functions **********}

function  InitiateDDE: BOOL; forward;
function  CreateGroup: BOOL; forward;
procedure CreateItem (ExeFile, Description, IconFile, IconNumber: PChar); forward;
procedure ExecuteDDE (ATextString: PChar); forward;
procedure NotifyDDE(LValue: LongInt); forward;
function  TerminateDDE: BOOL; forward;

