98 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* $Id: form.h,v 1.5 2001/11/30 10:10:24 ukai Exp $ */
 | 
						|
/*
 | 
						|
 * HTML forms 
 | 
						|
 */
 | 
						|
#ifndef FORM_H
 | 
						|
#define FORM_H
 | 
						|
 | 
						|
#include "Str.h"
 | 
						|
 | 
						|
#define FORM_UNKNOWN        -1
 | 
						|
#define FORM_INPUT_TEXT     0
 | 
						|
#define FORM_INPUT_PASSWORD 1
 | 
						|
#define FORM_INPUT_CHECKBOX 2
 | 
						|
#define FORM_INPUT_RADIO    3
 | 
						|
#define FORM_INPUT_SUBMIT   4
 | 
						|
#define FORM_INPUT_RESET    5
 | 
						|
#define FORM_INPUT_HIDDEN   6
 | 
						|
#define FORM_INPUT_IMAGE    7
 | 
						|
#define FORM_SELECT         8
 | 
						|
#define FORM_TEXTAREA       9
 | 
						|
#define FORM_INPUT_BUTTON   10
 | 
						|
#define FORM_INPUT_FILE     11
 | 
						|
 | 
						|
#define FORM_I_TEXT_DEFAULT_SIZE 40
 | 
						|
#define FORM_I_SELECT_DEFAULT_SIZE 40
 | 
						|
#define FORM_I_TEXTAREA_DEFAULT_WIDTH 40
 | 
						|
 | 
						|
#define FORM_METHOD_GET 0
 | 
						|
#define FORM_METHOD_POST 1
 | 
						|
#define FORM_METHOD_INTERNAL 2
 | 
						|
#define FORM_METHOD_HEAD 3
 | 
						|
 | 
						|
#define FORM_ENCTYPE_URLENCODED 0
 | 
						|
#define FORM_ENCTYPE_MULTIPART  1
 | 
						|
 | 
						|
#define MAX_TEXTAREA 10		/* max number of <textarea>..</textarea> 
 | 
						|
				 * within one document */
 | 
						|
#ifdef MENU_SELECT
 | 
						|
#define MAX_SELECT 10		/* max number of <select>..</select>
 | 
						|
				 * within one document */
 | 
						|
#endif				/* MENU_SELECT */
 | 
						|
 | 
						|
typedef struct form_list {
 | 
						|
    struct form_item_list *item;
 | 
						|
    struct form_item_list *lastitem;
 | 
						|
    int method;
 | 
						|
    Str action;
 | 
						|
    char *target;
 | 
						|
    char *name;
 | 
						|
    int charset;
 | 
						|
    int enctype;
 | 
						|
    struct form_list *next;
 | 
						|
    int nitems;
 | 
						|
    char *body;
 | 
						|
    char *boundary;
 | 
						|
    unsigned long length;
 | 
						|
} FormList;
 | 
						|
 | 
						|
#ifdef MENU_SELECT
 | 
						|
typedef struct form_select_option_item {
 | 
						|
    Str value;
 | 
						|
    Str label;
 | 
						|
    int checked;
 | 
						|
    struct form_select_option_item *next;
 | 
						|
} FormSelectOptionItem;
 | 
						|
 | 
						|
typedef struct form_select_option {
 | 
						|
    FormSelectOptionItem *first;
 | 
						|
    FormSelectOptionItem *last;
 | 
						|
} FormSelectOption;
 | 
						|
 | 
						|
void addSelectOption(FormSelectOption *fso, Str value, Str label, int chk);
 | 
						|
void chooseSelectOption(struct form_item_list *fi, FormSelectOptionItem *item);
 | 
						|
void updateSelectOption(struct form_item_list *fi, FormSelectOptionItem *item);
 | 
						|
int formChooseOptionByMenu(struct form_item_list *fi, int x, int y);
 | 
						|
#endif				/* MENU_SELECT */
 | 
						|
 | 
						|
typedef struct form_item_list {
 | 
						|
    int type;
 | 
						|
    Str name;
 | 
						|
    Str value, init_value;
 | 
						|
    int checked, init_checked;
 | 
						|
    int accept;
 | 
						|
    int size;
 | 
						|
    int rows;
 | 
						|
    int maxlength;
 | 
						|
    int readonly;
 | 
						|
#ifdef MENU_SELECT
 | 
						|
    FormSelectOptionItem *select_option;
 | 
						|
    Str label, init_label;
 | 
						|
    int selected, init_selected;
 | 
						|
#endif				/* MENU_SELECT */
 | 
						|
    struct form_list *parent;
 | 
						|
    struct form_item_list *next;
 | 
						|
} FormItemList;
 | 
						|
 | 
						|
#endif				/* not FORM_H */
 |