mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 05:49:19 +00:00
271 lines
8.5 KiB
OpenEdge ABL
271 lines
8.5 KiB
OpenEdge ABL
{************************************************************
|
|
Dialogs.p
|
|
Pascal Interface to the Dialog Manager
|
|
|
|
Copyright Apple Computer, Inc. 1985-1992
|
|
All rights reserved
|
|
|
|
Change History (most recent first):
|
|
|
|
<17> 12/8/92 JSM SoundProcPtr takes a short, just update the comment in this file
|
|
since everything is a ProcPtr here.
|
|
<16> 11/7/92 JDR Added the now publicly defined routines, StdFilterProc,
|
|
GetStdFilterProc, SetDialogDefaultItem, SetDialogCancelItem,
|
|
SetDialogTracksCursor.
|
|
<15> 6/26/92 DCL Miner Formatting Changes. Digging deep for things to do. Getting
|
|
the file ready for ETO 8.
|
|
<14> 4/6/92 DCL For New Inside Mac: Adding fancy new improved names for old
|
|
crusty routines. And getting rid of CouldDialog, FreeDialog,
|
|
CouldAlert, FreeAlert. #1025005
|
|
<13> 8/28/91 CH Updated interface headers for consistency.
|
|
<12> 7/24/91 JL Changed param name from theDITL to theHandle in AppendDITL to
|
|
match database. Updated copyright notice. Adjusted file to match
|
|
database.
|
|
<11> 6/25/91 JNG Add dialog manipulation routines from CTBUtilities.p
|
|
<10> 1/27/91 LN Checked in Database generate file from DSG.
|
|
<9> 12/3/90 RLC <ksm> Remove the private interfaces.
|
|
<8> 11/4/90 dba Added UpdateDialog (synonym for UpdtDialog).
|
|
<7> 10/10/90 JL Added Inline for SetDAFont
|
|
<6> 8/8/90 ngk Add types for procedure pointers
|
|
<5> 7/2/90 KSM Remove MarkWindowAsModal.
|
|
<4> 6/28/90 KSM Add more new calls.
|
|
<3> 6/8/90 KSM Add new DialogMgr dispatched routines.
|
|
|
|
To Do:
|
|
************************************************************}
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT Dialogs;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingDialogs}
|
|
{$SETC UsingDialogs := 1}
|
|
|
|
{$I+}
|
|
{$SETC DialogsIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingWindows}
|
|
{$I $$Shell(PInterfaces)Windows.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingTextEdit}
|
|
{$I $$Shell(PInterfaces)TextEdit.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingEvents}
|
|
{$I $$Shell(PInterfaces)Events.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := DialogsIncludes}
|
|
|
|
CONST
|
|
ctrlItem = 4;
|
|
btnCtrl = 0;
|
|
chkCtrl = 1;
|
|
radCtrl = 2;
|
|
resCtrl = 3;
|
|
statText = 8;
|
|
editText = 16;
|
|
iconItem = 32;
|
|
picItem = 64;
|
|
userItem = 0;
|
|
itemDisable = 128;
|
|
ok = 1;
|
|
cancel = 2;
|
|
stopIcon = 0;
|
|
noteIcon = 1;
|
|
cautionIcon = 2;
|
|
|
|
TYPE
|
|
{ Dialog Item List Manipulation Constants }
|
|
DITLMethod = INTEGER;
|
|
|
|
CONST
|
|
overlayDITL = 0;
|
|
appendDITLRight = 1;
|
|
appendDITLBottom = 2;
|
|
|
|
TYPE
|
|
StageList = PACKED RECORD
|
|
boldItm4: 0..1; {default button item number - 1}
|
|
boxDrwn4: BOOLEAN; {true if alert box to be drawn}
|
|
sound4: 0..3; {sound number}
|
|
boldItm3: 0..1;
|
|
boxDrwn3: BOOLEAN;
|
|
sound3: 0..3;
|
|
boldItm2: 0..1;
|
|
boxDrwn2: BOOLEAN;
|
|
sound2: 0..3;
|
|
boldItm1: 0..1;
|
|
boxDrwn1: BOOLEAN;
|
|
sound1: 0..3;
|
|
END;
|
|
|
|
|
|
DialogPtr = WindowPtr;
|
|
ResumeProcPtr = ProcPtr; { PROCEDURE Resume; }
|
|
SoundProcPtr = ProcPtr; { PROCEDURE DoSound(soundNumber: INTEGER); }
|
|
ModalFilterProcPtr = ProcPtr; { FUNCTION Filter(theDialog: DialogPtr; VAR theEvent: EventRecord; VAR itemHit: INTEGER): BOOLEAN; }
|
|
|
|
DialogPeek = ^DialogRecord;
|
|
DialogRecord = RECORD
|
|
window: WindowRecord;
|
|
items: Handle;
|
|
textH: TEHandle;
|
|
editField: INTEGER;
|
|
editOpen: INTEGER;
|
|
aDefItem: INTEGER;
|
|
END;
|
|
|
|
DialogTPtr = ^DialogTemplate;
|
|
DialogTHndl = ^DialogTPtr;
|
|
DialogTemplate = RECORD
|
|
boundsRect: Rect;
|
|
procID: INTEGER;
|
|
visible: BOOLEAN;
|
|
filler1: BOOLEAN;
|
|
goAwayFlag: BOOLEAN;
|
|
filler2: BOOLEAN;
|
|
refCon: LONGINT;
|
|
itemsID: INTEGER;
|
|
title: Str255;
|
|
END;
|
|
|
|
AlertTPtr = ^AlertTemplate;
|
|
AlertTHndl = ^AlertTPtr;
|
|
AlertTemplate = RECORD
|
|
boundsRect: Rect;
|
|
itemsID: INTEGER;
|
|
stages: StageList;
|
|
END;
|
|
|
|
|
|
PROCEDURE InitDialogs(resumeProc: ResumeProcPtr);
|
|
INLINE $A97B;
|
|
PROCEDURE ErrorSound(soundProc: SoundProcPtr);
|
|
INLINE $A98C;
|
|
FUNCTION NewDialog(wStorage: Ptr;boundsRect: Rect;title: Str255;visible: BOOLEAN;
|
|
procID: INTEGER;behind: WindowPtr;goAwayFlag: BOOLEAN;refCon: LONGINT;
|
|
itmLstHndl: Handle): DialogPtr;
|
|
INLINE $A97D;
|
|
FUNCTION GetNewDialog(dialogID: INTEGER;dStorage: Ptr;behind: WindowPtr): DialogPtr;
|
|
INLINE $A97C;
|
|
PROCEDURE CloseDialog(theDialog: DialogPtr);
|
|
INLINE $A982;
|
|
PROCEDURE DisposDialog(theDialog: DialogPtr);
|
|
INLINE $A983;
|
|
PROCEDURE DisposeDialog(theDialog: DialogPtr);
|
|
INLINE $A983;
|
|
PROCEDURE ParamText(param0: Str255;param1: Str255;param2: Str255;param3: Str255);
|
|
INLINE $A98B;
|
|
PROCEDURE ModalDialog(filterProc: ModalFilterProcPtr;VAR itemHit: INTEGER);
|
|
INLINE $A991;
|
|
FUNCTION IsDialogEvent(theEvent: EventRecord): BOOLEAN;
|
|
INLINE $A97F;
|
|
FUNCTION DialogSelect(theEvent: EventRecord;VAR theDialog: DialogPtr;VAR itemHit: INTEGER): BOOLEAN;
|
|
INLINE $A980;
|
|
PROCEDURE DrawDialog(theDialog: DialogPtr);
|
|
INLINE $A981;
|
|
PROCEDURE UpdateDialog(theDialog: DialogPtr;updateRgn: RgnHandle);
|
|
INLINE $A978;
|
|
PROCEDURE UpdtDialog(theDialog: DialogPtr;updateRgn: RgnHandle);
|
|
INLINE $A978;
|
|
FUNCTION Alert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
|
|
INLINE $A985;
|
|
FUNCTION StopAlert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
|
|
INLINE $A986;
|
|
FUNCTION NoteAlert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
|
|
INLINE $A987;
|
|
FUNCTION CautionAlert(alertID: INTEGER;filterProc: ModalFilterProcPtr): INTEGER;
|
|
INLINE $A988;
|
|
PROCEDURE GetDialogItem(theDialog: DialogPtr;itemNo: INTEGER;VAR itemType: INTEGER;
|
|
VAR item: Handle;VAR box: Rect);
|
|
INLINE $A98D;
|
|
PROCEDURE GetDItem(theDialog: DialogPtr;itemNo: INTEGER;VAR itemType: INTEGER;
|
|
VAR item: Handle;VAR box: Rect);
|
|
INLINE $A98D;
|
|
PROCEDURE SetDialogItem(theDialog: DialogPtr;itemNo: INTEGER;itemType: INTEGER;
|
|
item: Handle;box: Rect);
|
|
INLINE $A98E;
|
|
PROCEDURE SetDItem(theDialog: DialogPtr;itemNo: INTEGER;itemType: INTEGER;
|
|
item: Handle;box: Rect);
|
|
INLINE $A98E;
|
|
PROCEDURE HideDialogItem(theDialog: DialogPtr;itemNo: INTEGER);
|
|
INLINE $A827;
|
|
PROCEDURE HideDItem(theDialog: DialogPtr;itemNo: INTEGER);
|
|
INLINE $A827;
|
|
PROCEDURE ShowDialogItem(theDialog: DialogPtr;itemNo: INTEGER);
|
|
INLINE $A828;
|
|
PROCEDURE ShowDItem(theDialog: DialogPtr;itemNo: INTEGER);
|
|
INLINE $A828;
|
|
PROCEDURE SelectDialogItemText(theDialog: DialogPtr;itemNo: INTEGER;strtSel: INTEGER;
|
|
endSel: INTEGER);
|
|
INLINE $A97E;
|
|
PROCEDURE SelIText(theDialog: DialogPtr;itemNo: INTEGER;strtSel: INTEGER;
|
|
endSel: INTEGER);
|
|
INLINE $A97E;
|
|
PROCEDURE GetDialogItemText(item: Handle;VAR text: Str255);
|
|
INLINE $A990;
|
|
PROCEDURE GetIText(item: Handle;VAR text: Str255);
|
|
INLINE $A990;
|
|
PROCEDURE SetDialogItemText(item: Handle;text: Str255);
|
|
INLINE $A98F;
|
|
PROCEDURE SetIText(item: Handle;text: Str255);
|
|
INLINE $A98F;
|
|
FUNCTION FindDialogItem(theDialog: DialogPtr;thePt: Point): INTEGER;
|
|
INLINE $A984;
|
|
FUNCTION FindDItem(theDialog: DialogPtr;thePt: Point): INTEGER;
|
|
INLINE $A984;
|
|
FUNCTION NewColorDialog(dStorage: Ptr;boundsRect: Rect;title: Str255;visible: BOOLEAN;
|
|
procID: INTEGER;behind: WindowPtr;goAwayFlag: BOOLEAN;refCon: LONGINT;
|
|
items: Handle): DialogPtr;
|
|
INLINE $AA4B;
|
|
FUNCTION NewCDialog(dStorage: Ptr;boundsRect: Rect;title: Str255;visible: BOOLEAN;
|
|
procID: INTEGER;behind: WindowPtr;goAwayFlag: BOOLEAN;refCon: LONGINT;
|
|
items: Handle): DialogPtr;
|
|
INLINE $AA4B;
|
|
FUNCTION GetAlertStage: INTEGER;
|
|
INLINE $3EB8,$0A9A;
|
|
FUNCTION GetAlrtStage: INTEGER;
|
|
INLINE $3EB8,$0A9A;
|
|
PROCEDURE ResetAlertStage;
|
|
INLINE $4278,$0A9A;
|
|
PROCEDURE ResetAlrtStage;
|
|
INLINE $4278,$0A9A;
|
|
PROCEDURE DialogCut(theDialog: DialogPtr);
|
|
PROCEDURE DlgCut(theDialog: DialogPtr);
|
|
PROCEDURE DialogPaste(theDialog: DialogPtr);
|
|
PROCEDURE DlgPaste(theDialog: DialogPtr);
|
|
PROCEDURE DialogCopy(theDialog: DialogPtr);
|
|
PROCEDURE DlgCopy(theDialog: DialogPtr);
|
|
PROCEDURE DialogDelete(theDialog: DialogPtr);
|
|
PROCEDURE DlgDelete(theDialog: DialogPtr);
|
|
PROCEDURE SetDialogFont(fontNum: INTEGER);
|
|
INLINE $31DF,$0AFA;
|
|
PROCEDURE SetDAFont(fontNum: INTEGER);
|
|
INLINE $31DF,$0AFA;
|
|
|
|
PROCEDURE AppendDITL(theDialog: DialogPtr;theHandle: Handle;method: DITLMethod);
|
|
FUNCTION CountDITL(theDialog: DialogPtr): INTEGER;
|
|
PROCEDURE ShortenDITL(theDialog: DialogPtr;numberItems: INTEGER);
|
|
|
|
FUNCTION StdFilterProc(theDialog: DialogPtr;event: EventRecord;VAR itemHit: INTEGER): BOOLEAN;
|
|
FUNCTION GetStdFilterProc(VAR theProc: ProcPtr ): OSErr;
|
|
INLINE $303C,$0203,$AA68;
|
|
FUNCTION SetDialogDefaultItem(theDialog: DialogPtr; newItem: INTEGER): OSErr;
|
|
INLINE $303C,$0304,$AA68;
|
|
FUNCTION SetDialogCancelItem(theDialog: DialogPtr; newItem: INTEGER): OSErr;
|
|
INLINE $303C,$0305,$AA68;
|
|
FUNCTION SetDialogTracksCursor(theDialog: DialogPtr; tracks: Boolean):OSErr;
|
|
INLINE $303C,$0306,$AA68;
|
|
|
|
|
|
{$ENDC} { UsingDialogs }
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|
|
|