You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/khtml/dom/html_form.h

1428 lines
36 KiB

/*
* 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 tqmasked 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 tqalignment 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