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 2012 Daniel Silverstone <dsilvers@netsurf-browser.org>
  6.  */
  7.  
  8. #ifndef dom_internal_html_text_area_element_h_
  9. #define dom_internal_html_text_area_element_h_
  10.  
  11. #include <dom/html/html_text_area_element.h>
  12.  
  13. #include "html/html_element.h"
  14.  
  15. struct dom_html_text_area_element {
  16.         struct dom_html_element base;
  17.                         /**< The base class */
  18.         struct dom_html_form_element *form;
  19.                         /**< The form associated with the text_area */
  20.         dom_string *default_value; /**< Initial value */
  21.         bool default_value_set; /**< Whether default_value has been set */
  22.         dom_string *value; /**< Current value */
  23.         bool value_set; /**< Whether value has been set */
  24. };
  25.  
  26. /* Create a dom_html_text_area_element object */
  27. dom_exception _dom_html_text_area_element_create(struct dom_html_document *doc,
  28.                 dom_string *namespace, dom_string *prefix,
  29.                 struct dom_html_text_area_element **ele);
  30.  
  31. /* Initialise a dom_html_text_area_element object */
  32. dom_exception _dom_html_text_area_element_initialise(struct dom_html_document *doc,
  33.                 dom_string *namespace, dom_string *prefix,
  34.                 struct dom_html_text_area_element *ele);
  35.  
  36. /* Finalise a dom_html_text_area_element object */
  37. void _dom_html_text_area_element_finalise(struct dom_html_text_area_element *ele);
  38.  
  39. /* Destroy a dom_html_text_area_element object */
  40. void _dom_html_text_area_element_destroy(struct dom_html_text_area_element *ele);
  41.  
  42. /* The protected virtual functions */
  43. dom_exception _dom_html_text_area_element_parse_attribute(dom_element *ele,
  44.                 dom_string *name, dom_string *value,
  45.                 dom_string **parsed);
  46. void _dom_virtual_html_text_area_element_destroy(dom_node_internal *node);
  47. dom_exception _dom_html_text_area_element_copy(dom_node_internal *old,
  48.                 dom_node_internal **copy);
  49.  
  50. #define DOM_HTML_TEXT_AREA_ELEMENT_PROTECT_VTABLE \
  51.         _dom_html_text_area_element_parse_attribute
  52.  
  53. #define DOM_NODE_PROTECT_VTABLE_HTML_TEXT_AREA_ELEMENT \
  54.         _dom_virtual_html_text_area_element_destroy, \
  55.         _dom_html_text_area_element_copy
  56.  
  57. /* Internal function for bindings */
  58.  
  59. dom_exception _dom_html_text_area_element_set_form(
  60.         dom_html_text_area_element *text_area, dom_html_form_element *form);
  61.  
  62. #endif
  63.