home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / lynx2.8.1dev.10.tar.gz / lynx2.8.1dev.10.tar / lynx2-8 / src / HTForms.h < prev    next >
C/C++ Source or Header  |  1998-03-25  |  5KB  |  141 lines

  1.  
  2. #ifndef HTFORMS_H
  3. #define HTFORMS_H
  4.  
  5. #ifndef LYSTRUCTS_H
  6. #include <LYStructs.h>
  7. #endif /* LYSTRUCTS_H */
  8.  
  9. /* in LYForms.c */
  10. extern int change_form_link PARAMS((struct link *form_link, int mode,
  11.                                     document *newdoc, BOOLEAN *refresh_screen,
  12.                     char *link_name, char *link_value));
  13.  
  14. /* InputFieldData is used to pass the info between
  15.  * HTML.c and Gridtext.c in HText_beginInput()
  16.  */
  17. typedef struct _InputFieldData {
  18.     CONST char *accept;
  19.     CONST char *align;
  20.     int   checked;
  21.     CONST char *class;
  22.     int   disabled;
  23.     CONST char *error;
  24.     CONST char *height;
  25.     CONST char *id;
  26.     CONST char *lang;
  27.     CONST char *max;
  28.     CONST char *maxlength;
  29.     CONST char *md;
  30.     CONST char *min;
  31.         CONST char *name;
  32.     CONST char *size;
  33.     CONST char *src;
  34.     CONST char *type;
  35.     char *value;
  36.     CONST char *width;
  37.         int name_cs;        /* charset handle for name */
  38.         int value_cs;        /* charset handle for value */
  39.         CONST char *accept_cs;
  40. } InputFieldData;
  41.  
  42. /* The OptionType structure is for a linked list of option entries
  43.  */
  44. typedef struct _OptionType {
  45.     char *            name;         /* the name of the entry */
  46.     char *            cp_submit_value; /* the value to submit      */
  47.     int            value_cs;        /* charset value is in   */
  48.     struct _OptionType *    next;         /* the next entry      */
  49. } OptionType;
  50.  
  51. /* the FormInfo structure is used to contain the form field
  52.  * data within each anchor
  53.  * A pointer to this structure is in the TextAnchor struct.
  54.  */
  55. typedef struct _FormInfo {
  56.     char *            name;       /* the name of the link */
  57.     int            number;       /* which form is the link within */
  58.     int            type;       /* string, int, etc. */
  59.     char *            value;       /* user entered string data */
  60.     char *            orig_value;/* the original value */
  61.     int            size;       /* width on the screen */
  62.     int            maxlength; /* max width of data */
  63.     int            group;       /* a group associated with the link
  64.                         *  this is used for select's
  65.                         */
  66.     int            num_value; /* value of the numerical fields */
  67.     int             hrange;       /* high numerical range */
  68.     int            lrange;       /* low numerical range */
  69.     OptionType *        select_list; /* array of option choices */
  70.         char *                  submit_action;  /* form's action */
  71.         int                     submit_method;  /* form's method */
  72.         char *                  submit_enctype; /* form's entype */
  73.     char *            submit_title;    /* form's title */
  74.     BOOL            no_cache;  /* Always resubmit? */
  75.     char *            cp_submit_value; /* option value to submit */
  76.         char *            orig_submit_value; /* original submit value */
  77.     int            size_l;       /* The length of the option list */
  78.     int            disabled;  /* If YES, can't change values */
  79.         int             name_cs;
  80.         int             value_cs;
  81.         char *            accept_cs;
  82. } FormInfo;
  83.  
  84. /*
  85.  *  As structure for info associated with a form.
  86.  *  There is some redundancy here, this shouldn't waste too much memory
  87.  *  since the total number of forms (as opposed to form fields) per doc
  88.  *  is expected to be rather small.
  89.  *  More things which are per form rather than per field could be moved
  90.  *  here. - kw
  91.  */
  92. typedef struct _PerFormInfo
  93. {
  94.     int            number;       /* form number, see GridText.c */
  95.     /* except for the last two, the followign fields aren't actually used.. */ 
  96.     int            disabled;  /* If YES, can't change values */
  97.         struct _PerFormInfo *    next;        /* pointer to next form in doc */
  98.         int            nfields;   /* number of fields */
  99.         FormInfo *        first_field;
  100.         FormInfo *        last_field; /* pointer to last field in form */
  101.         char *            accept_cs;
  102.         char *            thisacceptcs; /* used during submit */
  103. } PerFormInfo;
  104.  
  105. #define HYPERTEXT_ANCHOR 1
  106. #define INPUT_ANCHOR     2   /* forms mode input fields */
  107. #define INTERNAL_LINK_ANCHOR 5    /* 1+4, can be used as bitflag... - kw */
  108.  
  109. #define F_TEXT_TYPE       1
  110. #define F_PASSWORD_TYPE    2
  111. #define F_CHECKBOX_TYPE    3
  112. #define F_RADIO_TYPE       4
  113. #define F_SUBMIT_TYPE       5
  114. #define F_RESET_TYPE       6
  115. #define F_OPTION_LIST_TYPE 7
  116. #define F_HIDDEN_TYPE      8
  117. #define F_TEXTAREA_TYPE    9
  118. #define F_RANGE_TYPE      10
  119. #define F_FILE_TYPE       11
  120. #define F_TEXT_SUBMIT_TYPE 12
  121. #define F_IMAGE_SUBMIT_TYPE 13
  122. #define F_KEYGEN_TYPE     14
  123.  
  124. #define WWW_FORM_LINK_TYPE  1
  125. #define WWW_LINK_TYPE   2
  126. #define WWW_INTERN_LINK_TYPE   6 /* can be used as a bitflag... - kw */
  127. #define LINK_LINE_FOUND    8    /* used in follow_link_number - kw */
  128.  
  129. /* #define different lynx modes */
  130. #define NORMAL_LYNX_MODE 1
  131. #define FORMS_LYNX_MODE  2
  132.  
  133. #define FORM_UP   1
  134. #define FORM_DOWN 2
  135.  
  136. #define FIRST_ORDER  1
  137. #define MIDDLE_ORDER 2
  138. #define LAST_ORDER   3
  139.  
  140. #endif /* HTFORMS_H */
  141.