From 2a9572f844e04332d6a448b2f52be8ba2a5e8784 Mon Sep 17 00:00:00 2001 From: John-Mark Bell Date: Wed, 8 Aug 2012 10:56:53 +0100 Subject: Mostly implement HTMLOptionElement, HTMLSelectElement. Enable HTMLOptionElement tests that pass. --- include/dom/dom.h | 2 ++ include/dom/html/html_option_element.h | 52 +++++++++++++++++++++++++++++++++- include/dom/html/html_select_element.h | 34 +++++++++++++++++++--- 3 files changed, 83 insertions(+), 5 deletions(-) (limited to 'include/dom') diff --git a/include/dom/dom.h b/include/dom/dom.h index b68085a..f9d8817 100644 --- a/include/dom/dom.h +++ b/include/dom/dom.h @@ -52,6 +52,8 @@ #include #include #include +#include +#include /* DOM Events header */ #include diff --git a/include/dom/html/html_option_element.h b/include/dom/html/html_option_element.h index 2e182d5..53ba286 100644 --- a/include/dom/html/html_option_element.h +++ b/include/dom/html/html_option_element.h @@ -2,6 +2,56 @@ * This file is part of libdom. * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php - * Copyright 2009 Bo Yang + * Copyright 2012 John-Mark Bell */ +#ifndef dom_html_option_element_h_ +#define dom_html_option_element_h_ + +#include +#include +#include +#include + +typedef struct dom_html_option_element dom_html_option_element; + +dom_exception dom_html_option_element_get_form( + dom_html_option_element *option, dom_html_form_element **form); + +dom_exception dom_html_option_element_get_default_selected( + dom_html_option_element *option, bool *default_selected); + +dom_exception dom_html_option_element_set_default_selected( + dom_html_option_element *option, bool default_selected); + +dom_exception dom_html_option_element_get_text( + dom_html_option_element *option, dom_string **text); + +dom_exception dom_html_option_element_get_index( + dom_html_option_element *option, unsigned long *index); + +dom_exception dom_html_option_element_get_disabled( + dom_html_option_element *option, bool *disabled); + +dom_exception dom_html_option_element_set_disabled( + dom_html_option_element *option, bool disabled); + +dom_exception dom_html_option_element_get_label( + dom_html_option_element *option, dom_string **label); + +dom_exception dom_html_option_element_set_label( + dom_html_option_element *option, dom_string *label); + +dom_exception dom_html_option_element_get_selected( + dom_html_option_element *option, bool *selected); + +dom_exception dom_html_option_element_set_selected( + dom_html_option_element *option, bool selected); + +dom_exception dom_html_option_element_get_value( + dom_html_option_element *option, dom_string **value); + +dom_exception dom_html_option_element_set_value( + dom_html_option_element *option, dom_string *value); + +#endif diff --git a/include/dom/html/html_select_element.h b/include/dom/html/html_select_element.h index 10c002a..89b6844 100644 --- a/include/dom/html/html_select_element.h +++ b/include/dom/html/html_select_element.h @@ -12,44 +12,70 @@ #include +#include + typedef struct dom_html_select_element dom_html_select_element; struct dom_html_options_collection; struct dom_html_element; +dom_exception dom_html_select_element_get_type( + dom_html_select_element *ele, dom_string **type); + dom_exception dom_html_select_element_get_selected_index( dom_html_select_element *ele, unsigned long *index); dom_exception dom_html_select_element_set_selected_index( dom_html_select_element *ele, unsigned long index); + +dom_exception dom_html_select_element_get_value( + dom_html_select_element *ele, dom_string **value); +dom_exception dom_html_select_element_set_value( + dom_html_select_element *ele, dom_string *value); + dom_exception dom_html_select_element_get_length( dom_html_select_element *ele, unsigned long *len); dom_exception dom_html_select_element_set_length( dom_html_select_element *ele, unsigned long len); + +dom_exception dom_html_select_element_get_form( + dom_html_select_element *ele, dom_html_form_element **form); + dom_exception dom_html_select_element_get_options( dom_html_select_element *ele, struct dom_html_options_collection **col); + dom_exception dom_html_select_element_get_disabled( dom_html_select_element *ele, bool *disabled); dom_exception dom_html_select_element_set_disabled( dom_html_select_element *ele, bool disabled); + dom_exception dom_html_select_element_get_multiple( dom_html_select_element *ele, bool *multiple); dom_exception dom_html_select_element_set_multiple( dom_html_select_element *ele, bool multiple); + +dom_exception dom_html_select_element_get_name( + dom_html_select_element *ele, dom_string **name); +dom_exception dom_html_select_element_set_name( + dom_html_select_element *ele, dom_string *name); + dom_exception dom_html_select_element_get_size( dom_html_select_element *ele, unsigned long *size); dom_exception dom_html_select_element_set_size( dom_html_select_element *ele, unsigned long size); + dom_exception dom_html_select_element_get_tab_index( dom_html_select_element *ele, unsigned long *tab_index); dom_exception dom_html_select_element_set_tab_index( dom_html_select_element *ele, unsigned long tab_index); /* Functions */ -dom_exception dom_html_select_element_add(struct dom_html_element *ele, - struct dom_html_element *before); -dom_exception dom_html_element_blur(struct dom_html_select_element *ele); -dom_exception dom_html_element_focus(struct dom_html_select_element *ele); +dom_exception dom_html_select_element_add(dom_html_select_element *select, + struct dom_html_element *ele, struct dom_html_element *before); +dom_exception dom_html_select_element_remove(dom_html_select_element *ele, + long index); +dom_exception dom_html_select_element_blur(struct dom_html_select_element *ele); +dom_exception dom_html_select_element_focus(struct dom_html_select_element *ele); #endif -- cgit v1.2.3