libdom
Loading...
Searching...
No Matches
html_select_element.c File Reference
#include <assert.h>
#include <stdlib.h>
#include <dom/html/html_option_element.h>
#include <dom/html/html_options_collection.h>
#include "html/html_document.h"
#include "html/html_select_element.h"
#include "core/node.h"
#include "utils/utils.h"

Functions

dom_exception _dom_html_select_element_create (struct dom_html_element_create_params *params, struct dom_html_select_element **ele)
 
dom_exception _dom_html_select_element_initialise (struct dom_html_element_create_params *params, struct dom_html_select_element *ele)
 
void _dom_html_select_element_finalise (struct dom_html_select_element *ele)
 
void _dom_html_select_element_destroy (struct dom_html_select_element *ele)
 
dom_exception _dom_html_select_element_parse_attribute (dom_element *ele, dom_string *name, dom_string *value, dom_string **parsed)
 
void _dom_virtual_html_select_element_destroy (dom_node_internal *node)
 
dom_exception _dom_html_select_element_copy (dom_node_internal *old, dom_node_internal **copy)
 
dom_exception _dom_html_select_element_copy_internal (dom_html_select_element *old, dom_html_select_element *new)
 
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, int32_t *index)
 
dom_exception dom_html_select_element_set_selected_index (dom_html_select_element *ele, int32_t 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, uint32_t *len)
 
dom_exception dom_html_select_element_set_length (dom_html_select_element *ele, uint32_t len)
 
dom_exception dom_html_select_element_get_form (dom_html_select_element *select, 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, int32_t *size)
 
dom_exception dom_html_select_element_set_size (dom_html_select_element *ele, int32_t size)
 
dom_exception dom_html_select_element_get_tab_index (dom_html_select_element *ele, int32_t *tab_index)
 
dom_exception dom_html_select_element_set_tab_index (dom_html_select_element *ele, int32_t tab_index)
 
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, int32_t 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)
 
dom_exception _dom_html_select_element_set_form (dom_html_select_element *select, dom_html_form_element *form)
 

Function Documentation

◆ _dom_html_select_element_copy()

dom_exception _dom_html_select_element_copy ( dom_node_internal * old,
dom_node_internal ** copy )

◆ _dom_html_select_element_copy_internal()

dom_exception _dom_html_select_element_copy_internal ( dom_html_select_element * old,
dom_html_select_element * new )

◆ _dom_html_select_element_create()

dom_exception _dom_html_select_element_create ( struct dom_html_element_create_params * params,
struct dom_html_select_element ** ele )

Create a dom_html_select_element object

Parameters
paramsThe html element creation parameters
eleThe returned element object
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.

◆ _dom_html_select_element_destroy()

void _dom_html_select_element_destroy ( struct dom_html_select_element * ele)

Destroy a dom_html_select_element object

Parameters
eleThe dom_html_select_element object

◆ _dom_html_select_element_finalise()

void _dom_html_select_element_finalise ( struct dom_html_select_element * ele)

Finalise a dom_html_select_element object

Parameters
eleThe dom_html_select_element object

◆ _dom_html_select_element_initialise()

dom_exception _dom_html_select_element_initialise ( struct dom_html_element_create_params * params,
struct dom_html_select_element * ele )

Initialise a dom_html_select_element object

Parameters
paramsThe html element creation parameters
eleThe dom_html_select_element object
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.

◆ _dom_html_select_element_parse_attribute()

dom_exception _dom_html_select_element_parse_attribute ( dom_element * ele,
dom_string * name,
dom_string * value,
dom_string ** parsed )

◆ _dom_html_select_element_set_form()

dom_exception _dom_html_select_element_set_form ( dom_html_select_element * select,
dom_html_form_element * form )

◆ _dom_virtual_html_select_element_destroy()

void _dom_virtual_html_select_element_destroy ( dom_node_internal * node)

◆ dom__html_select_element_add()

dom_exception dom__html_select_element_add ( dom_html_select_element * select,
struct dom_html_element * ele,
struct dom_html_element * before )

◆ dom__html_select_element_get_options()

dom_exception dom__html_select_element_get_options ( dom_html_select_element * ele,
struct dom_html_options_collection ** col )

The collection of OPTION elements of this element

Parameters
eleThe element object
colTHe returned collection object
Returns
DOM_NO_ERR on success.

◆ dom_html_select_element_blur()

dom_exception dom_html_select_element_blur ( struct dom_html_select_element * ele)

Blur this control

Parameters
eleElement to blur
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.
Todo
Is this event (a) default (b) bubbling and (c) cancelable?

◆ dom_html_select_element_focus()

dom_exception dom_html_select_element_focus ( struct dom_html_select_element * ele)

Focus this control

Parameters
eleElement to focus
Returns
DOM_NO_ERR on success, appropriate dom_exception on failure.
Todo
Is this event (a) default (b) bubbling and (c) cancelable?

◆ dom_html_select_element_get_disabled()

dom_exception dom_html_select_element_get_disabled ( dom_html_select_element * ele,
bool * disabled )

Whether this element is disabled

Parameters
eleThe element object
disabledThe returned status
Returns
DOM_NO_ERR on success.

◆ dom_html_select_element_get_form()

dom_exception dom_html_select_element_get_form ( dom_html_select_element * select,
dom_html_form_element ** form )

Get the form associated with a select

Parameters
selectThe dom_html_select_element object
formPointer to location to receive form
Returns
DOM_NO_ERR on success, appropriate error otherwise.

◆ dom_html_select_element_get_length()

dom_exception dom_html_select_element_get_length ( dom_html_select_element * ele,
uint32_t * len )

Get the number of options in this select element

Parameters
eleThe element object
lenThe returned len
Returns
DOM_NO_ERR on success.

◆ dom_html_select_element_get_multiple()

dom_exception dom_html_select_element_get_multiple ( dom_html_select_element * ele,
bool * multiple )

Whether this element can be multiple selected

Parameters
eleThe element object
multipleThe returned status
Returns
DOM_NO_ERR on success.

◆ dom_html_select_element_get_name()

dom_exception dom_html_select_element_get_name ( dom_html_select_element * ele,
dom_string ** name )

Get the name property

Parameters
eleThe select element
namePointer to location to receive name
Returns
DOM_NO_ERR on success, appropriate error otherwise.

◆ dom_html_select_element_get_selected_index()

dom_exception dom_html_select_element_get_selected_index ( dom_html_select_element * ele,
int32_t * index )

Get the ordinal index of the selected option

Parameters
eleThe element object
indexThe returned index
Returns
DOM_NO_ERR on success.

◆ dom_html_select_element_get_size()

dom_exception dom_html_select_element_get_size ( dom_html_select_element * ele,
int32_t * size )

Get the size property

Parameters
eleThe select element
sizePointer to location to receive size
Returns
DOM_NO_ERR on success, appropriate error otherwise.

◆ dom_html_select_element_get_tab_index()

dom_exception dom_html_select_element_get_tab_index ( dom_html_select_element * ele,
int32_t * tab_index )

Get the tabindex property

Parameters
eleThe select element
tab_indexPointer to location to receive tab index
Returns
DOM_NO_ERR on success, appropriate error otherwise.

◆ dom_html_select_element_get_type()

dom_exception dom_html_select_element_get_type ( dom_html_select_element * ele,
dom_string ** type )

Get the type of selection control

Parameters
eleThe Select element
typePointer to location to receive type
Returns
DOM_NO_ERR on success, appropriate error otherwise.

◆ dom_html_select_element_get_value()

dom_exception dom_html_select_element_get_value ( dom_html_select_element * ele,
dom_string ** value )

Get the value of this form control

Parameters
eleThe select element
valuePointer to location to receive value
Returns
DOM_NO_ERR on success, appropriate error otherwise.

◆ dom_html_select_element_remove()

dom_exception dom_html_select_element_remove ( dom_html_select_element * ele,
int32_t index )

◆ dom_html_select_element_set_disabled()

dom_exception dom_html_select_element_set_disabled ( dom_html_select_element * ele,
bool disabled )

Set the disabled status of this element

Parameters
eleThe element object
disabledThe disabled status
Returns
DOM_NO_ERR on success.

◆ dom_html_select_element_set_length()

dom_exception dom_html_select_element_set_length ( dom_html_select_element * ele,
uint32_t len )

Set the number of options in this select element

Parameters
eleThe element object
lenThe new len
Returns
DOM_NOT_SUPPORTED_ERR.

todo: how to deal with set the len of the children option objects?

◆ dom_html_select_element_set_multiple()

dom_exception dom_html_select_element_set_multiple ( dom_html_select_element * ele,
bool multiple )

Set whether this element can be multiple selected

Parameters
eleThe element object
multipleThe status
Returns
DOM_NO_ERR on success.

◆ dom_html_select_element_set_name()

dom_exception dom_html_select_element_set_name ( dom_html_select_element * ele,
dom_string * name )

Set the name property

Parameters
eleThe select element
nameNew name
Returns
DOM_NO_ERR on success, appropriate error otherwise.

◆ dom_html_select_element_set_selected_index()

dom_exception dom_html_select_element_set_selected_index ( dom_html_select_element * ele,
int32_t index )

Set the ordinal index of the selected option

Parameters
eleThe element object
indexThe new index
Returns
DOM_NO_ERR on success.

◆ dom_html_select_element_set_size()

dom_exception dom_html_select_element_set_size ( dom_html_select_element * ele,
int32_t size )

Set the size property

Parameters
eleThe select element
sizeNew size
Returns
DOM_NO_ERR on success, appropriate error otherwise.

◆ dom_html_select_element_set_tab_index()

dom_exception dom_html_select_element_set_tab_index ( dom_html_select_element * ele,
int32_t tab_index )

Set the tabindex property

Parameters
eleThe select element
tab_indexNew tab index
Returns
DOM_NO_ERR on success, appropriate error otherwise.

◆ dom_html_select_element_set_value()

dom_exception dom_html_select_element_set_value ( dom_html_select_element * ele,
dom_string * value )

Set the value of this form control

Parameters
eleThe select element
valueNew value
Returns
DOM_NO_ERR on success, appropriate error otherwise.