summaryrefslogtreecommitdiff
path: root/render/form.h
diff options
context:
space:
mode:
Diffstat (limited to 'render/form.h')
-rw-r--r--render/form.h112
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