/* File: Dialogs.r Contains: Dialog Manager interfaces. Version: Technology: Mac OS 8.1 Release: QuickTime 4.0 Copyright: © 1985-1998 by Apple Computer, Inc., all rights reserved Bugs?: For bug reports, consult the following page on the World Wide Web: http://developer.apple.com/bugreporter/ */ #ifndef __DIALOGS_R__ #define __DIALOGS_R__ #ifndef __CONDITIONALMACROS_R__ #include "ConditionalMacros.r" #endif #ifndef __MACWINDOWS_R__ #include "MacWindows.r" /* for 'wctb' */ #endif /* Alert types to pass into StandardAlert */ #define kAlertStopAlert 0 #define kAlertNoteAlert 1 #define kAlertCautionAlert 2 #define kAlertPlainAlert 3 #define kAlertDefaultOKText (-1) /* "OK" */ #define kAlertDefaultCancelText (-1) /* "Cancel" */ #define kAlertDefaultOtherText (-1) /* "Don't Save" */ #define kAlertStdAlertOKButton 1 #define kAlertStdAlertCancelButton 2 #define kAlertStdAlertOtherButton 3 #define kAlertStdAlertHelpButton 4 /* Dialog Flags for use in NewFeaturesDialog or dlgx resource */ #define kDialogFlagsUseThemeBackground 0x01 #define kDialogFlagsUseControlHierarchy 0x02 #define kDialogFlagsHandleMovableModal 0x04 #define kDialogFlagsUseThemeControls 0x08 /* Alert Flags for use in alrx resource */ #define kAlertFlagsUseThemeBackground 0x01 #define kAlertFlagsUseControlHierarchy 0x02 #define kAlertFlagsAlertIsMovable 0x04 #define kAlertFlagsUseThemeControls 0x08 #define kDialogFontNoFontStyle 0 #define kDialogFontUseFontMask 0x0001 #define kDialogFontUseFaceMask 0x0002 #define kDialogFontUseSizeMask 0x0004 #define kDialogFontUseForeColorMask 0x0008 #define kDialogFontUseBackColorMask 0x0010 #define kDialogFontUseModeMask 0x0020 #define kDialogFontUseJustMask 0x0040 #define kDialogFontUseAllMask 0x00FF #define kDialogFontAddFontSizeMask 0x0100 #define kDialogFontUseFontNameMask 0x0200 #define kDialogFontAddToMetaFontMask 0x0400 /*----------------------------wctb ¥ Alert Color Lookup Table--------------------------*/ type 'actb' as 'wctb'; /*----------------------------ALRT ¥ Alert Template-------------------------------------*/ /* ALRT_RezTemplateVersion: 0 - original <-- default 1 - additional positioning info at end */ #ifndef ALRT_RezTemplateVersion #define ALRT_RezTemplateVersion 1 #endif type 'ALRT' { rect; /* boundsRect */ integer; /* 'DITL' ID */ /* NOTE: the stages are ordered 4, 3, 2, 1 */ wide array [4] { boolean OK, Cancel; /* Bold Outline */ boolean invisible, visible; /* Draw Alert */ unsigned bitstring[2] silent = 0 sound1, sound2, sound3; /* Beeps */ }; #if ALRT_RezTemplateVersion == 1 /* The following are alert positioning options used by System 7.0 and later */ unsigned integer noAutoCenter = 0x0000, centerMainScreen = 0x280a, alertPositionMainScreen = 0x300a, staggerMainScreen = 0x380a, centerParentWindow = 0xa80a, alertPositionParentWindow = 0xb00a, staggerParentWindow = 0xb80a, centerParentWindowScreen = 0x680a, alertPositionParentWindowScreen = 0x700a, staggerParentWindowScreen = 0x780a; #endif }; /* stages for ALRT */ #define silentStage OK, visible, silent #define silentStages { silentStage; silentStage; silentStage; silentStage; } #define beepStage OK, visible, sound1 #define beepStages { beepStage; beepStage; beepStage; beepStage; } /*----------------------------dctb ¥ Dialog Color Lookup Table--------------------------*/ type 'dctb' as 'wctb'; /*----------------------------DITL ¥ Dialog Item List-----------------------------------*/ type 'DITL' { integer = $$CountOf(DITLarray) - 1; /* Array size */ wide array DITLarray { fill long; rect; /* Item bounds */ switch { case HelpItem: /* Help Mgr type item */ boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 1; /* this is a new type = 1 */ switch { case HMScanhdlg: byte = 4; /* sizeola */ key int = 1; /* key value */ integer; /* resource ID */ case HMScanhrct: byte = 4; /* sizeola */ key int = 2; /* key value */ integer; /* resource ID */ case HMScanAppendhdlg: byte = 6; /* sizeola */ key int = 8; /* key value */ integer; /* resource ID */ integer; /* offset (zero based) */ }; case Button: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 4; pstring; /* Title */ case CheckBox: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 5; pstring; /* Title */ case RadioButton: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 6; pstring; /* Title */ case Control: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 7; byte = 2; integer; /* 'CTRL' ID */ case StaticText: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 8; pstring; /* Text */ #if !TARGET_OS_MAC case StaticTextRightJust: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 9; pstring; /* Text */ case EditTextScrollable: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 17; pstring; /* Text */ case EditTextReadOnlyScrollable: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 18; pstring; /* Text */ #endif case EditText: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 16; pstring; /* Text */ case Icon: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 32; byte = 2; integer; /* 'ICON' ID */ case Picture: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 64; byte = 2; integer; /* 'PICT' ID */ case UserItem: boolean enabled,disabled; /* Enable flag */ key bitstring[7] = 0; byte = 0; }; align word; }; }; /*----------------------------DLOG ¥ Dialog Template------------------------------------*/ /* DLOG_RezTemplateVersion: 0 - original <-- default 1 - additional positioning info at end */ #ifndef DLOG_RezTemplateVersion #define DLOG_RezTemplateVersion 1 #endif type 'DLOG' { rect; /* boundsRect */ integer documentProc, /* procID */ dBoxProc, plainDBox, altDBoxProc, noGrowDocProc, movableDBoxProc, zoomDocProc = 8, zoomNoGrow = 12, rDocProc = 16; byte invisible, visible; /* visible */ fill byte; byte noGoAway, goAway; /* goAway */ fill byte; unsigned hex longint; /* refCon */ integer; /* 'DITL' ID */ pstring; /* title */ #if DLOG_RezTemplateVersion == 1 /* The following are window positioning options used by System 7.0 and later */ align word; unsigned integer noAutoCenter = 0x0000, centerMainScreen = 0x280a, alertPositionMainScreen = 0x300a, staggerMainScreen = 0x380a, centerParentWindow = 0xa80a, alertPositionParentWindow = 0xb00a, staggerParentWindow = 0xb80a, centerParentWindowScreen = 0x680a, alertPositionParentWindowScreen = 0x700a, staggerParentWindowScreen = 0x780a; #endif }; /*----------------------------alrx ¥ Extended Alert Template---------------------------*/ type 'alrx' { switch { case versionZero: key integer=0; unsigned longint; /* flags */ longint; /* refCon */ byte kUseClassicWindow, kUseThemeWindow; /* Window type */ fill byte; /* filler */ fill long; /* filler */ fill long; /* filler */ fill long; /* filler */ fill long; /* filler */ pstring; /* title (movable only) */ case versionOne: key integer=1; unsigned longint; /* flags */ longint; /* refCon */ byte kUseClassicWindow, kUseThemeWindow; /* Window type */ fill byte; /* filler */ pstring; /* title (movable only) */ }; }; /*----------------------------dlgx ¥ Extended Dialog Template---------------------------*/ type 'dlgx' { switch { case versionZero: key integer=0; unsigned longint; /* flags */ }; }; /*-----------------------------dftb ¥ Dialog Control Font Table--------------------------*/ type 'dftb' { switch { case versionZero: key integer = 0; /* version */ integer = $$Countof(FontStyle); array FontStyle { switch { case skipItem: key integer=0; case dataItem: key integer=1;integer; /* Flags */ integer; /* Font ID */ integer; /* Font Size */ integer; /* Font Style */ integer; /* Text Mode */ integer; /* Justification */ unsigned integer; /* ForeColor: red */ unsigned integer; /* green */ unsigned integer; /* blue */ unsigned integer; /* BackColor: red */ unsigned integer; /* green */ unsigned integer; /* blue */ pstring; /* Font Name */ }; }; }; }; #endif /* __DIALOGS_R__ */