Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * This file is part of libdom.
  3.  * Licensed under the MIT License,
  4.  *                http://www.opensource.org/licenses/mit-license.php
  5.  * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com>
  6.  */
  7.  
  8. #ifndef dom_internal_html_select_element_h_
  9. #define dom_internal_html_select_element_h_
  10.  
  11. #include <dom/html/html_select_element.h>
  12.  
  13. #include "html/html_element.h"
  14. #include "html/html_options_collection.h"
  15.  
  16. struct dom_html_select_element {
  17.         struct dom_html_element base;
  18.                         /**< The base class */
  19.         int32_t selected;
  20.                         /**< The selected element's index */
  21.         dom_html_form_element *form;
  22.                         /**< The form associated with select */
  23.         dom_html_options_collection *options;
  24.                         /**< The options objects */
  25. };
  26.  
  27. /* Create a dom_html_select_element object */
  28. dom_exception _dom_html_select_element_create(struct dom_html_document *doc,
  29.                 dom_string *namespace, dom_string *prefix,
  30.                 struct dom_html_select_element **ele);
  31.  
  32. /* Initialise a dom_html_select_element object */
  33. dom_exception _dom_html_select_element_initialise(struct dom_html_document *doc,
  34.                 dom_string *namespace, dom_string *prefix,
  35.                 struct dom_html_select_element *ele);
  36.  
  37. /* Finalise a dom_html_select_element object */
  38. void _dom_html_select_element_finalise(struct dom_html_select_element *ele);
  39.  
  40. /* Destroy a dom_html_select_element object */
  41. void _dom_html_select_element_destroy(struct dom_html_select_element *ele);
  42.  
  43. /* The protected virtual functions */
  44. dom_exception _dom_html_select_element_parse_attribute(dom_element *ele,
  45.                 dom_string *name, dom_string *value,
  46.                 dom_string **parsed);
  47. void _dom_virtual_html_select_element_destroy(dom_node_internal *node);
  48. dom_exception _dom_html_select_element_copy(dom_node_internal *old,
  49.                 dom_node_internal **copy);
  50.  
  51. #define DOM_HTML_SELECT_ELEMENT_PROTECT_VTABLE \
  52.         _dom_html_select_element_parse_attribute
  53.  
  54. #define DOM_NODE_PROTECT_VTABLE_HTML_SELECT_ELEMENT \
  55.         _dom_virtual_html_select_element_destroy, \
  56.         _dom_html_select_element_copy
  57.  
  58. /* Internal function for bindings */
  59.  
  60. dom_exception _dom_html_select_element_set_form(
  61.         dom_html_select_element *select, dom_html_form_element *form);
  62.  
  63. #endif
  64.  
  65.