home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d583 / tpledit.lha / TplEdit / src.lzh / defs.h next >
C/C++ Source or Header  |  1991-12-03  |  6KB  |  213 lines

  1.  
  2. #define abs
  3.  
  4. #include <exec/types.h>
  5. #include <exec/nodes.h>
  6. #include <exec/lists.h>
  7. #include <dos/dos.h>
  8. #include <intuition/screens.h>
  9. #include <intuition/intuition.h>
  10. #include <intuition/gadgetclass.h>
  11. #include <libraries/gadtools.h>
  12. #include <libraries/asl.h>
  13. #include <clib/exec_protos.h>
  14. #include <clib/intuition_protos.h>
  15. #include <clib/gadtools_protos.h>
  16. #include <clib/graphics_protos.h>
  17. #include <clib/asl_protos.h>
  18. #include <clib/alib_protos.h>
  19.  
  20. #ifdef NOTDEF
  21. #include <db/dblib.h>
  22. #include <db/db.h>
  23. #include <db/dbm.h>
  24. #include <dbm/menu_dbm.h>
  25. #endif
  26.  
  27. #include <stdio.h>
  28. #include <stdlib.h>
  29. #include <string.h>
  30.  
  31. #include "tplcontrol_defs.h"
  32.  
  33. #define ACT_NEW   0
  34. #define ACT_COPY  1
  35. #define ACT_MOVE  2
  36. #define ACT_SIZE  3
  37. #define ACT_EXCL  4
  38. #define ACT_DEL   5
  39. #define ACT_TEST  6
  40.  
  41. #define SPEC_CHECKED      1
  42. #define SPEC_BORDER       2
  43. #define SPEC_VERTICAL     4
  44. #define SPEC_HIGHLABEL    8
  45. #define SPEC_RECESSED    16
  46. #define SPEC_READONLY    32
  47. #define SPEC_IMMEDIATE   64
  48. #define SPEC_DISABLED   128
  49. #define SPEC_RELVERIFY  256
  50.  
  51. #define SPEC_ITEM       512
  52. #define SPEC_BUFSPACE  1024
  53. #define SPEC_MAXVAL    2048
  54. #define SPEC_DEFVAL    4096
  55. #define SPEC_DEFAULT   8192
  56.  
  57. #define SPEC_EXCL       SPEC_CHECKED  | \
  58.                         SPEC_BORDER   | \
  59.                         SPEC_VERTICAL | \
  60.                         SPEC_HIGHLABEL| \
  61.                         SPEC_RECESSED | \
  62.                         SPEC_READONLY | \
  63.                         SPEC_IMMEDIATE| \
  64.                         SPEC_DISABLED | \
  65.                         SPEC_RELVERIFY| \
  66.                         SPEC_BUFSPACE | \
  67.                         SPEC_MAXVAL   | \
  68.                         SPEC_DEFVAL   | \
  69.                         SPEC_DEFAULT  | \
  70.                         SPEC_ITEM
  71.  
  72. #define STATE_NEWREGION     0
  73. #define STATE_COPYREGION    1   /*  copy from region to region  */
  74. #define STATE_MOVEREGION    2
  75. #define STATE_SIZEREGION    3
  76. #define STATE_EXCLREGION    4   /*  exclude buttons grouping  */
  77. #define STATE_DELREGION     5
  78. #define STATE_TEST          6
  79. #define STATE_LINKREGION    7   /*  link from region to region  */
  80. #define STATE_UNLINKREGION  8   /*  unlink region from region  */
  81.  
  82. #define MENU_PROJ_SAVE          1
  83. #define MENU_PROJ_SAVEAS        2
  84. #define MENU_PROJ_SAVESRC       3
  85. #define MENU_PROJ_SAVEMAINNO    4
  86. #define MENU_PROJ_SAVEMAINYES   5
  87. #define MENU_PROJ_SAVEASSRC     6
  88. #define MENU_PROJ_SAVEASMAINNO  7
  89. #define MENU_PROJ_SAVEASMAINYES 8
  90. #define MENU_PROJ_LOAD          9
  91. #define MENU_PROJ_MERGE        10
  92. #define MENU_PROJ_QUIT         11
  93.  
  94. #define MENU_EDIT_LOCK      16
  95. #define MENU_EDIT_UNLOCK    17
  96. #define MENU_EDIT_SORT      18
  97.  
  98. #define MENU_GADGET         32
  99.  
  100. #define MENU_SNAP           64
  101.  
  102. #define SNAP_EXCL           (1|2|4|8|16|32|64|128|256|512|1024)
  103. #define GADGET_EXCL         (1|2|4|8|16|32|64|128|256|512|1024|2048|4096|8192)
  104.  
  105.  
  106. typedef struct Box {
  107.     short   bo_Xs;
  108.     short   bo_Ys;
  109.     short   bo_Xe;
  110.     short   bo_Ye;
  111. } Box;
  112.  
  113. typedef struct TplRegion {
  114.     MaxNode rg_Node;            /*  region link & name  */
  115.     Box     rg_Box;             /*  current size        */
  116.     Box     rg_MinMax;          /*  min size / max size */
  117.     uword   rg_Id;              /*  database ID in file */
  118.     Gadget  *rg_Gad;            /*  related gadget      */
  119.     struct  TplRegion *rg_LinkLeft;
  120.     struct  TplRegion *rg_LinkRight;
  121.     struct  TplRegion *rg_LinkUp;
  122.     struct  TplRegion *rg_LinkDown;
  123.     struct  TplRegion *rg_LockedTo;
  124.     long    rg_Flags;
  125.     short   rg_Type;
  126.     short   rg_BufSpace;        /*  maximum buffer len  */
  127.     long    rg_ExclGroup;       /*  used to toggle buttons */
  128.  
  129.     char    *rg_DataBase;       /*  one of              */
  130.     char    *rg_ListRef;
  131.     char    **rg_CycleAry;      /*  same as ListSet     */
  132.     List    rg_ListSet;
  133.  
  134.     char    *rg_DefText;        /*  default text/name */
  135.     char    *rg_LabText;
  136.     TextAttr rg_TextAttr;       /*  font to use         */
  137.     long     rg_SpecFlags;      /*  special flags */
  138.     long     rg_MaxVal;         /*  max numeric value */
  139.     long     rg_DefVal;         /*  def numeric value */
  140. } TplRegion;
  141.  
  142. #define RGT_INVISIBLE   GENERIC_KIND    /*  0 */
  143. #define RGT_BUTTON      BUTTON_KIND     /*  1 */
  144. #define RGT_CHECKBOX    CHECKBOX_KIND   /*  2 */
  145. #define RGT_INTEGER     INTEGER_KIND    /*  3 */
  146. #define RGT_LISTVIEW    LISTVIEW_KIND   /*  4 */
  147. #define RGT_MX          MX_KIND         /*  5 */
  148. #define RGT_NUMBER      NUMBER_KIND     /*  6 */
  149. #define RGT_CYCLE       CYCLE_KIND      /*  7 */
  150. #define RGT_PALETTE     PALETTE_KIND    /*  8 */
  151. #define RGT_SCROLLER    SCROLLER_KIND   /*  9 */
  152. #define RGT_BEVELBOX    10              /*  10 else reserved */
  153. #define RGT_SLIDER      SLIDER_KIND     /*  11*/
  154. #define RGT_STRING      STRING_KIND     /*  12*/
  155. #define RGT_TEXT        TEXT_KIND       /*  13*/
  156.  
  157.  
  158. typedef struct ProjEntry {
  159.     uword   pe_Type;
  160.     long    pe_Len;
  161. } ProjEntry;
  162.  
  163. typedef struct ProjHeader {
  164.     long    ph_Magic;
  165.     long    ph_HdrSize;
  166.     long    ph_Version;
  167.     Box     ph_WinDim;
  168.     Box     ph_MinMaxDim;
  169.     Box     ph_ZoomDim;
  170. } ProjHeader;
  171.  
  172. typedef struct PPNode {
  173.     Node    pp_Node;
  174.     long    pp_Pos;
  175. } PPNode;
  176.  
  177. #define PH_MAGIC    'TPLE'
  178.  
  179. #define PT_PROJECT      1           /*  heirarchy   */
  180. #define PT_HEADER       2
  181. #define PT_REGION       3           /*  heirarchy   */
  182. #define PT_NAME         4
  183. #define PT_BOX          5
  184. #define PT_MINMAX       6
  185. #define PT_ID           7
  186. #define PT_REGLL        8
  187. #define PT_REGLR        9
  188. #define PT_REGLU        10
  189. #define PT_REGLD        11
  190. #define PT_LOCKTO       12
  191. #define PT_FLAGS        13
  192. #define PT_TYPE         14
  193. #define PT_EXCLID       15
  194. #define PT_DATABASE     16          /*  heirarchy   */
  195. #define PT_LISTREF      17          /*  heirarchy   */
  196. #define PT_LISTSET      18          /*  heirarchy   */
  197. #define PT_DEFTEXT      19          /*  heirarchy   */
  198. #define PT_TEXTATTR     20          /*  heirarchy   */
  199. #define PT_YSIZE        21
  200. #define PT_LABTEXT      22          /*  heirarchy   */
  201. #define PT_MAXBUFLEN    23
  202. #define PT_SPECFLAGS    24          /*  added by koessi 11.91 */
  203. #define PT_MAXVAL       25          /*  added by koessi 11.91 */
  204. #define PT_DEFVAL       26          /*  added by koessi 11.91 */
  205. #define PT_END          0xFFFF
  206.  
  207. extern void *GetHead();
  208. extern void *GetSucc();
  209.  
  210. #include <tpl-protos.h>
  211.  
  212.  
  213.