home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Snippets / DialogUtils / DialogUtils.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-05-11  |  3.4 KB  |  135 lines  |  [TEXT/KAHL]

  1. /*****************************************************************************************************
  2.  
  3.     DialogUtils.h - A plethora of useful routines for dealing with dialogs.  This include some
  4.                     routines for easier access to dialog stuff, as well as a couple of
  5.                     generic dialogs that can be used in apps.
  6.                     
  7.                     - Remember to include a file called DialogUtils.rsrc in compiling this.
  8.                     
  9.             ©1994 Paul Rademacher
  10.                   Dept. Of Computer Science
  11.                   West Virginia University
  12.                   paulr@cs.wvu.edu
  13.             
  14.             1/5/94
  15.  
  16. *****************************************************************************************************/
  17.  
  18. #ifndef _DIALOGUTILS_
  19. #define _DIALOGUTILS_
  20.  
  21.  
  22. /********************* Definitions *****************/
  23.  
  24. #ifndef _KEYCODES_
  25. #define _KEYCODES_
  26. #define kEnter                0x03
  27. #define kTab                0x09
  28. #define kBackspace            0x08
  29. #define kReturn                0x0D
  30. #define kLeftArrow            0x1C
  31. #define kRightArrow            0x1D
  32. #define kUpArrow            0x1E
  33. #define kDownArrow            0x1F
  34. #define kSpaceBar            0x31
  35. #define    kShiftKey            0x0200
  36. #define kEscape                27
  37. #endif
  38.  
  39. #define rSaveChangesDLOG        200
  40. #define rDualChoiceDLOG            201
  41. #define rPromptForStringDLOG    202
  42. #define rTextLengthALRT            203
  43.  
  44. #define rDialogUtilsText        200
  45.  
  46. #define kMoveToFront        (WindowPtr)-1L
  47.  
  48. #define kDisableControl        (short) 255
  49. #define kEnableControl        0
  50. #define kButtonPress        1
  51.  
  52. #define    kPushButton            ctrlItem + btnCtrl
  53. #define kRadioButton        ctrlItem + radCtrl
  54. #define kCheckmark            ctrlItem + chkCtrl
  55.  
  56. #ifndef kEntireText
  57. #define kEntireText            32767    /* Used as maxSel in SelIText() */
  58. #endif
  59.  
  60. #ifndef NOT
  61. #define    NOT    !
  62. #define AND    &&
  63. #define OR    ||
  64. #endif
  65.  
  66. enum SaveChangesEnum
  67. {
  68.     dSaveChangesOK = 1,
  69.     dSaveChangesCancel,
  70.     dSaveChangesNo
  71. };
  72.  
  73. enum DualChoiceEnum
  74. {
  75.     dDualChoiceOK = 1,
  76.     dDualChoiceCancel,
  77.     dDualChoiceText
  78. };
  79.  
  80. enum PromptForStringEnum
  81. {
  82.     dPromptForStringOK = 1,
  83.     dPromptForStringCancel,
  84.     dPromptForStringPrompt,
  85.     dPromptForStringText,
  86.     dPromptForStringNumberOfItems
  87. };
  88.  
  89.  
  90. enum DialogUtilsTextEnum
  91. {
  92.     kDialogUtilsTextOK = 1,
  93.     kDialogUtilsTextNumberOfItems
  94. };
  95.  
  96. /****************** Prototypes *********************/
  97.  
  98.                 /* Dialog Manager access routines */
  99.                 
  100. Handle         getDItemHandle(DialogPtr dlog, short item);
  101. void        setDItemText( DialogPtr dlog, short item, Str255 text );
  102. void        getDItemText( DialogPtr dlog, short item, StringPtr text );
  103. short        getDItemValue( DialogPtr dlog, short item );
  104. void        setDItemValue( DialogPtr dlog, short item, short value );
  105. Rect        getDItemRect( DialogPtr dlog, short item );
  106. short        getDItemType( DialogPtr dlog, short item );
  107.  
  108.  
  109.                 /* User-Interface shortcuts */
  110.  
  111. void        fakeMouseClick( DialogPtr dPtr, short itemNum );
  112. void        highlightDefault( DialogPtr dPtr, short itemNum );
  113. void        enableDItem( DialogPtr dlog, short item );
  114. void        disableDItem( DialogPtr dlog, short item );
  115. void        drawTextInUserItem( DialogPtr dlog, short item, StringPtr text );
  116. void        drawDItemDottedBoxText( DialogPtr dlog, short item, StringPtr text );
  117. void        drawDottedBoxText( Rect *rect, StringPtr text );
  118. void        setAlternatingDefaultItems( DialogPtr dlog, short item );
  119.  
  120.             
  121.                 /* Generic dialogs */
  122.  
  123. short        doSaveChanges( StringPtr actionText, Str255 docName );
  124. short        doDualChoice( const StringPtr prompt, const short defaultButton, const StringPtr okText );
  125. short        promptForString( StringPtr prompt, StringPtr defaultText, short minLength, 
  126.                 short maxLength, StringPtr dest );
  127.                 
  128.                 
  129.                 /* Filter procs for the generic dialogs */
  130.                 
  131. pascal Boolean    genericFilterProc( DialogPtr dlog,EventRecord *event,short *itemHit );
  132.  
  133. #endif
  134.  
  135.