/* File: BalloonTypes.r Contains: Resource declarations for Balloon Help Resource types Copyright: © 1989-1992 by Apple Computer, Inc., all rights reserved. Change History (most recent first): <6> 6/24/92 DCL Changed #ifndef __BALLOONTYPES.R__ to __BALLOONTYPES_R__ at the request of the MPW team (3.2.3 rez broke on the periods) <5> 8/8/91 JL Updated Copyright. Put conditional wrapper around entire file. <4> 1/30/91 RLC Changed the use of hmpic to hmpict as that is the 'new' convention. <3> 8/31/90 RLC Update #defines again. <1+> 8/17/90 RLC Add some well known constants to the file. <1> 7/24/90 RLC Moved from {Toolbox}HelpMgr to {RIncludes}. <6+> 6/22/90 RLC Add 'hfdr' resource for getting application info balloons in finder windows. <5+> 4/5/90 RLC Add 'hovr' type to allow the override of some system help msgs. <4+> 2/8/90 RLC Update types. <3> 1/11/90 RLC Fix HMSkipItem case in hrct type. <1+> 1/4/90 RLC Change to the new resource format <1.7> 11/30/89 RLC Add some new options to hmnu & hdlg types. <1.6> 11/16/89 RLC Update 'hrct' resource type declaration by removing hotRect parameter. <1.5> 11/15/89 RLC Update to handle the correct help message types (soon to change). <1.4> 11/13/89 RLC Updated 'hdlg' resource structure to include tip & altRect parameters. <1.3> 11/9/89 RLC Add HMUserItemID define. <1.2> 10/1/89 RLC Updated HMBalloonRect for HelpMsg types: StyledTE & STR. <1.1> 9/13/89 RLC Removed 'HMReuse' item from types. <1.0> 9/12/89 RLC Created Today. To Do: */ #ifndef __BALLOONTYPES_R__ #define __BALLOONTYPES_R__ #define HelpMgrVersion 2 /* version of Help Manager */ #define kHMHelpID -5696 /* resource ID of Help Manager resources */ #define kHMHelpMenuID -16490 /* resource ID of Help Manager Menu resource */ #define kBalloonWDEFID 126 /* resource ID of Balloon WDEF procedure */ /* Option bits for help manager resources */ #define hmDefaultOptions 0 /* default options for help manager resources */ #define hmUseSubID 1 /* treat resID's in resources as subID's of driver base ID (for Desk Accessories) */ #define hmAbsoluteCoords 2 /* ignore window port origin and treat rectangles as absolute coords (local to window) */ #define hmSaveBitsNoWindow 4 /* don't create a window, just blast bits on screen. No update event is generated */ #define hmSaveBitsWindow 8 /* create a window, but restore bits behind window when window goes away & generate update event */ #define hmMatchInTitle 16 /* for hwin resources, match string anywhere in window title string */ /* Generic defines for the switch items used in 'hrct', 'hmnu', & 'hdlg's */ #define HMStringItemID 1 /* pstring is used in help message */ #define HMPictItemID 2 /* 'PICT' resource ID is used in help message */ #define HMStringResItemID 3 /* 'STR#' resource ID and index is used in help message */ #define HMTEResItemID 6 /* Styled Text Edit resources are used in help message */ #define HMSTRResItemID 7 /* 'STR ' resource ID is used in help message */ #define HMSkipItemID 256 /* don't display a balloon */ #define HMCompareItemID 512 /* for hmnu resources, compare menu item to string and use help msg if match */ #define HMNamedResourceID 1024 /* for hmnu resources, use menu item as call to GetNamedResource() to fetch resource */ #define HMTrackCntlID 2048 /* not yet implemented, reserved */ /*----------------------------hmnu • Help Mgr Menu Balloon Template----------------------------*/ type 'hmnu' { integer; /* Help Version */ longint; /* Options */ integer; /* Balloon ProcID */ integer; /* Balloon variant */ integer = $$CountOf(HMenuArray); /* Count of menu items (below) */ switch { /* Special Message for missing array items */ case HMStringItem: hmnuMissStringBeg: integer = (hmnuMissStringEnd - hmnuMissStringBeg) / 8; key int = HMStringItemID; pstring; /* missing HMenuArray items (Enabled) */ pstring; /* missing HMenuArray items (Disabled) */ pstring; /* missing HMenuArray items (checked) */ pstring; /* missing HMenuArray items (other) */ align word; /* always word align the code for the pstring */ hmnuMissStringEnd: case HMPictItem: hmnuMissPictBeg: integer = (hmnuMissPictEnd - hmnuMissPictBeg) / 8; key int = HMPictItemID; integer; /* use for missing HMenuArray items */ integer; /* use for missing HMenuArray items */ integer; /* use for missing HMenuArray items */ integer; /* use for missing HMenuArray items */ hmnuMissPictEnd: case HMStringResItem: hmnuMissStringResBeg: integer = (hmnuMissStringResEnd - hmnuMissStringResBeg) / 8; key int = HMStringResItemID; integer; integer; /* Miss or 0 HMenuArray STR# res ID, index # */ integer; integer; /* Miss or 0 HMenuArray STR# res ID, index # */ integer; integer; /* Miss or 0 HMenuArray STR# res ID, index # */ integer; integer; /* Miss or 0 HMenuArray STR# res ID, index # */ hmnuMissStringResEnd: case HMTEResItem: hmnuMissTEResBeg: integer = (hmnuMissTEResEnd - hmnuMissTEResBeg) / 8; key int = HMTEResItemID; integer; /* use for missing HMenuArray items */ integer; /* use for missing HMenuArray items */ integer; /* use for missing HMenuArray items */ integer; /* use for missing HMenuArray items */ hmnuMissTEResEnd: case HMSTRResItem: hmnuMissSTRResBeg: integer = (hmnuMissSTRResEnd - hmnuMissSTRResBeg) / 8; key int = HMSTRResItemID; integer; /* use for missing HMenuArray items */ integer; /* use for missing HMenuArray items */ integer; /* use for missing HMenuArray items */ integer; /* use for missing HMenuArray items */ hmnuMissSTRResEnd: case HMSkipItem: hmnuMissSkipBeg: integer = (hmnuMissSkipEnd - hmnuMissSkipBeg) / 8; key int = HMSkipItemID; /* use when there is no missing msg */ hmnuMissSkipEnd: }; array HMenuArray { switch { case HMStringItem: hmnuStringBeg: integer = (hmnuStringEnd[$$ArrayIndex(HMenuArray)] - hmnuStringBeg[$$ArrayIndex(HMenuArray)]) / 8; key int = HMStringItemID; pstring; /* Enabled menu message string */ pstring; /* Disabled menu message string */ pstring; /* Checked menu message string */ pstring; /* other menu message string */ align word; hmnuStringEnd: case HMPictItem: hmnuPictBeg: integer = (hmnuPictEnd[$$ArrayIndex(HMenuArray)] - hmnuPictBeg[$$ArrayIndex(HMenuArray)]) / 8; key int = HMPictItemID; integer; /* Enabled menu message pict ID */ integer; /* Disabled menu message pict ID */ integer; /* Checked menu message pict ID */ integer; /* other menu message pict ID */ hmnuPictEnd: case HMStringResItem: hmnuStringResBeg: integer = (hmnuStringResEnd[$$ArrayIndex(HMenuArray)] - hmnuStringResBeg[$$ArrayIndex(HMenuArray)]) / 8; key int = HMStringResItemID; integer; integer; /* Enabled STR# res ID, index # */ integer; integer; /* Disabled STR# res ID, index # */ integer; integer; /* Checked menu message STR# res ID, index # */ integer; integer; /* other menu message STR# res ID, index # */ hmnuStringResEnd: case HMTEResItem: hmnuTEResBeg: integer = (hmnuTEResEnd[$$ArrayIndex(HMenuArray)] - hmnuTEResBeg[$$ArrayIndex(HMenuArray)]) / 8; key int = HMTEResItemID; integer; /* Enabled menu message TERes ID */ integer; /* Disabled menu message TERes ID */ integer; /* Checked message TERes ID */ integer; /* other menu message TERes ID */ hmnuTEResEnd: case HMSTRResItem: hmnuSTRResBeg: integer = (hmnuSTRResEnd[$$ArrayIndex(HMenuArray)] - hmnuSTRResBeg[$$ArrayIndex(HMenuArray)]) / 8; key int = HMSTRResItemID; integer; /* Enabled menu message STR ID */ integer; /* Disabled menu message STR ID */ integer; /* Checked message STR ID */ integer; /* other menu message STR ID */ hmnuSTRResEnd: case HMSkipItem: hmnuSkipBeg: integer = (hmnuSkipEnd[$$ArrayIndex(HMenuArray)] - hmnuSkipBeg[$$ArrayIndex(HMenuArray)]) / 8; key int = HMSkipItemID; hmnuSkipEnd: case HMCompareItem: hmnuCompareBeg: integer = (hmnuCompareEnd[$$ArrayIndex(HMenuArray)] - hmnuCompareBeg[$$ArrayIndex(HMenuArray)]) / 8; key int = HMCompareItemID; pstring; /* if itemstr matches, use this item, else goto next item */ align word; switch { /* case the message type */ case HMStringItem: key int = HMStringItemID; pstring; /* Enabled menu message string */ pstring; /* Disabled menu message string */ pstring; /* Checked menu message string */ pstring; /* other menu message string */ align word; case HMPictItem: key int = HMPictItemID; integer; /* Enabled menu message pict ID */ integer; /* Disabled menu message pict ID */ integer; /* Checked menu message pict */ integer; /* other menu message pict */ case HMStringResItem: key int = HMStringResItemID; integer; integer; /* Enabled STR# res ID, index # */ integer; integer; /* Disabled STR# res ID, index # */ integer; integer; /* Checked menu message STR# res ID, index # */ integer; integer; /* other menu message STR# res ID, index # */ case HMTEResItem: key int = HMTEResItemID; integer; /* Enabled menu message TERes ID */ integer; /* Disabled menu message TERes ID */ integer; /* Checked menu message TERes ID */ integer; /* other menu message TERes ID */ case HMSTRResItem: key int = HMSTRResItemID; integer; /* Enabled menu message STR ID */ integer; /* Disabled menu message STR ID */ integer; /* Checked menu message STR ID */ integer; /* other menu message STR ID */ case HMSkipItem: key int = HMSkipItemID; }; hmnuCompareEnd: case HMNamedResourceItem: hmnuNamedResBeg: integer = (hmnuNamedResEnd[$$ArrayIndex(HMenuArray)] - hmnuNamedResBeg[$$ArrayIndex(HMenuArray)]) / 8; key int = HMNamedResourceID; literal longint; /* res type of resource to fetch, using item name */ hmnuNamedResEnd: }; }; }; /*----------------------------hdlg • Help Mgr Dialog Balloon Template--------------------------*/ type 'hdlg' { integer; /* Help Version */ integer; /* item # (0-based) of first DITL item */ longint; /* Options */ integer; /* Balloon ProcID */ integer; /* Balloon variant */ integer = $$CountOf(HDialogArray); /* Count of HDialogArray items */ switch { /* Special Messages for missing array items */ case HMStringItem: hdlgMissStringBeg: integer = (hdlgMissStringEnd - hdlgMissStringBeg) / 8; key int = HMStringItemID; point; /* tip */ rect; /* hotRect */ pstring; /* use for missing HDialogArray items */ pstring; /* use for missing HDialogArray items */ pstring; /* use for missing HDialogArray items */ pstring; /* use for missing HDialogArray items */ align word; /* always word align the code for the pstring */ hdlgMissStringEnd: case HMPictItem: hdlgMissPictBeg: integer = (hdlgMissPictEnd - hdlgMissPictBeg) / 8; key int = HMPictItemID; point; /* tip */ rect; /* hotRect */ integer; /* use for missing HDialogArray items */ integer; /* use for missing HDialogArray items */ integer; /* use for missing HDialogArray items */ integer; /* use for missing HDialogArray items */ hdlgMissPictEnd: case HMStringResItem: hdlgMissStringResBeg: integer = (hdlgMissStringResEnd - hdlgMissStringResBeg) / 8; key int = HMStringResItemID; point; /* tip */ rect; /* hotRect */ integer; integer; /* Miss or 0 HDialogArray STR# res ID, index # */ integer; integer; /* Miss or 0 HDialogArray STR# res ID, index # */ integer; integer; /* Miss or 0 HDialogArray STR# res ID, index # */ integer; integer; /* Miss or 0 HDialogArray STR# res ID, index # */ hdlgMissStringResEnd: case HMTEResItem: hdlgMissTEResBeg: integer = (hdlgMissTEResEnd - hdlgMissTEResBeg) / 8; key int = HMTEResItemID; point; /* tip */ rect; /* hotRect */ integer; /* use for missing HDialogArray items */ integer; /* use for missing HDialogArray items */ integer; /* use for missing HDialogArray items */ integer; /* use for missing HDialogArray items */ hdlgMissTEResEnd: case HMSTRResItem: hdlgMissSTRResBeg: integer = (hdlgMissSTRResEnd - hdlgMissSTRResBeg) / 8; key int = HMSTRResItemID; point; /* tip */ rect; /* hotRect */ integer; /* use for missing HDialogArray items */ integer; /* use for missing HDialogArray items */ integer; /* use for missing HDialogArray items */ integer; /* use for missing HDialogArray items */ hdlgMissSTRResEnd: case HMSkipItem: hdlgMissSkipBeg: integer = (hdlgMissSkipEnd - hdlgMissSkipBeg) / 8; key int = HMSkipItemID; /* use when there is no missing msg */ hdlgMissSkipEnd: }; /* this is an array of records corresponding to dialog items in a dialog */ array HDialogArray { switch { case HMStringItem: hdlgStringBeg: integer = (hdlgStringEnd[$$ArrayIndex(HDialogArray)] - hdlgStringBeg[$$ArrayIndex(HDialogArray)]) / 8; key int = HMStringItemID; /* helpType */ point; /* tip */ rect; /* hotRect */ pstring; /* Enabled dialog item message string */ pstring; /* Disabled dialog item message string */ pstring; /* Checked dialog item message string */ pstring; /* other dialog item message string */ align word; /* always word align the code */ hdlgStringEnd: case HMPictItem: hdlgPictBeg: integer = (hdlgPictEnd[$$ArrayIndex(HDialogArray)] - hdlgPictBeg[$$ArrayIndex(HDialogArray)]) / 8; key int = HMPictItemID; /* helpType */ point; /* tip */ rect; /* hotRect */ integer; /* Enabled dialog item message pict ID */ integer; /* Disabled dialog item message pict ID */ integer; /* Checked dialog item message pict ID */ integer; /* other dialog item message pict ID */ hdlgPictEnd: case HMStringResItem: hdlgStringResBeg: integer = (hdlgStringResEnd[$$ArrayIndex(HDialogArray)] - hdlgStringResBeg[$$ArrayIndex(HDialogArray)]) / 8; key int = HMStringResItemID; /* helpType */ point; /* tip */ rect; /* hotRect */ integer; integer; /* Enabled STR# res ID, index # */ integer; integer; /* Disabled STR# res ID, index # */ integer; integer; /* Checked STR# res ID, index # */ integer; integer; /* other STR# res ID, index # */ hdlgStringResEnd: case HMTEResItem: hdlgTEResBeg: integer = (hdlgTEResEnd[$$ArrayIndex(HDialogArray)] - hdlgTEResBeg[$$ArrayIndex(HDialogArray)]) / 8; key int = HMTEResItemID; /* helpType */ point; /* tip */ rect; /* hotRect */ integer; /* Enabled dialog item message TERes ID */ integer; /* Disabled item message TERes ID */ integer; /* Checked item message TERes ID */ integer; /* other item message TERes ID */ hdlgTEResEnd: case HMSTRResItem: hdlgSTRResBeg: integer = (hdlgSTRResEnd[$$ArrayIndex(HDialogArray)] - hdlgSTRResBeg[$$ArrayIndex(HDialogArray)]) / 8; key int = HMSTRResItemID; /* helpType */ point; /* tip */ rect; /* hotRect */ integer; /* Enabled dialog item message STR ID */ integer; /* Disabled dialog item message STR ID */ integer; /* Checked dialog item message STR ID */ integer; /* other dialog item message STR ID */ hdlgSTRResEnd: case HMSkipItem: hdlgSkipBeg: integer = (hdlgSkipEnd[$$ArrayIndex(HDialogArray)] - hdlgSkipBeg[$$ArrayIndex(HDialogArray)]) / 8; key int = HMSkipItemID; hdlgSkipEnd: }; }; }; /*----------------------------hwin • Help Mgr Window Balloon Template--------------------------*/ type 'hwin' { integer; /* Help Version */ longint; /* Options */ integer = $$CountOf(HWinArray); /* Count */ array HWinArray { integer; /* resource ID for help template */ literal longint; /* res type of template (hdlg or hrct) */ integer; /* len of comparison string */ pstring; /* comparison string for window title */ align word; }; }; /*----------------------------hrct • Help Mgr Rectangle List Template-------------------------*/ type 'hrct' { integer; /* Help Version */ longint; /* Options */ integer; /* Balloon ProcID */ integer; /* Balloon Variant */ integer = $$CountOf(HRectArray); /* Count of hrct Msgs */ array HRectArray { switch { case HMStringItem: hrctStringBeg: integer = (hrctStringEnd[$$ArrayIndex(HRectArray)] - hrctStringBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMStringItemID; /* helpType */ point; /* tip */ rect; /* hotRect */ pstring; /* STR255 */ align word; /* keep aligned */ hrctStringEnd: case HMPictItem: hrctPictBeg: integer = (hrctPictEnd[$$ArrayIndex(HRectArray)] - hrctPictBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMPictItemID; /* helpType */ point; /* tip */ rect; /* hotRect */ integer; /* Picture Res ID */ hrctPictEnd: case HMStringResItem: hrctStringResBeg: integer = (hrctStringResEnd[$$ArrayIndex(HRectArray)] - hrctStringResBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMStringResItemID;/* helpType */ point; /* tip */ rect; /* hotRect */ integer; integer; /* STR# ID, index # */ hrctStringResEnd: case HMTEResItem: hrctTEResBeg: integer = (hrctTEResEnd[$$ArrayIndex(HRectArray)] - hrctTEResBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMTEResItemID; /* helpType */ point; /* tip */ rect; /* hotRect */ integer; /* TextEdit res ID */ hrctTEResEnd: case HMSTRResItem: hrctSTRResBeg: integer = (hrctSTRResEnd[$$ArrayIndex(HRectArray)] - hrctSTRResBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMSTRResItemID; /* helpType */ point; /* tip */ rect; /* hotRect */ integer; /* STR res ID */ hrctSTRResEnd: case HMSkipItem: hrctSkipBeg: integer = (hrctSkipEnd[$$ArrayIndex(HRectArray)] - hrctSkipBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMSkipItemID; /* skip item (leave a hole) */ point; /* tip options (keep same structure as other items) */ rect; /* skip this rect */ hrctSkipEnd: case HMTrackControlStringItem: hrctTCStringBeg: integer = (hrctTCStringEnd[$$ArrayIndex(HRectArray)] - hrctTCStringBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMStringItemID+HMTrackCntlID; point; /* tip */ rect; /* hotRect */ pstring; /* Enabled control message string */ pstring; /* Disabled control message string */ pstring; /* Checked control message string */ pstring; /* other control message string */ align word; /* keep aligned */ hrctTCStringEnd: case HMTrackControlPictItem: hrctTCPictBeg: integer = (hrctTCPictEnd[$$ArrayIndex(HRectArray)] - hrctTCPictBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMPictItemID+HMTrackCntlID; point; /* tip */ rect; /* hotRect */ integer; /* Enabled control message pict ID */ integer; /* Disabled control message pict ID */ integer; /* Checked control message pict ID */ integer; /* other control message pict ID */ hrctTCPictEnd: case HMTrackControlStringResItem: hrctTCStringResBeg: integer = (hrctTCStringResEnd[$$ArrayIndex(HRectArray)] - hrctTCStringResBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMStringResItemID+HMTrackCntlID; point; /* tip */ rect; /* hotRect */ integer; integer; /* Enabled STR# res ID, index # */ integer; integer; /* Disabled STR# res ID, index # */ integer; integer; /* Checked STR# res ID, index # */ integer; integer; /* other STR# res ID, index # */ hrctTCStringResEnd: case HMTrackControlTEResItem: hrctTCTEResBeg: integer = (hrctTCTEResEnd[$$ArrayIndex(HRectArray)] - hrctTCTEResBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMTEResItemID+HMTrackCntlID; point; /* tip */ rect; /* hotRect */ integer; /* Enabled TextEdit hdl spec ID */ integer; /* Disabled TextEdit hdl spec ID */ integer; /* Checked TextEdit hdl spec ID */ integer; /* other TextEdit hdl spec ID */ hrctTCTEResEnd: case HMTrackControlSTRResItem: hrctTCSTRResBeg: integer = (hrctTCSTRResEnd[$$ArrayIndex(HRectArray)] - hrctTCSTRResBeg[$$ArrayIndex(HRectArray)]) / 8; key int = HMSTRResItemID+HMTrackCntlID; point; /* tip */ rect; /* hotRect */ integer; /* Enabled control message STR ID */ integer; /* Disabled control message STR ID */ integer; /* Checked control message STR ID */ integer; /* other control message STR ID */ hrctTCSTRResEnd: }; }; }; /*----------------------------hovr • Help Mgr Override Resource Template-------------------------*/ type 'hovr' { integer; /* Help Version */ longint; /* Options */ integer; /* Balloon ProcID */ integer; /* Balloon variant */ integer = $$CountOf(HOverrideArray); /* Count of array items (below) */ switch { /* Special Message for missing array items */ case HMStringItem: hovrMissStringBeg: integer = (hovrMissStringEnd - hovrMissStringBeg) / 8; key int = HMStringItemID; pstring; /* missing HOverrideArray item */ align word; /* always word align the code for the pstring */ hovrMissStringEnd: case HMPictItem: hovrMissPictBeg: integer = (hovrMissPictEnd - hovrMissPictBeg) / 8; key int = HMPictItemID; integer; /* missing HOverrideArray item */ hovrMissPictEnd: case HMStringResItem: hovrMissStringResBeg: integer = (hovrMissStringResEnd - hovrMissStringResBeg) / 8; key int = HMStringResItemID; integer; integer; /* Miss or 0 HOverrideArray STR# res ID, index # */ hovrMissStringResEnd: case HMTEResItem: hovrMissTEResBeg: integer = (hovrMissTEResEnd - hovrMissTEResBeg) / 8; key int = HMTEResItemID; integer; /* use for missing HOverrideArray items */ hovrMissTEResEnd: case HMSTRResItem: hovrMissSTRResBeg: integer = (hovrMissSTRResEnd - hovrMissSTRResBeg) / 8; key int = HMSTRResItemID; integer; /* use for missing HOverrideArray items */ hovrMissSTRResEnd: case HMSkipItem: hovrMissSkipBeg: integer = (hovrMissSkipEnd - hovrMissSkipBeg) / 8; key int = HMSkipItemID; /* use when there is no missing msg */ hovrMissSkipEnd: }; array HOverrideArray { switch { case HMStringItem: hovrStringBeg: integer = (hovrStringEnd[$$ArrayIndex(HOverrideArray)] - hovrStringBeg[$$ArrayIndex(HOverrideArray)]) / 8; key int = HMStringItemID; pstring; /* message string */ align word; hovrStringEnd: case HMPictItem: hovrPictBeg: integer = (hovrPictEnd[$$ArrayIndex(HOverrideArray)] - hovrPictBeg[$$ArrayIndex(HOverrideArray)]) / 8; key int = HMPictItemID; integer; /* message pict ID */ hovrPictEnd: case HMStringResItem: hovrStringResBeg: integer = (hovrStringResEnd[$$ArrayIndex(HOverrideArray)] - hovrStringResBeg[$$ArrayIndex(HOverrideArray)]) / 8; key int = HMStringResItemID; integer; integer; /* STR# res ID, index # */ hovrStringResEnd: case HMTEResItem: hovrTEResBeg: integer = (hovrTEResEnd[$$ArrayIndex(HOverrideArray)] - hovrTEResBeg[$$ArrayIndex(HOverrideArray)]) / 8; key int = HMTEResItemID; integer; /* message TERes ID */ hovrTEResEnd: case HMSTRResItem: hovrSTRResBeg: integer = (hovrSTRResEnd[$$ArrayIndex(HOverrideArray)] - hovrSTRResBeg[$$ArrayIndex(HOverrideArray)]) / 8; key int = HMSTRResItemID; integer; /* message STR ID */ hovrSTRResEnd: case HMSkipItem: hovrSkipBeg: integer = (hovrSkipEnd[$$ArrayIndex(HOverrideArray)] - hovrSkipBeg[$$ArrayIndex(HOverrideArray)]) / 8; key int = HMSkipItemID; hovrSkipEnd: }; }; }; /*----------------------------hfdr • Help Mgr Finder Application Balloon Template-------------------------*/ type 'hfdr' { integer; /* Help Version */ longint; /* Options */ integer; /* Balloon ProcID */ integer; /* Balloon Variant */ integer = $$CountOf(HFdrArray); /* Count of hfdr Msgs */ array HFdrArray { switch { case HMStringItem: hfdrStringBeg: integer = (hfdrStringEnd[$$ArrayIndex(HFdrArray)] - hfdrStringBeg[$$ArrayIndex(HFdrArray)]) / 8; key int = HMStringItemID; /* helpType */ pstring; /* STR255 */ align word; /* keep aligned */ hfdrStringEnd: case HMPictItem: hfdrPictBeg: integer = (hfdrPictEnd[$$ArrayIndex(HFdrArray)] - hfdrPictBeg[$$ArrayIndex(HFdrArray)]) / 8; key int = HMPictItemID; /* helpType */ integer; /* Picture Res ID */ hfdrPictEnd: case HMStringResItem: hfdrStringResBeg: integer = (hfdrStringResEnd[$$ArrayIndex(HFdrArray)] - hfdrStringResBeg[$$ArrayIndex(HFdrArray)]) / 8; key int = HMStringResItemID;/* helpType */ integer; integer; /* STR# ID, index # */ hfdrStringResEnd: case HMTEResItem: hfdrTEResBeg: integer = (hfdrTEResEnd[$$ArrayIndex(HFdrArray)] - hfdrTEResBeg[$$ArrayIndex(HFdrArray)]) / 8; key int = HMTEResItemID; /* helpType */ integer; /* TextEdit res ID */ hfdrTEResEnd: case HMSTRResItem: hfdrSTRResBeg: integer = (hfdrSTRResEnd[$$ArrayIndex(HFdrArray)] - hfdrSTRResBeg[$$ArrayIndex(HFdrArray)]) / 8; key int = HMSTRResItemID; /* helpType */ integer; /* STR res ID */ hfdrSTRResEnd: case HMSkipItem: hfdrSkipBeg: integer = (hfdrSkipEnd[$$ArrayIndex(HFdrArray)] - hfdrSkipBeg[$$ArrayIndex(HFdrArray)]) / 8; key int = HMSkipItemID; /* skip item (leave a hole) */ hfdrSkipEnd: }; }; }; #endif __BALLOONTYPES_R__