diff options
Diffstat (limited to 'render/form.h')
-rw-r--r-- | render/form.h | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/render/form.h b/render/form.h index 9088ca293..7715b9ad3 100644 --- a/render/form.h +++ b/render/form.h @@ -35,6 +35,8 @@ struct form_option; struct form_select_menu; struct html_content; struct dom_string; +struct content; +struct nsurl; /** Form submit method. */ typedef enum { @@ -76,13 +78,13 @@ typedef enum { /** Data for textarea */ struct form_textarea_data { - struct html_content *html; struct form_control *gadget; }; /** 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 */ @@ -126,6 +128,7 @@ struct form_control { /** Option in a select. */ struct form_option { + void *node; /**< Corresponding DOM node */ bool selected; bool initial_selected; char *value; @@ -133,6 +136,11 @@ struct form_option { struct form_option* next; }; +struct image_input_coords { + int x; + int y; +}; + /** * Called by the select menu when it wants an area to be redrawn. The * coordinates are menu origin relative. @@ -154,10 +162,13 @@ struct form_control *form_new_control(void *node, form_control_type type); void form_add_control(struct form *form, struct form_control *control); void form_free_control(struct form_control *control); bool form_add_option(struct form_control *control, char *value, char *text, - bool selected); + bool selected, void *node); bool form_successful_controls(struct form *form, struct form_control *submit_button, struct fetch_multipart_data **successful_controls); +bool form_successful_controls_dom(struct form *form, + struct form_control *submit_button, + struct fetch_multipart_data **successful_controls); bool form_open_select_menu(void *client_data, struct form_control *control, @@ -177,10 +188,11 @@ void form_select_mouse_drag_end(struct form_control *control, browser_mouse_state mouse, int x, int y); void form_select_get_dimensions(struct form_control *control, int *width, int *height); -void form_select_process_selection(hlcache_handle *h, - struct form_control *control, int item); -void form_submit(nsurl *page_url, struct browser_window *target, +void form_select_process_selection(struct form_control *control, int item); +void form_submit(struct nsurl *page_url, struct browser_window *target, struct form *form, struct form_control *submit_button); -void form_radio_set(struct html_content *html, struct form_control *radio); +void form_radio_set(struct form_control *radio); + +void form_gadget_update_value(struct form_control *control, char *value); #endif |