Mac OS 9
Dialogs.h
Go to the documentation of this file.
1 
19 #ifndef __DIALOGS__
20 #define __DIALOGS__
21 
22 #ifndef __MACTYPES__
23 #include <MacTypes.h>
24 #endif
25 
26 #ifndef __MIXEDMODE__
27 #include <MixedMode.h>
28 #endif
29 
30 #ifndef __EVENTS__
31 #include <Events.h>
32 #endif
33 
34 #ifndef __MACWINDOWS__
35 #include <MacWindows.h>
36 #endif
37 
38 #ifndef __TEXTEDIT__
39 #include <TextEdit.h>
40 #endif
41 
42 #ifndef __CONTROLS__
43 #include <Controls.h>
44 #endif
45 
46 #ifndef __MACERRORS__
47 #include <MacErrors.h>
48 #endif
49 
50 #ifndef __CARBONEVENTS__
51 #include <CarbonEvents.h>
52 #endif
53 
54 #if PRAGMA_ONCE
55 #pragma once
56 #endif
57 
58 #ifdef __cplusplus
59 extern "C"
60 {
61 #endif
62 
63 #if PRAGMA_IMPORT
64 #pragma import on
65 #endif
66 
67 #if PRAGMA_STRUCT_ALIGN
68 #pragma options align = mac68k
69 #elif PRAGMA_STRUCT_PACKPUSH
70 #pragma pack(push, 2)
71 #elif PRAGMA_STRUCT_PACK
72 #pragma pack(2)
73 #endif
74 
75  enum
76  {
79  kButtonDialogItem = kControlDialogItem | 0,
80  kCheckBoxDialogItem = kControlDialogItem | 1,
81  kRadioButtonDialogItem = kControlDialogItem | 2,
82  kResourceControlDialogItem = kControlDialogItem | 3,
83  kStaticTextDialogItem = 8,
84  kEditTextDialogItem = 16,
85  kIconDialogItem = 32,
86  kPictureDialogItem = 64,
87  kUserDialogItem = 0,
88  kHelpDialogItem = 1,
89  kItemDisableBit = 128
90  };
91 
92  enum
93  {
95  ctrlItem = 4,
96  btnCtrl = 0,
97  chkCtrl = 1,
98  radCtrl = 2,
99  resCtrl = 3,
100  statText = 8,
101  editText = 16,
102  iconItem = 32,
103  picItem = 64,
104  userItem = 0,
105  itemDisable = 128
106  };
107 
108  enum
109  {
112  kStdCancelItemIndex = 2,
114  cancel = kStdCancelItemIndex
115  };
116 
117  enum
118  {
121  kNoteIcon = 1,
122  kCautionIcon = 2,
124  noteIcon = kNoteIcon,
125  cautionIcon = kCautionIcon
126  };
127 
128 #if OLDROUTINENAMES
135  enum
136  {
137  kOkItemIndex = 1,
138  kCancelItemIndex = 2
139  };
140 
141 #endif
144  typedef SInt16 DITLMethod;
145  enum
146  {
147  overlayDITL = 0,
148  appendDITLRight = 1,
149  appendDITLBottom = 2
150  };
151 
152  typedef SInt16 StageList;
155 #if !OPAQUE_TOOLBOX_STRUCTS
157  {
159  Handle items;
161  SInt16 editField;
163  SInt16 editOpen;
164  SInt16 aDefItem;
165  };
166  typedef struct DialogRecord DialogRecord;
167  typedef DialogRecord *DialogPeek;
168 #endif
171  {
172  Rect boundsRect;
173  SInt16 procID;
174  Boolean visible;
175  Boolean filler1;
176  Boolean goAwayFlag;
177  Boolean filler2;
178  SInt32 refCon;
179  SInt16 itemsID;
180  Str255 title;
181  };
182  typedef struct DialogTemplate DialogTemplate;
183  typedef DialogTemplate *DialogTPtr;
184  typedef DialogTPtr *DialogTHndl;
186  {
187  Rect boundsRect;
188  SInt16 itemsID;
189  StageList stages;
190  };
191  typedef struct AlertTemplate AlertTemplate;
192  typedef AlertTemplate *AlertTPtr;
193  typedef AlertTPtr *AlertTHndl;
195  typedef SInt16 DialogItemIndexZeroBased;
196  typedef SInt16 DialogItemIndex;
197  typedef SInt16 DialogItemType;
199  typedef CALLBACK_API(void, SoundProcPtr)(SInt16 soundNumber);
200  typedef CALLBACK_API(Boolean, ModalFilterProcPtr)(DialogRef theDialog,
202  DialogItemIndex *itemHit);
204  typedef CALLBACK_API(Boolean, ModalFilterYDProcPtr)(DialogRef theDialog,
206  short *itemHit,
207  void *yourDataPtr);
208  typedef CALLBACK_API(void, UserItemProcPtr)(DialogRef theDialog,
209  DialogItemIndex itemNo);
210  typedef STACK_UPP_TYPE(SoundProcPtr) SoundUPP;
211  typedef STACK_UPP_TYPE(ModalFilterProcPtr) ModalFilterUPP;
212  typedef STACK_UPP_TYPE(ModalFilterYDProcPtr) ModalFilterYDUPP;
213  typedef STACK_UPP_TYPE(UserItemProcPtr) UserItemUPP;
214 #if CALL_NOT_IN_CARBON
223  SoundUPP
224  NewSoundUPP(SoundProcPtr userRoutine);
225 #if !OPAQUE_UPP_TYPES
226  enum
227  {
228  uppSoundProcInfo = 0x00000080
229  };
230 #ifdef __cplusplus
231  inline SoundUPP NewSoundUPP(SoundProcPtr userRoutine)
232  {
233  return (SoundUPP)NewRoutineDescriptor(
234  (ProcPtr)(userRoutine), uppSoundProcInfo, GetCurrentArchitecture());
235  }
236 #else
237 #define NewSoundUPP(userRoutine) \
238  (SoundUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppSoundProcInfo, \
239  GetCurrentArchitecture())
240 #endif
241 #endif
242 
243 #endif
253  ModalFilterUPP
254  NewModalFilterUPP(ModalFilterProcPtr userRoutine);
255 #if !OPAQUE_UPP_TYPES
256  enum
257  {
258  uppModalFilterProcInfo = 0x00000FD0
259  };
260 #ifdef __cplusplus
261  inline ModalFilterUPP NewModalFilterUPP(ModalFilterProcPtr userRoutine)
262  {
263  return (ModalFilterUPP)NewRoutineDescriptor(
264  (ProcPtr)(userRoutine), uppModalFilterProcInfo, GetCurrentArchitecture());
265  }
266 #else
267 #define NewModalFilterUPP(userRoutine) \
268  (ModalFilterUPP) \
269  NewRoutineDescriptor((ProcPtr)(userRoutine), uppModalFilterProcInfo, \
270  GetCurrentArchitecture())
271 #endif
272 #endif
273 
282  ModalFilterYDUPP
283  NewModalFilterYDUPP(ModalFilterYDProcPtr userRoutine);
284 #if !OPAQUE_UPP_TYPES
285  enum
286  {
287  uppModalFilterYDProcInfo = 0x00003FD0
288  };
289 #ifdef __cplusplus
290  inline ModalFilterYDUPP NewModalFilterYDUPP(ModalFilterYDProcPtr userRoutine)
291  {
292  return (ModalFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
293  uppModalFilterYDProcInfo,
294  GetCurrentArchitecture());
295  }
296 #else
297 #define NewModalFilterYDUPP(userRoutine) \
298  (ModalFilterYDUPP) \
299  NewRoutineDescriptor((ProcPtr)(userRoutine), uppModalFilterYDProcInfo, \
300  GetCurrentArchitecture())
301 #endif
302 #endif
303 
312  UserItemUPP
313  NewUserItemUPP(UserItemProcPtr userRoutine);
314 #if !OPAQUE_UPP_TYPES
315  enum
316  {
317  uppUserItemProcInfo = 0x000002C0
318  };
319 #ifdef __cplusplus
320  inline UserItemUPP NewUserItemUPP(UserItemProcPtr userRoutine)
321  {
322  return (UserItemUPP)NewRoutineDescriptor(
323  (ProcPtr)(userRoutine), uppUserItemProcInfo, GetCurrentArchitecture());
324  }
325 #else
326 #define NewUserItemUPP(userRoutine) \
327  (UserItemUPP) NewRoutineDescriptor( \
328  (ProcPtr)(userRoutine), uppUserItemProcInfo, GetCurrentArchitecture())
329 #endif
330 #endif
331 
332 #if CALL_NOT_IN_CARBON
341  void
342  DisposeSoundUPP(SoundUPP userUPP);
343 #if !OPAQUE_UPP_TYPES
344 #ifdef __cplusplus
345  inline void DisposeSoundUPP(SoundUPP userUPP)
346  {
347  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
348  }
349 #else
350 #define DisposeSoundUPP(userUPP) DisposeRoutineDescriptor(userUPP)
351 #endif
352 #endif
353 
354 #endif
364  void
365  DisposeModalFilterUPP(ModalFilterUPP userUPP);
366 #if !OPAQUE_UPP_TYPES
367 #ifdef __cplusplus
368  inline void DisposeModalFilterUPP(ModalFilterUPP userUPP)
369  {
370  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
371  }
372 #else
373 #define DisposeModalFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
374 #endif
375 #endif
376 
385  void
386  DisposeModalFilterYDUPP(ModalFilterYDUPP userUPP);
387 #if !OPAQUE_UPP_TYPES
388 #ifdef __cplusplus
389  inline void DisposeModalFilterYDUPP(ModalFilterYDUPP userUPP)
390  {
391  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
392  }
393 #else
394 #define DisposeModalFilterYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
395 #endif
396 #endif
397 
406  void
407  DisposeUserItemUPP(UserItemUPP userUPP);
408 #if !OPAQUE_UPP_TYPES
409 #ifdef __cplusplus
410  inline void DisposeUserItemUPP(UserItemUPP userUPP)
411  {
412  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
413  }
414 #else
415 #define DisposeUserItemUPP(userUPP) DisposeRoutineDescriptor(userUPP)
416 #endif
417 #endif
418 
419 #if CALL_NOT_IN_CARBON
428  void
429  InvokeSoundUPP(SInt16 soundNumber, SoundUPP userUPP);
430 #if !OPAQUE_UPP_TYPES
431 #ifdef __cplusplus
432  inline void InvokeSoundUPP(SInt16 soundNumber, SoundUPP userUPP)
433  {
434  CALL_ONE_PARAMETER_UPP(userUPP, uppSoundProcInfo, soundNumber);
435  }
436 #else
437 #define InvokeSoundUPP(soundNumber, userUPP) \
438  CALL_ONE_PARAMETER_UPP((userUPP), uppSoundProcInfo, (soundNumber))
439 #endif
440 #endif
441 
442 #endif
452  Boolean
454  DialogItemIndex *itemHit, ModalFilterUPP userUPP);
455 #if !OPAQUE_UPP_TYPES
456 #ifdef __cplusplus
458  DialogItemIndex *itemHit,
459  ModalFilterUPP userUPP)
460  {
461  return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppModalFilterProcInfo,
462  theDialog, theEvent, itemHit);
463  }
464 #else
465 #define InvokeModalFilterUPP(theDialog, theEvent, itemHit, userUPP) \
466  (Boolean) CALL_THREE_PARAMETER_UPP((userUPP), uppModalFilterProcInfo, \
467  (theDialog), (theEvent), (itemHit))
468 #endif
469 #endif
470 
479  Boolean
481  short *itemHit, void *yourDataPtr,
482  ModalFilterYDUPP userUPP);
483 #if !OPAQUE_UPP_TYPES
484 #ifdef __cplusplus
486  EventRecord *theEvent, short *itemHit,
487  void *yourDataPtr,
488  ModalFilterYDUPP userUPP)
489  {
490  return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppModalFilterYDProcInfo,
491  theDialog, theEvent, itemHit,
492  yourDataPtr);
493  }
494 #else
495 #define InvokeModalFilterYDUPP(theDialog, theEvent, itemHit, yourDataPtr, \
496  userUPP) \
497  (Boolean) CALL_FOUR_PARAMETER_UPP((userUPP), uppModalFilterYDProcInfo, \
498  (theDialog), (theEvent), (itemHit), \
499  (yourDataPtr))
500 #endif
501 #endif
502 
511  void
512  InvokeUserItemUPP(DialogRef theDialog, DialogItemIndex itemNo,
513  UserItemUPP userUPP);
514 #if !OPAQUE_UPP_TYPES
515 #ifdef __cplusplus
516  inline void InvokeUserItemUPP(DialogRef theDialog, DialogItemIndex itemNo,
517  UserItemUPP userUPP)
518  {
519  CALL_TWO_PARAMETER_UPP(userUPP, uppUserItemProcInfo, theDialog, itemNo);
520  }
521 #else
522 #define InvokeUserItemUPP(theDialog, itemNo, userUPP) \
523  CALL_TWO_PARAMETER_UPP((userUPP), uppUserItemProcInfo, (theDialog), (itemNo))
524 #endif
525 #endif
526 
527 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
529 #define NewSoundProc(userRoutine) NewSoundUPP(userRoutine)
530 #define NewModalFilterProc(userRoutine) NewModalFilterUPP(userRoutine)
531 #define NewModalFilterYDProc(userRoutine) NewModalFilterYDUPP(userRoutine)
532 #define NewUserItemProc(userRoutine) NewUserItemUPP(userRoutine)
533 #define CallSoundProc(userRoutine, soundNumber) \
534  InvokeSoundUPP(soundNumber, userRoutine)
535 #define CallModalFilterProc(userRoutine, theDialog, theEvent, itemHit) \
536  InvokeModalFilterUPP(theDialog, theEvent, itemHit, userRoutine)
537 #define CallModalFilterYDProc(userRoutine, theDialog, theEvent, itemHit, \
538  yourDataPtr) \
539  InvokeModalFilterYDUPP(theDialog, theEvent, itemHit, yourDataPtr, userRoutine)
540 #define CallUserItemProc(userRoutine, theDialog, itemNo) \
541  InvokeUserItemUPP(theDialog, itemNo, userRoutine)
542 #endif
544 #if !TARGET_OS_MAC
546  typedef CALLBACK_API_C(void,
547  QTModelessCallbackProcPtr)(EventRecord *theEvent,
549  DialogItemIndex itemHit);
550 #if CALL_NOT_IN_CARBON
559  void
561  QTModelessCallbackProcPtr callbackProc);
562 
563 #endif
565  typedef QTModelessCallbackProcPtr QTModelessCallbackUPP;
566 #if CALL_NOT_IN_CARBON
575  OSErr
577 
586  void
588 
597  void *
599 
600 #endif
602 #endif
609  enum
610  {
613  kAlertNoteAlert = 1,
614  kAlertCautionAlert = 2,
615  kAlertPlainAlert = 3
616  };
617 
618  typedef SInt16 AlertType;
619  enum
620  {
621  kAlertDefaultOKText = -1,
624  };
625 
627  enum
628  {
629  kAlertStdAlertOKButton = 1,
630  kAlertStdAlertCancelButton = 2,
631  kAlertStdAlertOtherButton = 3,
632  kAlertStdAlertHelpButton = 4
633  };
634 
635  enum
636  {
639  kDialogFlagsUseControlHierarchy = (1 << 1),
640  kDialogFlagsHandleMovableModal = (1 << 2),
641  kDialogFlagsUseThemeControls = (1 << 3)
642  };
643 
644  enum
645  {
648  kAlertFlagsUseControlHierarchy = (1 << 1),
649  kAlertFlagsAlertIsMovable = (1 << 2),
650  kAlertFlagsUseThemeControls = (1 << 3)
651  };
652 
654  enum
655  {
656  kDialogFontNoFontStyle = 0,
657  kDialogFontUseFontMask = 0x0001,
658  kDialogFontUseFaceMask = 0x0002,
659  kDialogFontUseSizeMask = 0x0004,
660  kDialogFontUseForeColorMask = 0x0008,
661  kDialogFontUseBackColorMask = 0x0010,
662  kDialogFontUseModeMask = 0x0020,
663  kDialogFontUseJustMask = 0x0040,
664  kDialogFontUseAllMask = 0x00FF,
665  kDialogFontAddFontSizeMask = 0x0100,
666  kDialogFontUseFontNameMask = 0x0200,
667  kDialogFontAddToMetaFontMask = 0x0400
668  };
669 
672  enum
673  {
674  kDialogFontUseThemeFontIDMask = 0x0080
675  };
676 
678  {
679  Boolean movable;
681  ModalFilterUPP filterProc;
682  ConstStringPtr defaultText;
683  ConstStringPtr cancelText;
684  ConstStringPtr otherText;
685  SInt16 defaultButton;
686  SInt16 cancelButton;
687  UInt16 position;
689  };
692  enum
693  {
694  kHICommandOther =
695  FOUR_CHAR_CODE('othr')
697  };
698 
699  enum
700  {
701  kStdCFStringAlertVersionOne =
702  1
703  };
704 
710  enum
711  {
712 
719 
726 
733 
740  };
741 
743  {
744  UInt32 version;
747  CFStringRef defaultText;
748  CFStringRef cancelText;
749  CFStringRef otherText;
750  SInt16 defaultButton;
751  SInt16 cancelButton;
752  UInt16 position;
754  OptionBits flags;
755  };
764 #if CALL_NOT_IN_CARBON
765 
801  void
802  InitDialogs(void *ignored);
803 
832  {
833  SndChannelPtr myChan = 0L;
834  Handle mySound;
835  OSErr err;
836  if (sndNum == 0)
837  return;
838  mySound = GetResource(soundListRsrc, kSndResNum);
839  err = SndNewChannel(&myChan, 0, 0, 0L);
840  HLock(mySound);
841  err = SndPlay(myChan, mySound, FALSE);
842  HUnlock(mySound);
843  err = SndDisposeChannel(myChan, FALSE);
844  }
845  </ pre>
846  * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
847  * \non_carbon_cfm in InterfaceLib 7.1 and
848  later
849  * \carbon_lib not available * \mac_os_x not available *
850  /
851  void
852  ErrorSound(SoundUPP soundProc);
853 
854 #endif
864  DialogRef
865  NewDialog(void *dStorage, const Rect *boundsRect, ConstStr255Param title,
866  Boolean visible, SInt16 procID, WindowRef behind, Boolean goAwayFlag,
867  SInt32 refCon, Handle items);
868 
877  DialogRef
878  GetNewDialog(SInt16 dialogID, void *dStorage, WindowRef behind);
879 
888  DialogRef
889  NewColorDialog(void *dStorage, const Rect *boundsRect, ConstStr255Param title,
890  Boolean visible, SInt16 procID, WindowRef behind,
891  Boolean goAwayFlag, SInt32 refCon, Handle items);
892 
893 #if CALL_NOT_IN_CARBON
902  void
904 
905 #endif
915  void
917 
926  void
927  ModalDialog(ModalFilterUPP modalFilter, DialogItemIndex *itemHit);
928 
973  Boolean
975 
984  Boolean
986  DialogItemIndex *itemHit);
987 
996  void
998 
1007  void
1009 
1018  void
1019  HideDialogItem(DialogRef theDialog, DialogItemIndex itemNo);
1020 
1029  void
1030  ShowDialogItem(DialogRef theDialog, DialogItemIndex itemNo);
1031 
1042 
1051  void
1053 
1062  void
1064 
1073  void
1075 
1084  void
1086 
1095  DialogItemIndex
1096  Alert(SInt16 alertID, ModalFilterUPP modalFilter);
1097 
1106  DialogItemIndex
1107  StopAlert(SInt16 alertID, ModalFilterUPP modalFilter);
1108 
1117  DialogItemIndex
1118  NoteAlert(SInt16 alertID, ModalFilterUPP modalFilter);
1119 
1128  DialogItemIndex
1129  CautionAlert(SInt16 alertID, ModalFilterUPP modalFilter);
1130 
1139  void
1140  GetDialogItem(DialogRef theDialog, DialogItemIndex itemNo,
1141  DialogItemType *itemType, Handle *item, Rect *box);
1142 
1151  void
1152  SetDialogItem(DialogRef theDialog, DialogItemIndex itemNo,
1153  DialogItemType itemType, Handle item, const Rect *box);
1154 
1163  void
1164  ParamText(ConstStr255Param param0, ConstStr255Param param1,
1165  ConstStr255Param param2, ConstStr255Param param3);
1166 
1175  void
1176  SelectDialogItemText(DialogRef theDialog, DialogItemIndex itemNo,
1177  SInt16 strtSel, SInt16 endSel);
1178 
1187  void
1188  GetDialogItemText(Handle item, Str255 text);
1189 
1198  void
1199  SetDialogItemText(Handle item, ConstStr255Param text);
1200 
1209  SInt16
1211 
1220  void
1221  SetDialogFont(SInt16 fontNum);
1222 
1231  void
1233 
1243  void
1244  GetParamText(StringPtr param0, StringPtr param1, StringPtr param2,
1245  StringPtr param3);
1246 
1247 #if CALL_NOT_IN_CARBON
1256  DialogRef
1257  newdialog(void *dStorage, const Rect *boundsRect, const char *title,
1258  Boolean visible, SInt16 procID, WindowRef behind, Boolean goAwayFlag,
1259  SInt32 refCon, Handle items);
1260 
1269  DialogRef
1270  newcolordialog(void *dStorage, const Rect *boundsRect, const char *title,
1271  Boolean visible, SInt16 procID, WindowRef behind,
1272  Boolean goAwayFlag, SInt32 refCon, Handle items);
1273 
1282  void
1283  paramtext(const char *param0, const char *param1, const char *param2,
1284  const char *param3);
1285 
1294  void
1295  getdialogitemtext(Handle item, char *text);
1296 
1305  void
1306  setdialogitemtext(Handle item, const char *text);
1307 
1318 
1319 #endif
1329  void
1331 
1340  DialogItemIndex
1342 
1351  void
1352  ShortenDITL(DialogRef theDialog, DialogItemIndex numberItems);
1353 
1362  OSStatus
1363  InsertDialogItem(DialogRef theDialog, DialogItemIndex afterItem,
1364  DialogItemType itemType, Handle itemHandle, const Rect *box);
1365 
1374  OSStatus
1375  RemoveDialogItems(DialogRef theDialog, DialogItemIndex itemNo,
1376  DialogItemIndex amountToRemove, Boolean disposeItemData);
1377 
1386  Boolean
1388  DialogItemIndex *itemHit);
1389 
1411  OSErr
1412  GetStdFilterProc(ModalFilterUPP *theProc);
1413 
1437  OSErr
1438  SetDialogDefaultItem(DialogRef theDialog, DialogItemIndex newItem);
1439 
1462  OSErr
1463  SetDialogCancelItem(DialogRef theDialog, DialogItemIndex newItem);
1464 
1473  OSErr
1475 
1490  DialogRef
1491  NewFeaturesDialog(void *inStorage, const Rect *inBoundsRect,
1492  ConstStr255Param inTitle, Boolean inIsVisible,
1493  SInt16 inProcID, WindowRef inBehind, Boolean inGoAwayFlag,
1494  SInt32 inRefCon, Handle inItemListHandle, UInt32 inFlags);
1495 
1504  OSErr
1506 
1520  OSErr
1521  StandardAlert(AlertType inAlertType, ConstStr255Param inError,
1522  ConstStr255Param inExplanation,
1523  const AlertStdAlertParamRec *inAlertParam,
1524  SInt16 *outItemHit);
1525 
1551  OSStatus
1553  UInt32 version);
1554 
1593  OSStatus
1595  AlertType alertType, CFStringRef error,
1596  CFStringRef explanation,
1597  const AlertStdCFStringAlertParamRec *param,
1598  DialogRef *outAlert);
1599 
1625  OSStatus
1627  ModalFilterUPP filterProc,
1628  DialogItemIndex *outItemHit);
1629 
1679  OSStatus
1681  AlertType alertType, CFStringRef error,
1682  CFStringRef explanation,
1683  const AlertStdCFStringAlertParamRec *param,
1684  EventTargetRef notifyTarget, DialogRef *outSheet);
1685 
1723  OSStatus
1724  CloseStandardSheet(DialogRef inSheet, UInt32 inResultCommand);
1725 
1734  OSErr
1735  GetDialogItemAsControl(DialogRef inDialog, SInt16 inItemNo,
1736  ControlRef *outControl);
1737 
1746  OSErr
1747  MoveDialogItem(DialogRef inDialog, SInt16 inItemNo, SInt16 inHoriz,
1748  SInt16 inVert);
1749 
1758  OSErr
1759  SizeDialogItem(DialogRef inDialog, SInt16 inItemNo, SInt16 inWidth,
1760  SInt16 inHeight);
1761 
1770  OSErr
1772 
1787  OSStatus
1788  SetDialogTimeout(DialogRef inDialog, SInt16 inButtonToPress,
1789  UInt32 inSecondsToWait);
1790 
1799  OSStatus
1800  GetDialogTimeout(DialogRef inDialog, SInt16 *outButtonToPress,
1801  UInt32 *outSecondsToWait, UInt32 *outSecondsRemaining);
1802 
1811  OSStatus
1812  SetModalDialogEventMask(DialogRef inDialog, EventMask inMask);
1813 
1822  OSStatus
1823  GetModalDialogEventMask(DialogRef inDialog, EventMask *outMask);
1824 
1839  WindowRef
1841 #if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
1842 #ifdef __cplusplus
1843  inline DEFINE_API(WindowRef) GetDialogWindow(DialogRef dialog)
1844  {
1845  return (WindowRef)dialog;
1846  }
1847 #else
1848 #define GetDialogWindow(dialog) ((WindowRef)dialog)
1849 #endif
1850 #endif
1851 
1860  TEHandle
1862 #if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
1863 #ifdef __cplusplus
1864  inline DEFINE_API(TEHandle) GetDialogTextEditHandle(DialogRef dialog)
1865  {
1866  return ((DialogPeek)dialog)->textH;
1867  }
1868 #else
1869 #define GetDialogTextEditHandle(dialog) (((DialogPeek)dialog)->textH)
1870 #endif
1871 #endif
1872 
1881  SInt16
1883 #if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
1884 #ifdef __cplusplus
1885  inline DEFINE_API(SInt16) GetDialogDefaultItem(DialogRef dialog)
1886  {
1887  return ((DialogPeek)dialog)->aDefItem;
1888  }
1889 #else
1890 #define GetDialogDefaultItem(dialog) (((DialogPeek)dialog)->aDefItem)
1891 #endif
1892 #endif
1893 
1902  SInt16
1904 #if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
1905 #ifdef __cplusplus
1906  inline DEFINE_API(SInt16) GetDialogCancelItem(DialogRef dialog)
1907  {
1908  return ((DialogPeek)dialog)->editOpen;
1909  }
1910 #else
1911 #define GetDialogCancelItem(dialog) (((DialogPeek)dialog)->editOpen)
1912 #endif
1913 #endif
1914 
1923  SInt16
1925 #if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
1926 #ifdef __cplusplus
1927  inline DEFINE_API(SInt16) GetDialogKeyboardFocusItem(DialogRef dialog)
1928  {
1929  return ((DialogPeek)dialog)->editField < 0
1930  ? (short)(-1)
1931  : (short)(((DialogPeek)dialog)->editField + 1);
1932  }
1933 #else
1934 #define GetDialogKeyboardFocusItem(dialog) \
1935  (((DialogPeek)dialog)->editField < 0 \
1936  ? (short)(-1) \
1937  : (short)(((DialogPeek)dialog)->editField + 1))
1938 #endif
1939 #endif
1940 
1949  void
1951 #if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
1952 #ifdef __cplusplus
1953  inline DEFINE_API(void) SetPortDialogPort(DialogRef dialog)
1954  {
1955  MacSetPort((GrafPtr)dialog);
1956  }
1957 #else
1958 #define SetPortDialogPort(dialog) (MacSetPort((GrafPtr)dialog))
1959 #endif
1960 #endif
1961 
1970  CGrafPtr
1972 #if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
1973 #ifdef __cplusplus
1974  inline DEFINE_API(CGrafPtr) GetDialogPort(DialogRef dialog)
1975  {
1976  return (CGrafPtr)dialog;
1977  }
1978 #else
1979 #define GetDialogPort(dialog) ((CGrafPtr)dialog)
1980 #endif
1981 #endif
1982 
1991  DialogRef
1993 #if !OPAQUE_TOOLBOX_STRUCTS && !ACCESSOR_CALLS_ARE_FUNCTIONS
1994 #ifdef __cplusplus
1995  inline DEFINE_API(DialogRef) GetDialogFromWindow(WindowRef window)
1996  {
1997  return (DialogRef)window;
1998  }
1999 #else
2000 #define GetDialogFromWindow(window) ((DialogRef)window)
2001 #endif
2002 #endif
2003 
2004 #if CALL_NOT_IN_CARBON
2013  void
2014  CouldDialog(SInt16 dialogID);
2015 
2024  void
2025  FreeDialog(SInt16 dialogID);
2026 
2035  void
2036  CouldAlert(SInt16 alertID);
2037 
2046  void
2047  FreeAlert(SInt16 alertID);
2048 
2049 #endif
2051 #if OLDROUTINENAMES
2052 #define DisposDialog(theDialog) DisposeDialog(theDialog)
2053 #define UpdtDialog(theDialog, updateRgn) UpdateDialog(theDialog, updateRgn)
2054 #define GetDItem(theDialog, itemNo, itemType, item, box) \
2055  GetDialogItem(theDialog, itemNo, itemType, item, box)
2056 #define SetDItem(theDialog, itemNo, itemType, item, box) \
2057  SetDialogItem(theDialog, itemNo, itemType, item, box)
2058 #define HideDItem(theDialog, itemNo) HideDialogItem(theDialog, itemNo)
2059 #define ShowDItem(theDialog, itemNo) ShowDialogItem(theDialog, itemNo)
2060 #define SelIText(theDialog, itemNo, strtSel, endSel) \
2061  SelectDialogItemText(theDialog, itemNo, strtSel, endSel)
2062 #define GetIText(item, text) GetDialogItemText(item, text)
2063 #define SetIText(item, text) SetDialogItemText(item, text)
2064 #define FindDItem(theDialog, thePt) FindDialogItem(theDialog, thePt)
2065 #define NewCDialog(dStorage, boundsRect, title, visible, procID, behind, \
2066  goAwayFlag, refCon, items) \
2067  NewColorDialog(dStorage, boundsRect, title, visible, procID, behind, \
2068  goAwayFlag, refCon, items)
2069 #define GetAlrtStage() GetAlertStage()
2070 #define ResetAlrtStage() ResetAlertStage()
2071 #define DlgCut(theDialog) DialogCut(theDialog)
2072 #define DlgPaste(theDialog) DialogPaste(theDialog)
2073 #define DlgCopy(theDialog) DialogCopy(theDialog)
2074 #define DlgDelete(theDialog) DialogDelete(theDialog)
2075 #define SetDAFont(fontNum) SetDialogFont(fontNum)
2076 #define SetGrafPortOfDialog(dialog) SetPortDialogPort(dialog)
2077 #if CGLUESUPPORTED
2078 #define newcdialog(dStorage, boundsRect, title, visible, procID, behind, \
2079  goAwayFlag, refCon, items) \
2080  newcolordialog(dStorage, boundsRect, title, visible, procID, behind, \
2081  goAwayFlag, refCon, items)
2082 #define getitext(item, text) getdialogitemtext(item, text)
2083 #define setitext(item, text) setdialogitemtext(item, text)
2084 #define findditem(theDialog, thePt) finddialogitem(theDialog, thePt)
2085 #endif
2086 #endif
2088 #if !TARGET_OS_MAC
2089 #endif
2091 #if PRAGMA_STRUCT_ALIGN
2092 #pragma options align = reset
2093 #elif PRAGMA_STRUCT_PACKPUSH
2094 #pragma pack(pop)
2095 #elif PRAGMA_STRUCT_PACK
2096 #pragma pack()
2097 #endif
2098 
2099 #ifdef PRAGMA_IMPORT_OFF
2100 #pragma import off
2101 #elif PRAGMA_IMPORT
2102 #pragma import reset
2103 #endif
2104 
2105 #ifdef __cplusplus
2106 }
2107 #endif
2108 
2109 #endif
2110 * / _OS_MAC
2111 #endif
2113 #if PRAGMA_STRUCT_ALIGN
2114 #pragma options align = reset
2115 #elif PRAGMA_STRUCT_PACKPUSH
2116 #pragma pack(pop)
2117 #elif PRAGMA_STRUCT_PACK
2118 #pragma pack()
2119 #endif
2120 
2121 #ifdef PRAGMA_IMPORT_OFF
2122 #pragma import off
2123 #elif PRAGMA_IMPORT
2124 #pragma import reset
2125 #endif
2126 
2127 #ifdef __cplusplus
2128 }
2129 #endif
2130 
2131 #endif
2132 * /*/*/ */*/
Carbon Event Manager.
Control Manager interfaces.
#define NewUserItemUPP(userRoutine)
Definition: Dialogs.h:326
typedef CALLBACK_API_C(void, QTModelessCallbackProcPtr)(EventRecord *theEvent
DialogItemIndexZeroBased finddialogitem(DialogRef theDialog, Point *thePt)
void ParamText(ConstStr255Param param0, ConstStr255Param param1, ConstStr255Param param2, ConstStr255Param param3)
OSStatus CreateStandardSheet(AlertType alertType, CFStringRef error, CFStringRef explanation, const AlertStdCFStringAlertParamRec *param, EventTargetRef notifyTarget, DialogRef *outSheet)
SInt16 GetDialogCancelItem(DialogRef dialog)
Boolean InvokeModalFilterUPP(DialogRef theDialog, EventRecord *theEvent, DialogItemIndex *itemHit, ModalFilterUPP userUPP)
void InitDialogs(void *ignored)
Initialize before using Dialog Manager functions.
@ kAlertStopAlert
Definition: Dialogs.h:612
void DrawDialog(DialogRef theDialog)
void SetDialogFont(SInt16 fontNum)
OSErr MoveDialogItem(DialogRef inDialog, SInt16 inItemNo, SInt16 inHoriz, SInt16 inVert)
DialogRef NewDialog(void *dStorage, const Rect *boundsRect, ConstStr255Param title, Boolean visible, SInt16 procID, WindowRef behind, Boolean goAwayFlag, SInt32 refCon, Handle items)
Boolean StdFilterProc(DialogRef theDialog, EventRecord *event, DialogItemIndex *itemHit)
void FreeAlert(SInt16 alertID)
OSErr SetDialogCancelItem(DialogRef theDialog, DialogItemIndex newItem)
SetDialogCancelItem Tell Dialog Mgr which item should be default cancel item.
OSStatus InsertDialogItem(DialogRef theDialog, DialogItemIndex afterItem, DialogItemType itemType, Handle itemHandle, const Rect *box)
@ kAlertFlagsUseThemeBackground
Definition: Dialogs.h:647
void SetDialogItemText(Handle item, ConstStr255Param text)
void HideDialogItem(DialogRef theDialog, DialogItemIndex itemNo)
void DisposeSoundUPP(SoundUPP userUPP)
void CouldAlert(SInt16 alertID)
#define NewModalFilterUPP(userRoutine)
Definition: Dialogs.h:267
OSErr StandardAlert(AlertType inAlertType, ConstStr255Param inError, ConstStr255Param inExplanation, const AlertStdAlertParamRec *inAlertParam, SInt16 *outItemHit)
OSStatus GetModalDialogEventMask(DialogRef inDialog, EventMask *outMask)
void UpdateDialog(DialogRef theDialog, RgnHandle updateRgn)
#define NewModalFilterYDUPP(userRoutine)
Definition: Dialogs.h:297
void DialogPaste(DialogRef theDialog)
void ShortenDITL(DialogRef theDialog, DialogItemIndex numberItems)
OSStatus RunStandardAlert(DialogRef inAlert, ModalFilterUPP filterProc, DialogItemIndex *outItemHit)
void ShowDialogItem(DialogRef theDialog, DialogItemIndex itemNo)
void GetParamText(StringPtr param0, StringPtr param1, StringPtr param2, StringPtr param3)
typedef CALLBACK_API(void, SoundProcPtr)(SInt16 soundNumber)
@ kAlertDefaultCancelText
Definition: Dialogs.h:622
@ kAlertDefaultOtherText
Definition: Dialogs.h:623
void DisposeModalFilterUPP(ModalFilterUPP userUPP)
TEHandle GetDialogTextEditHandle(DialogRef dialog)
OSErr GetDialogControlNotificationProc(void *theProc)
void AppendDITL(DialogRef theDialog, Handle theHandle, DITLMethod method)
void DialogDelete(DialogRef theDialog)
DialogItemIndex Alert(SInt16 alertID, ModalFilterUPP modalFilter)
OSStatus CreateStandardAlert(AlertType alertType, CFStringRef error, CFStringRef explanation, const AlertStdCFStringAlertParamRec *param, DialogRef *outAlert)
Boolean IsDialogEvent(const EventRecord *theEvent)
Check if an event belongs to a dialog window.
void SetModelessDialogCallbackProc(DialogRef theDialog, QTModelessCallbackProcPtr callbackProc)
OSStatus SetModalDialogEventMask(DialogRef inDialog, EventMask inMask)
DialogPtr DialogRef
Definition: Dialogs.h:154
QTModelessCallbackProcPtr QTModelessCallbackUPP
Definition: Dialogs.h:565
OSStatus RemoveDialogItems(DialogRef theDialog, DialogItemIndex itemNo, DialogItemIndex amountToRemove, Boolean disposeItemData)
void getdialogitemtext(Handle item, char *text)
@ ok
Definition: Dialogs.h:113
@ kStdOkItemIndex
Definition: Dialogs.h:111
void paramtext(const char *param0, const char *param1, const char *param2, const char *param3)
DialogItemIndex CautionAlert(SInt16 alertID, ModalFilterUPP modalFilter)
SInt16 DialogItemIndexZeroBased
Definition: Dialogs.h:195
void SetDialogItem(DialogRef theDialog, DialogItemIndex itemNo, DialogItemType itemType, Handle item, const Rect *box)
@ kControlDialogItem
Definition: Dialogs.h:78
void InvokeUserItemUPP(DialogRef theDialog, DialogItemIndex itemNo, UserItemUPP userUPP)
OSStatus CloseStandardSheet(DialogRef inSheet, UInt32 inResultCommand)
OSStatus SetDialogTimeout(DialogRef inDialog, SInt16 inButtonToPress, UInt32 inSecondsToWait)
OSErr SizeDialogItem(DialogRef inDialog, SInt16 inItemNo, SInt16 inWidth, SInt16 inHeight)
DialogRef NewFeaturesDialog(void *inStorage, const Rect *inBoundsRect, ConstStr255Param inTitle, Boolean inIsVisible, SInt16 inProcID, WindowRef inBehind, Boolean inGoAwayFlag, SInt32 inRefCon, Handle inItemListHandle, UInt32 inFlags)
OSErr GetStdFilterProc(ModalFilterUPP *theProc)
GetStdFilterProc Get a pointer to the Dialog Manager's standard dialog filter.
@ ctrlItem
Definition: Dialogs.h:95
DialogRef newdialog(void *dStorage, const Rect *boundsRect, const char *title, Boolean visible, SInt16 procID, WindowRef behind, Boolean goAwayFlag, SInt32 refCon, Handle items)
void InvokeSoundUPP(SInt16 soundNumber, SoundUPP userUPP)
void ResetAlertStage(void)
@ stopIcon
Definition: Dialogs.h:123
@ kStopIcon
Definition: Dialogs.h:120
void DisposeUserItemUPP(UserItemUPP userUPP)
void FreeDialog(SInt16 dialogID)
void SetPortDialogPort(DialogRef dialog)
Boolean DialogSelect(const EventRecord *theEvent, DialogRef *theDialog, DialogItemIndex *itemHit)
OSErr GetDialogItemAsControl(DialogRef inDialog, SInt16 inItemNo, ControlRef *outControl)
DialogRef NewColorDialog(void *dStorage, const Rect *boundsRect, ConstStr255Param title, Boolean visible, SInt16 procID, WindowRef behind, Boolean goAwayFlag, SInt32 refCon, Handle items)
OSErr SetDialogDefaultItem(DialogRef theDialog, DialogItemIndex newItem)
SetDialogDefaultItem Tell Dialog Mgr which item in dialog should be default item.
SInt16 DITLMethod
Definition: Dialogs.h:144
void SetDialogMovableModal(DialogRef theDialog)
#define GetDialogFromWindow(window)
Definition: Dialogs.h:2000
void setdialogitemtext(Handle item, const char *text)
Handle mySound
Set up to use non-standard sounds for alerts.
Definition: Dialogs.h:832
DialogRef GetNewDialog(SInt16 dialogID, void *dStorage, WindowRef behind)
void GetDialogItemText(Handle item, Str255 text)
Boolean InvokeModalFilterYDUPP(DialogRef theDialog, EventRecord *theEvent, short *itemHit, void *yourDataPtr, ModalFilterYDUPP userUPP)
@ kStdAlertDoNotAnimateOnDefault
Definition: Dialogs.h:725
@ kStdAlertDoNotDisposeSheet
Definition: Dialogs.h:718
@ kStdAlertDoNotAnimateOnOther
Definition: Dialogs.h:739
@ kStdAlertDoNotAnimateOnCancel
Definition: Dialogs.h:732
CGrafPtr GetDialogPort(DialogRef dialog)
OSErr AutoSizeDialog(DialogRef inDialog)
void DialogCopy(DialogRef theDialog)
void DialogCut(DialogRef theDialog)
void SelectDialogItemText(DialogRef theDialog, DialogItemIndex itemNo, SInt16 strtSel, SInt16 endSel)
WindowRef GetDialogWindow(DialogRef dialog)
DialogItemIndex CountDITL(DialogRef theDialog)
@ kDialogFlagsUseThemeBackground
Definition: Dialogs.h:638
SInt16 GetDialogKeyboardFocusItem(DialogRef dialog)
OSErr AppendDialogItemList(DialogRef dialog, SInt16 ditlID, DITLMethod method)
void GetDialogItem(DialogRef theDialog, DialogItemIndex itemNo, DialogItemType *itemType, Handle *item, Rect *box)
OSStatus GetDialogTimeout(DialogRef inDialog, SInt16 *outButtonToPress, UInt32 *outSecondsToWait, UInt32 *outSecondsRemaining)
DialogItemIndex NoteAlert(SInt16 alertID, ModalFilterUPP modalFilter)
void CouldDialog(SInt16 dialogID)
DialogRef newcolordialog(void *dStorage, const Rect *boundsRect, const char *title, Boolean visible, SInt16 procID, WindowRef behind, Boolean goAwayFlag, SInt32 refCon, Handle items)
OSErr SetDialogTracksCursor(DialogRef theDialog, Boolean tracks)
void * GetDialogParent(DialogRef theDialog)
#define NewSoundUPP(userRoutine)
Definition: Dialogs.h:237
DialogItemIndexZeroBased FindDialogItem(DialogRef theDialog, Point thePt)
SInt16 GetDialogDefaultItem(DialogRef dialog)
void ModalDialog(ModalFilterUPP modalFilter, DialogItemIndex *itemHit)
void CloseDialog(DialogRef theDialog)
SInt16 GetAlertStage(void)
OSStatus GetStandardAlertDefaultParams(AlertStdCFStringAlertParamPtr param, UInt32 version)
void DisposeDialog(DialogRef theDialog)
void DisposeModalFilterYDUPP(ModalFilterYDUPP userUPP)
DialogItemIndex StopAlert(SInt16 alertID, ModalFilterUPP modalFilter)
Event Manager Interfaces.
err
Select a new default volume or working directory.
Definition: Files.h:2312
OSErr codes.
void HUnlock(Handle h)
Unlock a handle's data (allowing it to be moved)
Basic Macintosh data types.
unsigned char * StringPtr
Definition: MacTypes.h:477
unsigned char Boolean
Definition: MacTypes.h:318
Window Manager Interfaces.
Mixed Mode Manager Interfaces.
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
void MacSetPort(GrafPtr port)
TQAMethodSelector
Definition: RAVE.h:1009
Handle GetResource(ResType theType, short theID)
OSErr SndDisposeChannel(SndChannelPtr chan, Boolean quietNow)
OSErr SndNewChannel(SndChannelPtr *chan, short synth, long init, SndCallBackUPP userRoutine)
OSErr SndPlay(SndChannelPtr chan, SndListHandle sndHandle, Boolean async)
TextEdit Interfaces.
Definition: Dialogs.h:678
SInt16 cancelButton
Definition: Dialogs.h:686
SInt16 defaultButton
Definition: Dialogs.h:685
ConstStringPtr otherText
Definition: Dialogs.h:684
ConstStringPtr cancelText
Definition: Dialogs.h:683
ConstStringPtr defaultText
Definition: Dialogs.h:682
UInt16 position
Definition: Dialogs.h:687
Boolean helpButton
Definition: Dialogs.h:680
ModalFilterUPP filterProc
Definition: Dialogs.h:681
Definition: Dialogs.h:743
CFStringRef cancelText
Definition: Dialogs.h:748
CFStringRef defaultText
Definition: Dialogs.h:747
SInt16 defaultButton
Definition: Dialogs.h:750
CFStringRef otherText
Definition: Dialogs.h:749
Boolean helpButton
Definition: Dialogs.h:746
OptionBits flags
Definition: Dialogs.h:754
SInt16 cancelButton
Definition: Dialogs.h:751
Boolean movable
Definition: Dialogs.h:745
UInt16 position
Definition: Dialogs.h:752
Definition: Dialogs.h:186
Definition: Quickdraw.h:2261
Definition: Controls.h:165
Definition: Dialogs.h:157
SInt16 editOpen
Definition: Dialogs.h:163
SInt16 aDefItem
Definition: Dialogs.h:164
SInt16 editField
Definition: Dialogs.h:161
Handle items
Definition: Dialogs.h:159
TEHandle textH
Definition: Dialogs.h:160
Definition: Dialogs.h:171
Definition: Events.h:224
Definition: Quickdraw.h:1648
Definition: Quickdraw.h:306
Definition: MacTypes.h:520
Definition: MacTypes.h:527
Definition: Sound.h:761
Definition: TextEdit.h:272
Definition: MacWindows.h:754