Package Name: dialogs

Return to: Package List


with Interfaces.C.Extensions; use Interfaces.C.Extensions;
with Interfaces.C.Strings; use Interfaces.C.Strings;
with Types; use Types;
with Quickdraw; use Quickdraw;
with Events; use Events;
with TextEdit; use TextEdit;
with Windows; use Windows;

package Dialogs is
   --  
   --  File:       Dialogs.h
   --  
   --  Contains:   Dialog Manager interfaces.
   --  
   --  Version:    Technology: System 7.5
   --              Package:    Universal Interfaces 21 in ÒMPW LatestÓ on ETO #18
   --  
   --  Copyright:  © 1984-1995 by Apple Computer, Inc.
   --              All rights reserved.

   --  
	-- original names for dialog item constants 
	ctrlItem    : constant := 4;
	btnCtrl     : constant := 0;
	chkCtrl     : constant := 1;
	radCtrl     : constant := 2;
	resCtrl     : constant := 3;
	statText    : constant := 8;
	editText    : constant := 16;
	iconItem    : constant := 32;
	picItem     : constant := 64;
	userItem	   : constant := 0;
	itemDisable : constant := 128;
	ok          : constant := 1;
	cancel      : constant := 2;
	stopIcon    : constant := 0;
	noteIcon	   : constant := 1;

	cautionIcon : constant := 2;
	-- new, more standard names for dialog item constants 
	kControlDialogItem			: constant := ctrlItem;
	kButtonDialogItem			   : constant := ctrlItem + btnCtrl;
	kCheckBoxDialogItem			: constant := ctrlItem + chkCtrl;
	kRadioButtonDialogItem		: constant := ctrlItem + radCtrl;
	kResourceControlDialogItem	: constant := ctrlItem + resCtrl;
	kStaticTextDialogItem		: constant := statText;
	kEditTextDialogItem			: constant := editText;
	kIconDialogItem				: constant := iconItem;
	kPictureDialogItem			: constant := picItem;
	kUserDialogItem				: constant := userItem;
	kItemDisableBit				: constant := itemDisable;
	kStdOkItemIndex				: constant := ok;
	kStdCancelItemIndex			: constant := cancel;
	kStopIcon					   : constant := stopIcon;
	kNoteIcon                  : constant := noteIcon;

	kCautionIcon               : constant := cautionIcon;

   subtype DITLMethod is Short_Integer;

   subtype StageList is Short_Integer;

   subtype DialogPropertyTag is OSType;

   subtype DialogPtr is WindowPtr;

   subtype DialogRef is DialogPtr;
   type SoundProcPtr is Access procedure
      (soundNumber   : in     Short_Integer);
   type ModalFilterProcPtr is access function
      (theDialog     : in     DialogPtr;
       theEvent      : access EventRecord;
       itemHit       : access Short_Integer)
       return Boolean;
   type UserItemProcPtr is Access procedure
      (theWindow     : in     WindowPtr;

       itemNo        : in     Short_Integer);
   subtype SoundUPP is UniversalProcPtr;
   subtype ModalFilterUPP is UniversalProcPtr;

   subtype UserItemUPP is UniversalProcPtr;
	uppSoundProcInfo       : constant := 16#00000080#; -- PROCEDURE (2 byte param);
	uppModalFilterProcInfo : constant := 16#00000FD0#; -- FUNCTION (4 byte param, 4 byte param, 4 byte param): 1 byte result;

	uppUserItemProcInfo    : constant := 16#000002C0#; -- PROCEDURE (4 byte param, 2 byte param);
   type DialogRecord is 
      record
         window : WindowRecord;
         items : Handle;
         textH : TEHandle;
         editField : Short_Integer;
         editOpen : Short_Integer;
         aDefItem : Short_Integer;
      end record;

   type DialogPeek is Access DialogRecord;
   type DialogTemplate is 
      record
         boundsRect : Rect;
         procID : Short_Integer;
         visible : Boolean;
         filler1 : Boolean;
         goAwayFlag : Boolean;
         filler2 : Boolean;
         refCon : Long_Integer;
         itemsID : Short_Integer;
         title : Str255;
      end record;
   type DialogTPtr is Access DialogTemplate;

   type DialogTHndl is Access DialogTPtr;
   type AlertTemplate is 
      record
         boundsRect : Rect;
         itemsID : Short_Integer;
         stages : StageList;
      end record;
   type AlertTPtr is Access AlertTemplate;

   type AlertTHndl is Access AlertTPtr;
   procedure InitDialogs

     (ignored            : in     Void_Ptr);
   pragma Import (C, InitDialogs, "InitDialogs", "InitDialogs");
   procedure ErrorSound
     (soundProc          : in     SoundUPP);

   pragma Import (C, ErrorSound, "ErrorSound", "ErrorSound");
   function NewDialog
     (wStorage           : in     Void_Ptr;
      boundsRect         : access Rect;
      title              : access Str255;
      visible            : in     Boolean;
      procID             : in     Short_Integer;
      behind             : in     WindowRef;
      goAwayFlag         : in     Boolean;
      refCon             : in     Long_Integer;
      itmLstHndl         : in     Handle)
      return                      DialogRef;

   pragma Import (C, NewDialog, "NewDialog", "NewDialog");
   function GetNewDialog
     (dialogID           : in     Short_Integer;
      dStorage           : in     Void_Ptr;
      behind             : in     WindowRef)
      return                      DialogRef;

   pragma Import (C, GetNewDialog, "GetNewDialog", "GetNewDialog");
   procedure CloseDialog
     (theDialog          : in     DialogRef);

   pragma Import (C, CloseDialog, "CloseDialog", "CloseDialog");
   procedure DisposeDialog
     (theDialog          : in     DialogRef);

   pragma Import (C, DisposeDialog, "DisposeDialog", "DisposeDialog");
   procedure ParamText
     (param0             : access Str255;
      param1             : access Str255;
      param2             : access Str255;
      param3             : access Str255);

   pragma Import (C, ParamText, "ParamText", "ParamText");
   procedure ModalDialog
     (modalFilter        : in     ModalFilterUPP;
      itemHit            : access Short_Integer);

   pragma Import (C, ModalDialog, "ModalDialog", "ModalDialog");
   function IsDialogEvent
     (theEvent           : access EventRecord)
      return                      Boolean;

   pragma Import (C, IsDialogEvent, "IsDialogEvent", "IsDialogEvent");
   function DialogSelect
     (theEvent           : access EventRecord;
      theDialog          : access DialogRef;
      itemHit            : access Short_Integer)
      return                      Boolean;

   pragma Import (C, DialogSelect, "DialogSelect", "DialogSelect");
   procedure DrawDialog
     (theDialog          : in     DialogRef);

   pragma Import (C, DrawDialog, "DrawDialog", "DrawDialog");
   procedure UpdateDialog
     (theDialog          : in     DialogRef;
      updateRgn          : in     RgnHandle);

   pragma Import (C, UpdateDialog, "UpdateDialog", "UpdateDialog");
   function Alert
     (alertID            : in     Short_Integer;
      modalFilter        : in     ModalFilterUPP)
      return                      Short_Integer;

   pragma Import (C, Alert, "Alert", "Alert");
   function StopAlert
     (alertID            : in     Short_Integer;
      modalFilter        : in     ModalFilterUPP)
      return                      Short_Integer;

   pragma Import (C, StopAlert, "StopAlert", "StopAlert");
   function NoteAlert
     (alertID            : in     Short_Integer;
      modalFilter        : in     ModalFilterUPP)
      return                      Short_Integer;

   pragma Import (C, NoteAlert, "NoteAlert", "NoteAlert");
   function CautionAlert
     (alertID            : in     Short_Integer;
      modalFilter        : in     ModalFilterUPP)
      return                      Short_Integer;

   pragma Import (C, CautionAlert, "CautionAlert", "CautionAlert");
   procedure GetDialogItem
     (theDialog          : in     DialogRef;
      itemNo             : in     Short_Integer;
      itemType           : access Short_Integer;
      item               : access Handle;
      box                : access Rect);

   pragma Import (C, GetDialogItem, "GetDialogItem", "GetDialogItem");
   procedure SetDialogItem
     (theDialog          : in     DialogRef;
      itemNo             : in     Short_Integer;
      itemType           : in     Short_Integer;
      item               : in     Handle;
      box                : access Rect);

   pragma Import (C, SetDialogItem, "SetDialogItem", "SetDialogItem");
   procedure HideDialogItem
     (theDialog          : in     DialogRef;
      itemNo             : in     Short_Integer);

   pragma Import (C, HideDialogItem, "HideDialogItem", "HideDialogItem");
   procedure ShowDialogItem
     (theDialog          : in     DialogRef;
      itemNo             : in     Short_Integer);

   pragma Import (C, ShowDialogItem, "ShowDialogItem", "ShowDialogItem");
   procedure SelectDialogItemText
     (theDialog          : in     DialogRef;
      itemNo             : in     Short_Integer;
      strtSel            : in     Short_Integer;
      endSel             : in     Short_Integer);

   pragma Import (C, SelectDialogItemText, "SelectDialogItemText", "SelectDialogItemText");
   procedure GetDialogItemText
     (item               : in     Handle;
      text               : access Str255);

   pragma Import (C, GetDialogItemText, "GetDialogItemText", "GetDialogItemText");
   procedure SetDialogItemText
     (item               : in     Handle;
      text               : access Str255);

   pragma Import (C, SetDialogItemText, "SetDialogItemText", "SetDialogItemText");
   function FindDialogItem
     (theDialog          : in     DialogRef;
      thePt              : in     Point)
      return                      Short_Integer;

   pragma Import (C, FindDialogItem, "FindDialogItem", "FindDialogItem");
   function NewColorDialog
     (dStorage           : in     Void_Ptr;
      boundsRect         : access Rect;
      title              : access Str255;
      visible            : in     Boolean;
      procID             : in     Short_Integer;
      behind             : in     WindowRef;
      goAwayFlag         : in     Boolean;
      refCon             : in     Long_Integer;
      items              : in     Handle)
      return                      DialogRef;

   pragma Import (C, NewColorDialog, "NewColorDialog", "NewColorDialog");
   function GetAlertStage
      return                      Short_Integer;

   pragma Import (C, GetAlertStage, "GetAlertStage", "GetAlertStage");
   function newdialogC
     (wStorage           : in     Void_Ptr;
      boundsRect         : access Rect;
      title              : in     Chars_Ptr;
      visible            : in     Boolean;
      procID             : in     Short_Integer;
      behind             : in     WindowRef;
      goAwayFlag         : in     Boolean;
      refCon             : in     Long_Integer;
      itmLstHndl         : in     Handle)
      return                      DialogRef;

   pragma Import (C, newdialogC, "newdialog", "newdialog");
   function newdialog
     (wStorage           : in     Void_Ptr;
      boundsRect         : access Rect;
      title              : in     Chars_Ptr;
      visible            : in     Boolean;
      procID             : in     Short_Integer;
      behind             : in     WindowRef;
      goAwayFlag         : in     Boolean;
      refCon             : in     Long_Integer;
      itmLstHndl         : in     Handle)
      return                      DialogRef

   renames newdialogC;
   function newdialog
     (wStorage           : in     Void_Ptr;
      boundsRect         : access Rect;
      title              : in     String;
      visible            : in     Boolean;
      procID             : in     Short_Integer;
      behind             : in     WindowRef;
      goAwayFlag         : in     Boolean;
      refCon             : in     Long_Integer;
      itmLstHndl         : in     Handle)

      return                      DialogRef;
   function newcolordialogC
     (dStorage           : in     Void_Ptr;
      boundsRect         : access Rect;
      title              : in     Chars_Ptr;
      visible            : in     Boolean;
      procID             : in     Short_Integer;
      behind             : in     WindowRef;
      goAwayFlag         : in     Boolean;
      refCon             : in     Long_Integer;
      items              : in     Handle)
      return                      DialogRef;

   pragma Import (C, newcolordialogC, "newcolordialog", "newcolordialog");
   function newcolordialog
     (dStorage           : in     Void_Ptr;
      boundsRect         : access Rect;
      title              : in     Chars_Ptr;
      visible            : in     Boolean;
      procID             : in     Short_Integer;
      behind             : in     WindowRef;
      goAwayFlag         : in     Boolean;
      refCon             : in     Long_Integer;
      items              : in     Handle)
      return                      DialogRef

   renames newcolordialogC;
   function newcolordialog
     (dStorage           : in     Void_Ptr;
      boundsRect         : access Rect;
      title              : in     String;
      visible            : in     Boolean;
      procID             : in     Short_Integer;
      behind             : in     WindowRef;
      goAwayFlag         : in     Boolean;
      refCon             : in     Long_Integer;
      items              : in     Handle)

      return                      DialogRef;
   procedure ResetAlertStage;

   pragma Import (C, ResetAlertStage, "ResetAlertStage", "ResetAlertStage");
   procedure DialogCut
     (theDialog          : in     DialogRef);

   pragma Import (C, DialogCut, "DialogCut", "DialogCut");
   procedure DialogPaste
     (theDialog          : in     DialogRef);

   pragma Import (C, DialogPaste, "DialogPaste", "DialogPaste");
   procedure DialogCopy
     (theDialog          : in     DialogRef);

   pragma Import (C, DialogCopy, "DialogCopy", "DialogCopy");
   procedure DialogDelete
     (theDialog          : in     DialogRef);

   pragma Import (C, DialogDelete, "DialogDelete", "DialogDelete");
   procedure SetDialogFont
     (value              : in     Short_Integer);

   pragma Import (C, SetDialogFont, "SetDialogFont", "SetDialogFont");
   procedure paramtextC
     (param0             : in     Chars_Ptr;
      param1             : in     Chars_Ptr;
      param2             : in     Chars_Ptr;
      param3             : in     Chars_Ptr);

   pragma Import (C, paramtextC, "paramtext", "paramtext");
   procedure paramtext
     (param0             : in     Chars_Ptr;
      param1             : in     Chars_Ptr;
      param2             : in     Chars_Ptr;
      param3             : in     Chars_Ptr)

   renames paramtextC;
   procedure paramtext
     (param0             : in     String;
      param1             : in     String;
      param2             : in     String;

      param3             : in     String);
   procedure getdialogitemtextC
     (item               : in     Handle;
      text               : in     Chars_Ptr);

   pragma Import (C, getdialogitemtextC, "getdialogitemtext", "getdialogitemtext");
   procedure getdialogitemtext
     (item               : in     Handle;
      text               : in     Chars_Ptr)

   renames getdialogitemtextC;
   procedure setdialogitemtextC
     (item               : in     Handle;
      text               : in     Chars_Ptr);

   pragma Import (C, setdialogitemtextC, "setdialogitemtext", "setdialogitemtext");
   procedure setdialogitemtext
     (item               : in     Handle;
      text               : in     Chars_Ptr)

   renames setdialogitemtextC;
   procedure setdialogitemtext
     (item               : in     Handle;

      text               : in     String);
   function finddialogitemC
     (theDialog          : in     DialogRef;
      thePt              : access Point)
      return                      Short_Integer;

   pragma Import (C, finddialogitemC, "finddialogitem", "finddialogitem");
   function finddialogitem
     (theDialog          : in     DialogRef;
      thePt              : access Point)
      return                      Short_Integer

   renames finddialogitemC;
   procedure AppendDITL
     (theDialog          : in     DialogRef;
      theHandle          : in     Handle;
      method             : in     DITLMethod);

   pragma Import (C, AppendDITL, "AppendDITL", "AppendDITL");
   function CountDITL
     (theDialog          : in     DialogRef)
      return                      Short_Integer;

   pragma Import (C, CountDITL, "CountDITL", "CountDITL");
   procedure ShortenDITL
     (theDialog          : in     DialogRef;
      numberItems        : in     Short_Integer);

   pragma Import (C, ShortenDITL, "ShortenDITL", "ShortenDITL");
   function StdFilterProc
     (theDialog          : in     DialogRef;
      event              : access EventRecord;
      itemHit            : access Short_Integer)
      return                      Boolean;

   pragma Import (C, StdFilterProc, "StdFilterProc", "StdFilterProc");
   function GetStdFilterProc
     (theProc            : access ModalFilterUPP)
      return                      OSErr;

   pragma Import (C, GetStdFilterProc, "GetStdFilterProc", "GetStdFilterProc");
   function SetDialogDefaultItem
     (theDialog          : in     DialogRef;
      newItem            : in     Short_Integer)
      return                      OSErr;

   pragma Import (C, SetDialogDefaultItem, "SetDialogDefaultItem", "SetDialogDefaultItem");
   function SetDialogCancelItem
     (theDialog          : in     DialogRef;
      newItem            : in     Short_Integer)
      return                      OSErr;

   pragma Import (C, SetDialogCancelItem, "SetDialogCancelItem", "SetDialogCancelItem");
   function SetDialogTracksCursor
     (theDialog          : in     DialogRef;
      tracks             : in     Boolean)
      return                      OSErr;

   pragma Import (C, SetDialogTracksCursor, "SetDialogTracksCursor", "SetDialogTracksCursor");
end Dialogs;