diff options
Diffstat (limited to 'render/form.h')
-rw-r--r-- | render/form.h | 112 |
1 files changed, 20 insertions, 92 deletions
diff --git a/render/form.h b/render/form.h index eefa5ae37..82e02f61a 100644 --- a/render/form.h +++ b/render/form.h @@ -25,49 +25,11 @@ #ifndef _NETSURF_RENDER_FORM_H_ #define _NETSURF_RENDER_FORM_H_ -#include <stdbool.h> - -struct box; struct form_control; -struct form_option; -struct form_select_menu; -struct form; -struct html_content; -struct dom_string; -struct content; -struct nsurl; -struct fetch_multipart_data; -struct redraw_context; -struct browser_window; - -enum browser_mouse_state; - - - -/** Type of a struct form_control. */ -typedef enum { - GADGET_HIDDEN, - GADGET_TEXTBOX, - GADGET_RADIO, - GADGET_CHECKBOX, - GADGET_SELECT, - GADGET_TEXTAREA, - GADGET_IMAGE, - GADGET_PASSWORD, - GADGET_SUBMIT, - GADGET_RESET, - GADGET_FILE, - GADGET_BUTTON -} form_control_type; - -/** Data for textarea */ -struct form_textarea_data { - struct form_control *gadget; -}; /** Option in a select. */ struct form_option { - void *node; /**< Corresponding DOM node */ + void *node; /**< Corresponding DOM node */ bool selected; bool initial_selected; char *value; @@ -75,63 +37,29 @@ struct form_option { struct form_option* next; }; -struct image_input_coords { - int x; - int y; -}; - -/** Form control. */ -struct form_control { - void *node; /**< Corresponding DOM node */ - struct html_content *html; /**< HTML content containing control */ - - form_control_type type; /**< Type of control */ - - struct form *form; /**< Containing form */ - - char *name; /**< Control name */ - char *value; /**< Current value of control */ - char *initial_value; /**< Initial value of control */ - bool disabled; /**< Whether control is disabled */ - - struct box *box; /**< Box for control */ - - unsigned int length; /**< Number of characters in control */ - unsigned int maxlength; /**< Maximum characters permitted */ - - bool selected; /**< Whether control is selected */ - - union { - struct { - int mx, my; - } image; - struct { - int num_items; - struct form_option *items, *last_item; - bool multiple; - int num_selected; - /** Currently selected item, if num_selected == 1. */ - struct form_option *current; - struct form_select_menu *menu; - } select; - struct { - struct textarea *ta; - struct dom_string *initial; - struct form_textarea_data data; - } text; /**< input type=text or textarea */ - } data; - - struct form_control *prev; /**< Previous control in this form */ - struct form_control *next; /**< Next control in this form. */ -}; - - /** * Process a selection from a form select menu. * - * \param control form control with menu - * \param item index of item selected from the menu + * \param control form control with menu. + * \param item index of item selected from the menu. */ nserror form_select_process_selection(struct form_control *control, int item); +/** + * get a form select menus option. + * + * \param control The form control. + * \param item The index of the menu entry to return. + * \return The form option at that index. + */ +struct form_option *form_select_get_option(struct form_control *control, int item); + +/** + * Get a form control name + * + * \param control The form control + * \return The form control name + */ +char *form_control_get_name(struct form_control *control); + #endif |