home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume26 / cforms / part01 / src / cforms.h next >
Encoding:
C/C++ Source or Header  |  1992-05-18  |  2.9 KB  |  146 lines

  1. #ifndef _CFORMS_H
  2. #define _CFORMS_H
  3.  
  4. #ifndef OK
  5. #define OK    0
  6. #endif
  7.  
  8. #ifndef FAIL
  9. #define FAIL    -1
  10. #endif
  11.  
  12. #ifndef TRUE
  13. #define TRUE 1
  14. #endif
  15.  
  16. #ifndef FALSE
  17. #define FALSE 0
  18. #endif
  19.  
  20. #define EVENT_KEY    1
  21. #define EVENT_REFRESH    2
  22. #define EVENT_ENTRY    3
  23. #define EVENT_EXIT    4
  24. #define EVENT_DRAW    5
  25. #define EVENT_PREVIOUS    6
  26. #define EVENT_NEXT    7
  27.  
  28. #define FLD_TYPE    0x000F
  29. #define FLD_MODIFIER    0x0FF0
  30.  
  31. #define FLD_RIGHT    0x0010
  32. #define FLD_LEFT    0x0020
  33. #define FLD_UPPERCASE    0x0040
  34. #define FLD_PROTECTED    0x0080
  35.  
  36. #define FLD_INT        0x0001
  37. #define FLD_STR        0x0002
  38. #define FLD_ALNUM    0x0003
  39.  
  40. struct xy {
  41.     int x, y;
  42. };
  43.  
  44. #ifndef _COMP_H
  45. struct event {
  46.     int type;
  47.     int code;
  48.     void (*func)();
  49. };
  50.  
  51. struct field {
  52.     char *name;
  53.     int type;
  54.     int len;
  55.     char *data;
  56.     struct xy pos;
  57.     char *lvalue;
  58.     char *rvalue;
  59.     struct event *event;
  60.     int n_events;
  61.     int flags;
  62.     char modified;
  63.     struct picture *picture;
  64. };
  65.  
  66. struct literal {
  67.     struct xy pos;
  68.     char *value;
  69.     int display_flags;
  70. };
  71.  
  72. struct picture {
  73.     char *name;
  74.     struct field *field;
  75.     int n_fields;
  76.     struct literal *literal;
  77.     int n_literals;
  78.     struct event *event;
  79.     int n_events;
  80.     int x, y;
  81.     int width, height;
  82. };
  83.  
  84. struct module {
  85.     struct picture *picture;
  86.     int n_pictures;
  87.     struct event *event;
  88.     int n_events;
  89. };
  90.  
  91. extern struct current {
  92.     struct picture *picture;
  93.     struct field *field;
  94. } current;
  95.  
  96. /*
  97.  * Start/stop functions.
  98.  */
  99. extern int cforms_init(void);
  100. extern int cforms_end(void);
  101.  
  102. /*
  103.  * Picture functions.
  104.  */
  105. extern struct picture *picture(char *fmt, ...);
  106. extern int             pic_call(struct picture *pic, char *fieldname);
  107. extern int             pic_clear(struct picture *pic);
  108.  
  109. /* 
  110.  * Field functons.
  111.  */
  112. extern struct field *field(char *fmt, ...);
  113. extern struct field *fld_move(struct field *fld);
  114. extern struct field *fld_down(struct field *fld);
  115. extern struct field *fld_up(struct field *fld);
  116. extern struct field *fld_left(struct field *fld);
  117. extern struct field *fld_right(struct field *fld);
  118. extern struct field *fld_first(void);
  119. extern struct field *fld_last(void);
  120. extern struct field *fld_next(struct field *fld);
  121. extern struct field *fld_previous(struct field *fld);
  122. extern char         *fld_get(struct field *fld);
  123. extern int           fld_set(struct field *fld, char *value);
  124. extern int           fld_nset(struct field *fld, char *value, int n);
  125. extern int           fld_len(struct field *fld);
  126. extern int           fld_isempty(struct field *fld);
  127. extern int           fld_ismodified(struct field *fld);
  128. extern void          fld_touch(struct field *fld);
  129.  
  130. /*
  131.  * General functions.
  132.  */
  133. extern                 get_fld(struct field *fld, int (*check)());
  134. extern int             generate_event(int ev_type, int ev_code);
  135. extern int             strequ(char *s1, char *s2);
  136. extern int             message(char *fmt, ...);
  137. extern int             message_nr(char *fmt, ...);
  138.  
  139.  
  140. extern struct module _module;
  141.  
  142. #endif /* _COMP_H */
  143.  
  144. #endif /* _CFORMS_H */
  145.  
  146.