home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / MENUPRIV.H < prev    next >
C/C++ Source or Header  |  1990-05-30  |  4KB  |  128 lines

  1. /*
  2.     menupriv.h
  3.  
  4.     % private header for menu object
  5.  
  6.     C-scape 3.2
  7.     Copyright (c) 1986 - 1990, by Oakland Group, Inc.
  8.     ALL RIGHTS RESERVED.
  9.  
  10.     Revision History:
  11.     -----------------
  12.     11/28/88 jmd    reorganized headers
  13.     12/11/88 jmd    changed FindUp args
  14.     12/14/88 jmd    field_get is now menu_GetField
  15.      5/23/89 jdc    made tb_setcursor menu_setcursor
  16.      3/28/90 jmd    ansi-fied
  17.  
  18.      4/05/90 jdc    added fspec_isquotable macro
  19.      5/30/90 jdc    made menu_InsRowTB a function (in menuirow.c)
  20. */
  21.  
  22. #define NO_WRITEABLES     -1
  23. #define NO_FIELDS         -1
  24.  
  25. /* -------------------------------------------------------------------------- */
  26. /* function prototypes */
  27. /* MENU.C */
  28. extern boolean  menu_Ok(menu_type menu);
  29.  
  30. /* MENUUNPF.C */
  31. extern char    *menu_UnPrintf(menu_type menu, int fieldno, char *buf, int row, int col, int dflag);
  32.  
  33. /* MENUFIND.C */
  34. extern int        menu_FindUpField(menu_type menu, int fieldno);
  35. extern int        menu_FindDownField(menu_type menu, int fieldno);
  36. extern int        menu_FindLeftField(menu_type menu, int fieldno);
  37. extern int        menu_FindRightField(menu_type menu, int fieldno);
  38.  
  39. /* MENUAFTG.C */
  40. extern boolean  menu_AddFieldToGrid(menu_type menu, int fieldno, int row, int col);
  41.  
  42. /* MENUTFFG.C */
  43. extern void        menu_TakeFieldFromGrid(menu_type menu, int fieldno);
  44.  
  45. /* TBSTR.C */
  46. extern int        menu_strcpy(menu_type dmenu, int drow, int dcol, tb_type stb, int srow, int scol, long len, int mode);
  47. extern long     menu_strdel(menu_type menu, unsigned row, unsigned col, long len);
  48. extern int        menu_DelRowTB(menu_type menu, int row, int col);
  49.  
  50. /* MENUPUTB.C */
  51. extern int        menu_setcursor(menu_type menu);
  52.  
  53. /* MENUIROW.C */
  54. extern boolean    menu_InsRowTB(menu_type menu, int row, int col);
  55.  
  56. /* -------------------------------------------------------------------------- */
  57. /* macros */
  58.  
  59. #define menu_SetFieldRegAttr(menu, fieldno, attr) \
  60.     field_SetRegAttr(menu_GetField(menu, fieldno), attr)
  61.  
  62. #define menu_SetFieldSelAttr(menu, fieldno, attr) \
  63.     field_SetSelAttr(menu_GetField(menu, fieldno), attr)
  64.  
  65. #define menu_SetFieldRight(menu, fieldno, right) \
  66.     field_SetRight(menu_GetField(menu, fieldno), right)
  67.  
  68. #define menu_SetFieldLeft(menu, fieldno, left) \
  69.     field_SetLeft(menu_GetField(menu, fieldno), left)
  70.  
  71. #define menu_SetFieldGCol(menu, fieldno, gcol) \
  72.     field_SetGCol(menu_GetField(menu, fieldno), gcol)
  73.  
  74. #define menu_IncFieldGCol(menu, fieldno) \
  75.     field_IncGCol(menu_GetField(menu, fieldno))
  76.  
  77. #define menu_SetFieldRow(menu, fieldno, r) \
  78.     field_SetRow(menu_GetField(menu, fieldno), r)
  79.  
  80. #define menu_SetFieldCol(menu, fieldno, c) \
  81.     field_SetCol(menu_GetField(menu, fieldno), c)
  82.  
  83. #define menu_DecFieldGCol(menu, fieldno) \
  84.     field_DecGCol(menu_GetField(menu, fieldno))
  85.  
  86. #define menu_SetFieldXoffset(menu, fieldno, x) \
  87.     field_SetXoffset(menu_GetField(menu, fieldno), x)
  88.  
  89. #define menu_SetFieldWidth(menu, fieldno, w) \
  90.     field_SetWidth(menu_GetField(menu, fieldno), w)
  91.  
  92. #define menu_SetVHeight(menu, h)    ((menu)->vheight = (h))
  93. #define menu_SetVWidth(menu, w)        ((menu)->vwidth = (w))
  94.  
  95. #define menu_GetVHeight(menu)    \
  96.     (((menu)->vheight < 0) ? menu_GetHeight(menu) : (menu)->vheight)
  97.  
  98. #define menu_GetVWidth(menu)    \
  99.     (((menu)->vwidth < 0) ? menu_GetWidth(menu) : (menu)->vwidth)
  100.  
  101. #define menu_GetFa(menu)             ((menu)->fa)
  102.  
  103. #define menu_Puts(menu, row, col, s, slen, color, old_c) \
  104.     menu_putTB((menu), (row), (col), (s), 0x00, (slen), (color), (old_c), TB_COLOR)
  105.  
  106. #define menu_Putc(menu, row, col, chr, slen, color, old_c) \
  107.     menu_putTB((menu), (row), (col), NULL, (chr), (slen), (color), (old_c), TB_COLOR)
  108.  
  109. #define menu_Adds(menu, row, col, s, slen) \
  110.     menu_putTB((menu), (row), (col), s, 0x00, (slen), 0x00, 0x00, TB_SAMECOLOR)
  111.  
  112. #define menu_Addc(menu, row, col, chr, slen) \
  113.     menu_putTB((menu), (row), (col), NULL, (chr), (slen), 0x00, 0x00, TB_SAMECOLOR)
  114.  
  115. /* bob macros */
  116.  
  117. #define menu_GetBobCount(menu)         ((menu)->bobcount)
  118.  
  119. #define menu_GetBobFieldNo(menu, bobno) (ia_Get((menu)->boba, bobno))
  120.  
  121. #define menu_GetBob(menu, bobno) \
  122.     menu_GetFieldBob(menu, menu_GetBobFieldNo(menu, bobno))
  123.  
  124. /* macro to determine what to quote for menu_UnPrintf'ing */
  125.  
  126. #define fspec_isquotable(c)        ((c) == '@' || (c) == ']' || (c) == '%')
  127.  
  128.