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.com>
  6.  */
  7.  
  8. #ifndef dom_internal_html_form_element_h_
  9. #define dom_internal_html_form_element_h_
  10.  
  11. #include <dom/html/html_form_element.h>
  12.  
  13. #include "html/html_element.h"
  14.  
  15. struct dom_html_collection;
  16.  
  17. struct dom_html_form_element {
  18.         struct dom_html_element base;
  19.                         /**< The base class */
  20.         struct dom_html_collection *col;
  21.                         /**< The collection of form controls */
  22. };
  23.  
  24. /* Create a dom_html_form_element object */
  25. dom_exception _dom_html_form_element_create(struct dom_html_document *doc,
  26.                 dom_string *namespace, dom_string *prefix,
  27.                 struct dom_html_form_element **ele);
  28.  
  29. /* Initialise a dom_html_form_element object */
  30. dom_exception _dom_html_form_element_initialise(struct dom_html_document *doc,
  31.                 dom_string *namespace, dom_string *prefix,
  32.                 struct dom_html_form_element *ele);
  33.  
  34. /* Finalise a dom_html_form_element object */
  35. void _dom_html_form_element_finalise(struct dom_html_form_element *ele);
  36.  
  37. /* Destroy a dom_html_form_element object */
  38. void _dom_html_form_element_destroy(struct dom_html_form_element *ele);
  39.  
  40. /* The protected virtual functions */
  41. dom_exception _dom_html_form_element_parse_attribute(dom_element *ele,
  42.                 dom_string *name, dom_string *value,
  43.                 dom_string **parsed);
  44. void _dom_virtual_html_form_element_destroy(dom_node_internal *node);
  45. dom_exception _dom_html_form_element_copy(dom_node_internal *old,
  46.                 dom_node_internal **copy);
  47.  
  48. #define DOM_HTML_FORM_ELEMENT_PROTECT_VTABLE \
  49.         _dom_html_form_element_parse_attribute
  50.  
  51. #define DOM_NODE_PROTECT_VTABLE_HTML_FORM_ELEMENT \
  52.         _dom_virtual_html_form_element_destroy, \
  53.         _dom_html_form_element_copy
  54.  
  55. #endif
  56.  
  57.