summaryrefslogtreecommitdiffstats
path: root/tdehtml/dom/html_form.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdehtml/dom/html_form.h')
-rw-r--r--tdehtml/dom/html_form.h1427
1 files changed, 1427 insertions, 0 deletions
diff --git a/tdehtml/dom/html_form.h b/tdehtml/dom/html_form.h
new file mode 100644
index 000000000..0623e421b
--- /dev/null
+++ b/tdehtml/dom/html_form.h
@@ -0,0 +1,1427 @@
+/*
+ * This file is part of the DOM implementation for KDE.
+ *
+ * (C) 1999 Lars Knoll (knoll@kde.org)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ * This file includes excerpts from the Document Object Model (DOM)
+ * Level 1 Specification (Recommendation)
+ * http://www.w3.org/TR/REC-DOM-Level-1/
+ * Copyright © World Wide Web Consortium , (Massachusetts Institute of
+ * Technology , Institut National de Recherche en Informatique et en
+ * Automatique , Keio University ). All Rights Reserved.
+ *
+ */
+#ifndef HTML_FORM_H
+#define HTML_FORM_H
+
+// --------------------------------------------------------------------------
+#include <dom/html_element.h>
+#include <dom/html_misc.h>
+
+#include <kdemacros.h>
+
+namespace DOM {
+
+class HTMLButtonElementImpl;
+class HTMLFormElement;
+class DOMString;
+
+/**
+ * Push button. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-BUTTON">
+ * BUTTON element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLButtonElement : public HTMLElement
+{
+public:
+ HTMLButtonElement();
+ HTMLButtonElement(const HTMLButtonElement &other);
+ HTMLButtonElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLButtonElement(HTMLButtonElementImpl *impl);
+public:
+
+ HTMLButtonElement & operator = (const HTMLButtonElement &other);
+ HTMLButtonElement & operator = (const Node &other);
+
+ ~HTMLButtonElement();
+
+ /**
+ * Returns the \c FORM element containing this
+ * control. Returns null if this control is not within the context
+ * of a form.
+ *
+ */
+ HTMLFormElement form() const;
+
+ /**
+ * A single character access key to give access to the form
+ * control. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-accesskey">
+ * accesskey attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString accessKey() const;
+
+ /**
+ * see accessKey
+ */
+ void setAccessKey( const DOMString & );
+
+ /**
+ * The control is unavailable in this context. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-disabled">
+ * disabled attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool disabled() const;
+
+ /**
+ * see disabled
+ */
+ void setDisabled( bool );
+
+ /**
+ * Form control or object name when submitted with a form. See the
+ * <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-name-BUTTON">
+ * name attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString name() const;
+
+ /**
+ * see name
+ */
+ void setName( const DOMString & );
+
+ /**
+ * Index that represents the element's position in the tabbing
+ * order. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-tabindex">
+ * tabindex attribute definition </a> in HTML 4.0.
+ *
+ */
+ long tabIndex() const;
+
+ /**
+ * see tabIndex
+ */
+ void setTabIndex( long );
+
+ /**
+ * The type of button. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-type-BUTTON">
+ * type attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString type() const;
+
+ /**
+ * The current form control value. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-value-BUTTON">
+ * value attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString value() const;
+
+ /**
+ * see value
+ */
+ void setValue( const DOMString & );
+
+ /**
+ * Removes keyboard focus from this element.
+ *
+ */
+ void blur ( );
+
+ /**
+ * Gives keyboard focus to this element.
+ *
+ */
+ void focus ( );
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLFieldSetElementImpl;
+/**
+ * Organizes form controls into logical groups. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-FIELDSET">
+ * FIELDSET element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLFieldSetElement : public HTMLElement
+{
+public:
+ HTMLFieldSetElement();
+ HTMLFieldSetElement(const HTMLFieldSetElement &other);
+ HTMLFieldSetElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLFieldSetElement(HTMLFieldSetElementImpl *impl);
+public:
+
+ HTMLFieldSetElement & operator = (const HTMLFieldSetElement &other);
+ HTMLFieldSetElement & operator = (const Node &other);
+
+ ~HTMLFieldSetElement();
+
+ /**
+ * ### KDE 4.0: remove.
+ */
+ HTMLFormElement form() const;
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLFormElementImpl;
+/**
+ * The \c FORM element encompasses behavior similar to a
+ * collection and an element. It provides direct access to the
+ * contained input elements as well as the attributes of the form
+ * element. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-FORM">
+ * FORM element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLFormElement : public HTMLElement
+{
+ friend class HTMLButtonElement;
+ friend class HTMLFieldSetElement;
+ friend class HTMLInputElement;
+ friend class HTMLLabelElement;
+ friend class HTMLLegendElement;
+ friend class HTMLSelectElement;
+ friend class HTMLTextAreaElement;
+ friend class HTMLOptionElement;
+ friend class HTMLIsIndexElement;
+ friend class HTMLObjectElement;
+
+public:
+ HTMLFormElement();
+ HTMLFormElement(const HTMLFormElement &other);
+ HTMLFormElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLFormElement(HTMLFormElementImpl *impl);
+public:
+
+ HTMLFormElement & operator = (const HTMLFormElement &other);
+ HTMLFormElement & operator = (const Node &other);
+
+ ~HTMLFormElement();
+
+ /**
+ * Returns a collection of all control elements in the form.
+ *
+ */
+ HTMLCollection elements() const;
+
+ /**
+ * The number of form controls in the form.
+ *
+ */
+ long length() const;
+
+ /**
+ * Names the form.
+ *
+ */
+ DOMString name() const;
+
+ /**
+ * see name
+ */
+ void setName( const DOMString & );
+
+ /**
+ * List of character sets supported by the server. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-accept-charset">
+ * accept-charset attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString acceptCharset() const;
+
+ /**
+ * see acceptCharset
+ */
+ void setAcceptCharset( const DOMString & );
+
+ /**
+ * Server-side form handler. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-action">
+ * action attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString action() const;
+
+ /**
+ * see action
+ */
+ void setAction( const DOMString & );
+
+ /**
+ * The content type of the submitted form, generally
+ * "application/x-www-form-urlencoded". See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-enctype">
+ * enctype attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString enctype() const;
+
+ /**
+ * see enctype
+ */
+ void setEnctype( const DOMString & );
+
+ /**
+ * HTTP method used to submit form. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-method">
+ * method attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString method() const;
+
+ /**
+ * see method
+ */
+ void setMethod( const DOMString & );
+
+ /**
+ * Frame to render the resource in. See the <a
+ * href="http://www.w3.org/TR/REC-html40/present/frames.html#adef-target">
+ * target attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString target() const;
+
+ /**
+ * see target
+ */
+ void setTarget( const DOMString & );
+
+ /**
+ * Submits the form. It performs the same action as a submit
+ * button.
+ *
+ */
+ void submit ( );
+
+ /**
+ * Restores a form element's default values. It performs the same
+ * action as a reset button.
+ *
+ */
+ void reset ( );
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLInputElementImpl;
+/**
+ * Form control. Note. Depending upon the environment the page is
+ * being viewed, the value property may be read-only for the file
+ * upload input type. For the "password" input type, the actual value
+ * returned may be masked to prevent unauthorized use. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-INPUT">
+ * INPUT element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLInputElement : public HTMLElement
+{
+public:
+ HTMLInputElement();
+ HTMLInputElement(const HTMLInputElement &other);
+ HTMLInputElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLInputElement(HTMLInputElementImpl *impl);
+public:
+
+ HTMLInputElement & operator = (const HTMLInputElement &other);
+ HTMLInputElement & operator = (const Node &other);
+
+ ~HTMLInputElement();
+
+ /**
+ * Stores the initial control value (i.e., the initial value of
+ * \c value ).
+ *
+ */
+ DOMString defaultValue() const;
+
+ /**
+ * see defaultValue
+ */
+ void setDefaultValue( const DOMString & );
+
+ /**
+ * When \c type has the value "Radio" or "Checkbox",
+ * stores the initial value of the \c checked
+ * attribute.
+ *
+ */
+ bool defaultChecked() const;
+
+ /**
+ * see defaultChecked
+ */
+ void setDefaultChecked( bool );
+
+ /**
+ * ### KDE 4.0: remove.
+ */
+ HTMLFormElement form() const;
+
+ /**
+ * A comma-separated list of content types that a server
+ * processing this form will handle correctly. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-accept">
+ * accept attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString accept() const;
+
+ /**
+ * see accept
+ */
+ void setAccept( const DOMString & );
+
+ /**
+ * A single character access key to give access to the form
+ * control. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-accesskey">
+ * accesskey attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString accessKey() const;
+
+ /**
+ * see accessKey
+ */
+ void setAccessKey( const DOMString & );
+
+ /**
+ * Aligns this object (vertically or horizontally) with respect to
+ * its surrounding text. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/objects.html#adef-align-IMG">
+ * align attribute definition </a> in HTML 4.0. This attribute is
+ * deprecated in HTML 4.0.
+ *
+ */
+ DOMString align() const;
+
+ /**
+ * see align
+ */
+ void setAlign( const DOMString & );
+
+ /**
+ * Alternate text for user agents not rendering the normal content
+ * of this element. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/objects.html#adef-alt">
+ * alt attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString alt() const;
+
+ /**
+ * see alt
+ */
+ void setAlt( const DOMString & );
+
+ /**
+ * Describes whether a radio or check box is checked, when
+ * \c type has the value "Radio" or "Checkbox". The value is
+ * true if explicitly set. Represents the current state of the
+ * checkbox or radio button. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-checked">
+ * checked attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool checked() const;
+
+ /**
+ * see checked
+ */
+ void setChecked( bool );
+
+ /**
+ * Describes whether a radio box is indeterminate
+ */
+ bool indeterminate() const;
+
+ /**
+ * see indeterminate
+ */
+ void setIndeterminate( bool );
+
+ /**
+ * The control is unavailable in this context. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-disabled">
+ * disabled attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool disabled() const;
+
+ /**
+ * see disabled
+ */
+ void setDisabled( bool );
+
+ /**
+ * Maximum number of characters for text fields, when \c type
+ * has the value "Text" or "Password". See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-maxlength">
+ * maxlength attribute definition </a> in HTML 4.0.
+ *
+ */
+ long maxLength() const;
+
+ /**
+ * see maxLength
+ */
+ void setMaxLength( long );
+
+ /**
+ * Form control or object name when submitted with a form. See the
+ * <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-name-INPUT">
+ * name attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString name() const;
+
+ /**
+ * see name
+ */
+ void setName( const DOMString & );
+
+ /**
+ * This control is read-only. When \c type has the
+ * value "text" or "password" only. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-readonly">
+ * readonly attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool readOnly() const;
+
+ // ### remove in 4.0
+ /**
+ * see readOnly
+ */
+ void setReadOnly( bool );
+
+ /**
+ * @deprecated
+ */
+ DOMString size() const KDE_DEPRECATED;
+
+ /**
+ * @deprecated
+ */
+ void setSize( const DOMString & ) KDE_DEPRECATED;
+
+ /**
+ * Size information. The precise meaning is specific to each type
+ * of field. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-size-INPUT">
+ * size attribute definition </a> in HTML 4.0.
+ *
+ */
+ long getSize() const;
+
+ /**
+ * see getSize
+ */
+ void setSize( long );
+
+ /**
+ * When the \c type attribute has the value "Image",
+ * this attribute specifies the location of the image to be used
+ * to decorate the graphical submit button. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-src">
+ * src attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString src() const;
+
+ /**
+ * see src
+ */
+ void setSrc( const DOMString & );
+
+ /**
+ * Index that represents the element's position in the tabbing
+ * order. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-tabindex">
+ * tabindex attribute definition </a> in HTML 4.0.
+ *
+ */
+ long tabIndex() const;
+
+ /**
+ * see tabIndex
+ */
+ void setTabIndex( long );
+
+ /**
+ * The type of control created. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-type-INPUT">
+ * type attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString type() const;
+
+ /**
+ * see type
+ */
+ void setType(const DOMString&);
+
+ /**
+ * Use client-side image map. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/objects.html#adef-usemap">
+ * usemap attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString useMap() const;
+
+ /**
+ * see useMap
+ */
+ void setUseMap( const DOMString & );
+
+ /**
+ * The current form control value. Used for radio buttons and
+ * check boxes. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-value-INPUT">
+ * value attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString value() const;
+
+ /**
+ * see value
+ */
+ void setValue( const DOMString & );
+
+ /**
+ * Removes keyboard focus from this element.
+ *
+ */
+ void blur ( );
+
+ /**
+ * Gives keyboard focus to this element.
+ *
+ */
+ void focus ( );
+
+ /**
+ * Select the contents of the text area. For \c INPUT
+ * elements whose \c type attribute has one of the
+ * following values: "Text", "File", or "Password".
+ *
+ */
+ void select ( );
+
+ /**
+ * Simulate a mouse-click. For \c INPUT elements whose
+ * \c type attribute has one of the following values:
+ * "Button", "Checkbox", "Radio", "Reset", or "Submit".
+ */
+ void click ( );
+
+
+ /**
+ * Returns the character offset of beginning of selection, or if none,
+ * the cursor position.
+ * This operation is only supported if the type of this element is text;
+ * otherwise -1 is returned.
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ long selectionStart();
+
+ /**
+ * Move the beginning of the selection to the given offset in text
+ * This call has no effect if the type of this input element isn't text
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ void setSelectionStart(long offset);
+
+ /**
+ * Returns the character offset of end of selection, or if none,
+ * the cursor position.
+ * This operation is only supported if the type of this element is text;
+ * otherwise -1 is returned.
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ long selectionEnd();
+
+ /**
+ * Move the end of the selection (and the cursor) to the given offset in text
+ * This call has no effect if the type of this input element isn't text
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ void setSelectionEnd(long offset);
+
+ /**
+ * Makes the position span from start to end, and positions the cursor after the selection.
+ * This call has no effect if the type of this input element isn't text or if it is not rendered.
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ void setSelectionRange(long start, long end);
+
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLLabelElementImpl;
+/**
+ * Form field label text. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-LABEL">
+ * LABEL element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLLabelElement : public HTMLElement
+{
+public:
+ HTMLLabelElement();
+ HTMLLabelElement(const HTMLLabelElement &other);
+ HTMLLabelElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLLabelElement(HTMLLabelElementImpl *impl);
+public:
+
+ HTMLLabelElement & operator = (const HTMLLabelElement &other);
+ HTMLLabelElement & operator = (const Node &other);
+
+ ~HTMLLabelElement();
+
+ /**
+ * A single character access key to give access to the form
+ * control. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-accesskey">
+ * accesskey attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString accessKey() const;
+
+ /**
+ * see accessKey
+ */
+ void setAccessKey( const DOMString & );
+
+ /**
+ * This attribute links this label with another form control by
+ * \c id attribute. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-for">
+ * for attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString htmlFor() const;
+
+ /**
+ * see htmlFor
+ */
+ void setHtmlFor( const DOMString & );
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLLegendElementImpl;
+/**
+ * Provides a caption for a \c FIELDSET grouping. See the
+ * <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-LEGEND">
+ * LEGEND element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLLegendElement : public HTMLElement
+{
+public:
+ HTMLLegendElement();
+ HTMLLegendElement(const HTMLLegendElement &other);
+ HTMLLegendElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLLegendElement(HTMLLegendElementImpl *impl);
+public:
+
+ HTMLLegendElement & operator = (const HTMLLegendElement &other);
+ HTMLLegendElement & operator = (const Node &other);
+
+ ~HTMLLegendElement();
+
+ /**
+ * ### KDE 4.0: remove
+ */
+ HTMLFormElement form() const;
+
+ /**
+ * A single character access key to give access to the form
+ * control. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-accesskey">
+ * accesskey attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString accessKey() const;
+
+ /**
+ * see accessKey
+ */
+ void setAccessKey( const DOMString & );
+
+ /**
+ * Text alignment relative to \c FIELDSET . See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-align-LEGEND">
+ * align attribute definition </a> in HTML 4.0. This attribute is
+ * deprecated in HTML 4.0.
+ *
+ */
+ DOMString align() const;
+
+ /**
+ * see align
+ */
+ void setAlign( const DOMString & );
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLOptGroupElementImpl;
+/**
+ * Group options together in logical subdivisions. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-OPTGROUP">
+ * OPTGROUP element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLOptGroupElement : public HTMLElement
+{
+public:
+ HTMLOptGroupElement();
+ HTMLOptGroupElement(const HTMLOptGroupElement &other);
+ HTMLOptGroupElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLOptGroupElement(HTMLOptGroupElementImpl *impl);
+public:
+
+ HTMLOptGroupElement & operator = (const HTMLOptGroupElement &other);
+ HTMLOptGroupElement & operator = (const Node &other);
+
+ ~HTMLOptGroupElement();
+
+ /**
+ * The control is unavailable in this context. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-disabled">
+ * disabled attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool disabled() const;
+
+ /**
+ * see disabled
+ */
+ void setDisabled( bool );
+
+ /**
+ * Assigns a label to this option group. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-label-OPTGROUP">
+ * label attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString label() const;
+
+ /**
+ * see label
+ */
+ void setLabel( const DOMString & );
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLSelectElementImpl;
+/**
+ * The select element allows the selection of an option. The contained
+ * options can be directly accessed through the select element as a
+ * collection. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-SELECT">
+ * SELECT element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLSelectElement : public HTMLElement
+{
+public:
+ HTMLSelectElement();
+ HTMLSelectElement(const HTMLSelectElement &other);
+ HTMLSelectElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLSelectElement(HTMLSelectElementImpl *impl);
+public:
+
+ HTMLSelectElement & operator = (const HTMLSelectElement &other);
+ HTMLSelectElement & operator = (const Node &other);
+
+ ~HTMLSelectElement();
+
+ /**
+ * The type of control created.
+ *
+ */
+ DOMString type() const;
+
+ /**
+ * The ordinal index of the selected option. The value -1 is
+ * returned if no element is selected. If multiple options are
+ * selected, the index of the first selected option is returned.
+ *
+ */
+ long selectedIndex() const;
+
+ /**
+ * see selectedIndex
+ */
+ void setSelectedIndex( long );
+
+ /**
+ * The current form control value.
+ *
+ */
+ DOMString value() const;
+
+ /**
+ * see value
+ */
+ void setValue( const DOMString & );
+
+ /**
+ * The number of options in this \c SELECT .
+ *
+ */
+ long length() const;
+
+ /**
+ * ### KDE 4.0: remove.
+ */
+ HTMLFormElement form() const;
+
+ /**
+ * The collection of \c OPTION elements contained by
+ * this element.
+ *
+ */
+ HTMLCollection options() const;
+
+ /**
+ * The control is unavailable in this context. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-disabled">
+ * disabled attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool disabled() const;
+
+ /**
+ * see disabled
+ */
+ void setDisabled( bool );
+
+ /**
+ * If true, multiple \c OPTION elements may be
+ * selected in this \c SELECT . See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-multiple">
+ * multiple attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool multiple() const;
+
+ /**
+ * see multiple
+ */
+ void setMultiple( bool );
+
+ /**
+ * Form control or object name when submitted with a form. See the
+ * <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-name-SELECT">
+ * name attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString name() const;
+
+ /**
+ * see name
+ */
+ void setName( const DOMString & );
+
+ /**
+ * Number of visible rows. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-size-SELECT">
+ * size attribute definition </a> in HTML 4.0.
+ *
+ */
+ long size() const;
+
+ /**
+ * see size
+ */
+ void setSize( long );
+
+ /**
+ * Index that represents the element's position in the tabbing
+ * order. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-tabindex">
+ * tabindex attribute definition </a> in HTML 4.0.
+ *
+ */
+ long tabIndex() const;
+
+ /**
+ * see tabIndex
+ */
+ void setTabIndex( long );
+
+ /**
+ * Add a new element to the collection of \c OPTION
+ * elements for this \c SELECT .
+ *
+ * @param element The element to add.
+ *
+ * @param before The element to insert before, or 0 for the
+ * tail of the list.
+ *
+ */
+ void add ( const HTMLElement &element, const HTMLElement &before );
+
+ /**
+ * Remove an element from the collection of \c OPTION
+ * elements for this \c SELECT . Does nothing if no
+ * element has the given index.
+ *
+ * @param index The index of the item to remove.
+ *
+ */
+ void remove ( long index );
+
+ /**
+ * Removes keyboard focus from this element.
+ *
+ */
+ void blur ( );
+
+ /**
+ * Gives keyboard focus to this element.
+ *
+ */
+ void focus ( );
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLTextAreaElementImpl;
+/**
+ * Multi-line text field. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-TEXTAREA">
+ * TEXTAREA element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLTextAreaElement : public HTMLElement
+{
+public:
+ HTMLTextAreaElement();
+ HTMLTextAreaElement(const HTMLTextAreaElement &other);
+ HTMLTextAreaElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLTextAreaElement(HTMLTextAreaElementImpl *impl);
+public:
+
+ HTMLTextAreaElement & operator = (const HTMLTextAreaElement &other);
+ HTMLTextAreaElement & operator = (const Node &other);
+
+ ~HTMLTextAreaElement();
+
+ /**
+ * Stores the initial control value (i.e., the initial value of
+ * \c value ).
+ *
+ */
+ DOMString defaultValue() const;
+
+ /**
+ * see defaultValue
+ */
+ void setDefaultValue( const DOMString & );
+
+ /**
+ * ### KDE 4.0: remove.
+ */
+ HTMLFormElement form() const;
+
+ /**
+ * A single character access key to give access to the form
+ * control. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-accesskey">
+ * accesskey attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString accessKey() const;
+
+ /**
+ * see accessKey
+ */
+ void setAccessKey( const DOMString & );
+
+ /**
+ * Width of control (in characters). See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-cols-TEXTAREA">
+ * cols attribute definition </a> in HTML 4.0.
+ *
+ */
+ long cols() const;
+
+ /**
+ * see cols
+ */
+ void setCols( long );
+
+ /**
+ * The control is unavailable in this context. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-disabled">
+ * disabled attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool disabled() const;
+
+ /**
+ * see disabled
+ */
+ void setDisabled( bool );
+
+ /**
+ * Form control or object name when submitted with a form. See the
+ * <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-name-TEXTAREA">
+ * name attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString name() const;
+
+ /**
+ * see name
+ */
+ void setName( const DOMString & );
+
+ /**
+ * This control is read-only. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-readonly">
+ * readonly attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool readOnly() const;
+
+ /**
+ * see readOnly
+ */
+ void setReadOnly( bool );
+
+ /**
+ * Number of text rows. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-rows-TEXTAREA">
+ * rows attribute definition </a> in HTML 4.0.
+ *
+ */
+ long rows() const;
+
+ /**
+ * see rows
+ */
+ void setRows( long );
+
+ /**
+ * Index that represents the element's position in the tabbing
+ * order. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-tabindex">
+ * tabindex attribute definition </a> in HTML 4.0.
+ *
+ */
+ long tabIndex() const;
+
+ /**
+ * see tabIndex
+ */
+ void setTabIndex( long );
+
+ /**
+ * The type of this form control.
+ *
+ */
+ DOMString type() const;
+
+ /**
+ * The current textual content of the multi-line text field. If
+ * the entirety of the data can not fit into a single wstring, the
+ * implementation may truncate the data.
+ *
+ */
+ DOMString value() const;
+
+ /**
+ * see value
+ */
+ void setValue( const DOMString & );
+
+ /**
+ * Removes keyboard focus from this element.
+ */
+ void blur ( );
+
+ /**
+ * Gives keyboard focus to this element.
+ */
+ void focus ( );
+
+ /**
+ * Select the contents of the \c TEXTAREA .
+ */
+ void select ( );
+
+ /**
+ * Returns the character offset of beginning of selection, or if none,
+ * the cursor position.
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ long selectionStart();
+
+ /**
+ * Move the beginning of the selection to the given offset in text
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ void setSelectionStart(long offset);
+
+ /**
+ * Returns the character offset of end of selection, or if none,
+ * the cursor position.
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ long selectionEnd();
+
+ /**
+ * Move the end of the selection (and the cursor) to the given offset in text
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ void setSelectionEnd(long offset);
+
+ /**
+ * Selects the text from start to end, and positions the cursor after the selection.
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ void setSelectionRange(long start, long end);
+
+ /**
+ * Returns the length of the text.
+ * NOTE: this method is not part of the DOM, but a Mozilla extension
+ * @since 3.5.2
+ */
+ long textLength();
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLOptionElementImpl;
+/**
+ * A selectable choice. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-OPTION">
+ * OPTION element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLOptionElement : public HTMLElement
+{
+public:
+ HTMLOptionElement();
+ HTMLOptionElement(const HTMLOptionElement &other);
+ HTMLOptionElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLOptionElement(HTMLOptionElementImpl *impl);
+public:
+
+ HTMLOptionElement & operator = (const HTMLOptionElement &other);
+ HTMLOptionElement & operator = (const Node &other);
+
+ ~HTMLOptionElement();
+
+ /**
+ * ### KDE 4.0: remove
+ */
+ HTMLFormElement form() const;
+
+ /**
+ * Stores the initial value of the \c selected
+ * attribute.
+ *
+ */
+ bool defaultSelected() const;
+
+ /**
+ * see defaultSelected
+ */
+ void setDefaultSelected( bool );
+
+ /**
+ * The text contained within the option element.
+ *
+ */
+ DOMString text() const;
+
+ /**
+ * The index of this \c OPTION in its parent
+ * \c SELECT .
+ *
+ */
+ long index() const;
+
+ /**
+ * see index
+ *
+ * This function is obsolete - the index property is actually supposed to be read-only
+ * (http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html)
+ */
+ void setIndex( long );
+
+ /**
+ * The control is unavailable in this context. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-disabled">
+ * disabled attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool disabled() const;
+
+ /**
+ * see disabled
+ */
+ void setDisabled( bool );
+
+ /**
+ * Option label for use in hierarchical menus. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-label-OPTION">
+ * label attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString label() const;
+
+ /**
+ * see label
+ */
+ void setLabel( const DOMString & );
+
+ /**
+ * Means that this option is initially selected. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-selected">
+ * selected attribute definition </a> in HTML 4.0.
+ *
+ */
+ bool selected() const;
+
+ /**
+ * see selected
+ */
+ void setSelected( bool );
+
+ /**
+ * The current form control value. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-value-OPTION">
+ * value attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString value() const;
+
+ /**
+ * see value
+ */
+ void setValue( const DOMString & );
+};
+
+
+// --------------------------------------------------------------------------
+
+class HTMLIsIndexElementImpl;
+class HTMLFormElement;
+
+/**
+ * This element is used for single-line text input. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#edef-ISINDEX">
+ * ISINDEX element definition </a> in HTML 4.0. This element is
+ * deprecated in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLIsIndexElement : public HTMLElement
+{
+public:
+ HTMLIsIndexElement();
+ HTMLIsIndexElement(const HTMLIsIndexElement &other);
+ HTMLIsIndexElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLIsIndexElement(HTMLIsIndexElementImpl *impl);
+public:
+
+ HTMLIsIndexElement & operator = (const HTMLIsIndexElement &other);
+ HTMLIsIndexElement & operator = (const Node &other);
+
+ ~HTMLIsIndexElement();
+
+ /**
+ * ### KDE 4.0: remove
+ */
+ HTMLFormElement form() const;
+
+ /**
+ * The prompt message. See the <a
+ * href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-prompt">
+ * prompt attribute definition </a> in HTML 4.0. This attribute is
+ * deprecated in HTML 4.0.
+ *
+ */
+ DOMString prompt() const;
+
+ /**
+ * see prompt
+ */
+ void setPrompt( const DOMString & );
+};
+
+} //namespace
+
+#endif