summaryrefslogtreecommitdiffstats
path: root/tdehtml/dom/html_table.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdehtml/dom/html_table.h')
-rw-r--r--tdehtml/dom/html_table.h997
1 files changed, 997 insertions, 0 deletions
diff --git a/tdehtml/dom/html_table.h b/tdehtml/dom/html_table.h
new file mode 100644
index 000000000..6b9a2d99d
--- /dev/null
+++ b/tdehtml/dom/html_table.h
@@ -0,0 +1,997 @@
+/*
+ * This file is part of the DOM implementation for KDE.
+ *
+ * (C) 1999 Lars Knoll ([email protected])
+ *
+ * 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_TABLE_H
+#define HTML_TABLE_H
+
+// --------------------------------------------------------------------------
+#include <dom/html_element.h>
+#include <tdelibs_export.h>
+
+namespace DOM {
+
+class HTMLTableCaptionElementImpl;
+class DOMString;
+
+/**
+ * Table caption See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#edef-CAPTION">
+ * CAPTION element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLTableCaptionElement : public HTMLElement
+{
+ friend class HTMLTableElement;
+
+public:
+ HTMLTableCaptionElement();
+ HTMLTableCaptionElement(const HTMLTableCaptionElement &other);
+ HTMLTableCaptionElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLTableCaptionElement(HTMLTableCaptionElementImpl *impl);
+public:
+
+ HTMLTableCaptionElement & operator = (const HTMLTableCaptionElement &other);
+ HTMLTableCaptionElement & operator = (const Node &other);
+
+ ~HTMLTableCaptionElement();
+
+ /**
+ * Caption alignment with respect to the table. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-align-CAPTION">
+ * 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 HTMLTableCellElementImpl;
+
+/**
+ * The object used to represent the \c TH and \c TD
+ * elements. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#edef-TD">
+ * TD element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLTableCellElement : public HTMLElement
+{
+ friend class HTMLTableElement;
+
+public:
+ HTMLTableCellElement();
+ HTMLTableCellElement(const HTMLTableCellElement &other);
+ HTMLTableCellElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLTableCellElement(HTMLTableCellElementImpl *impl);
+public:
+
+ HTMLTableCellElement & operator = (const HTMLTableCellElement &other);
+ HTMLTableCellElement & operator = (const Node &other);
+
+ ~HTMLTableCellElement();
+
+ /**
+ * The index of this cell in the row.
+ *
+ */
+ long cellIndex() const;
+
+ /**
+ * see cellIndex
+ *
+ * This function is obsolete - the cellIndex property is actually supposed to be read-only
+ * (http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html)
+ */
+ void setCellIndex( long );
+
+ /**
+ * Abbreviation for header cells. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-abbr">
+ * abbr attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString abbr() const;
+
+ /**
+ * see abbr
+ */
+ void setAbbr( const DOMString & );
+
+ /**
+ * Horizontal alignment of data in cell. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-align-TD">
+ * align attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString align() const;
+
+ /**
+ * see align
+ */
+ void setAlign( const DOMString & );
+
+ /**
+ * Names group of related headers. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-axis">
+ * axis attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString axis() const;
+
+ /**
+ * see axis
+ */
+ void setAxis( const DOMString & );
+
+ /**
+ * Cell background color. See the <a
+ * href="http://www.w3.org/TR/REC-html40/present/graphics.html#adef-bgcolor">
+ * bgcolor attribute definition </a> in HTML 4.0. This attribute
+ * is deprecated in HTML 4.0.
+ *
+ */
+ DOMString bgColor() const;
+
+ /**
+ * see bgColor
+ */
+ void setBgColor( const DOMString & );
+
+ /**
+ * Alignment character for cells in a column. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-char">
+ * char attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString ch() const;
+
+ /**
+ * see ch
+ */
+ void setCh( const DOMString & );
+
+ /**
+ * Offset of alignment character. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-charoff">
+ * charoff attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString chOff() const;
+
+ /**
+ * see chOff
+ */
+ void setChOff( const DOMString & );
+
+ /**
+ * Number of columns spanned by cell. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-colspan">
+ * colspan attribute definition </a> in HTML 4.0.
+ *
+ */
+ long colSpan() const;
+
+ /**
+ * see colSpan
+ */
+ void setColSpan( long );
+
+ /**
+ * List of \c id attribute values for header cells.
+ * See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-headers">
+ * headers attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString headers() const;
+
+ /**
+ * see headers
+ */
+ void setHeaders( const DOMString & );
+
+ /**
+ * Cell height. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-height-TH">
+ * height attribute definition </a> in HTML 4.0. This attribute is
+ * deprecated in HTML 4.0.
+ *
+ */
+ DOMString height() const;
+
+ /**
+ * see height
+ */
+ void setHeight( const DOMString & );
+
+ /**
+ * Suppress word wrapping. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-nowrap">
+ * nowrap attribute definition </a> in HTML 4.0. This attribute is
+ * deprecated in HTML 4.0.
+ *
+ */
+ bool noWrap() const;
+
+ /**
+ * see noWrap
+ */
+ void setNoWrap( bool );
+
+ /**
+ * Number of rows spanned by cell. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-rowspan">
+ * rowspan attribute definition </a> in HTML 4.0.
+ *
+ */
+ long rowSpan() const;
+
+ /**
+ * see rowSpan
+ */
+ void setRowSpan( long );
+
+ /**
+ * Scope covered by header cells. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-scope">
+ * scope attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString scope() const;
+
+ /**
+ * see scope
+ */
+ void setScope( const DOMString & );
+
+ /**
+ * Vertical alignment of data in cell. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-valign">
+ * valign attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString vAlign() const;
+
+ /**
+ * see vAlign
+ */
+ void setVAlign( const DOMString & );
+
+ /**
+ * Cell width. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-width-TH">
+ * width attribute definition </a> in HTML 4.0. This attribute is
+ * deprecated in HTML 4.0.
+ *
+ */
+ DOMString width() const;
+
+ /**
+ * see width
+ */
+ void setWidth( const DOMString & );
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLTableColElementImpl;
+
+/**
+ * Regroups the \c COL and \c COLGROUP
+ * elements. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#edef-COL">
+ * COL element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLTableColElement : public HTMLElement
+{
+ friend class HTMLTableElement;
+
+public:
+ HTMLTableColElement();
+ HTMLTableColElement(const HTMLTableColElement &other);
+ HTMLTableColElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+protected:
+ HTMLTableColElement(HTMLTableColElementImpl *impl);
+public:
+
+ HTMLTableColElement & operator = (const HTMLTableColElement &other);
+ HTMLTableColElement & operator = (const Node &other);
+
+ ~HTMLTableColElement();
+
+ /**
+ * Horizontal alignment of cell data in column. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-align-TD">
+ * align attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString align() const;
+
+ /**
+ * see align
+ */
+ void setAlign( const DOMString & );
+
+ /**
+ * Alignment character for cells in a column. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-char">
+ * char attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString ch() const;
+
+ /**
+ * see ch
+ */
+ void setCh( const DOMString & );
+
+ /**
+ * Offset of alignment character. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-charoff">
+ * charoff attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString chOff() const;
+
+ /**
+ * see chOff
+ */
+ void setChOff( const DOMString & );
+
+ /**
+ * Indicates the number of columns in a group or affected by a
+ * grouping. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-span-COL">
+ * span attribute definition </a> in HTML 4.0.
+ *
+ */
+ long span() const;
+
+ /**
+ * see span
+ */
+ void setSpan( long );
+
+ /**
+ * Vertical alignment of cell data in column. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-valign">
+ * valign attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString vAlign() const;
+
+ /**
+ * see vAlign
+ */
+ void setVAlign( const DOMString & );
+
+ /**
+ * Default column width. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-width-COL">
+ * width attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString width() const;
+
+ /**
+ * see width
+ */
+ void setWidth( const DOMString & );
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLTableElementImpl;
+class HTMLCollection;
+class HTMLTableSectionElement;
+class HTMLTableCaptionElement;
+class HTMLElement;
+class DOMString;
+
+/**
+ * The create* and delete* methods on the table allow authors to
+ * construct and modify tables. HTML 4.0 specifies that only one of
+ * each of the \c CAPTION , \c THEAD , and
+ * \c TFOOT elements may exist in a table. Therefore, if
+ * one exists, and the createTHead() or createTFoot() method is
+ * called, the method returns the existing THead or TFoot element. See
+ * the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#edef-TABLE">
+ * TABLE element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLTableElement : public HTMLElement
+{
+public:
+ HTMLTableElement();
+ HTMLTableElement(const HTMLTableElement &other);
+ HTMLTableElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+
+protected:
+ HTMLTableElement(HTMLTableElementImpl *impl);
+public:
+
+ HTMLTableElement & operator = (const HTMLTableElement &other);
+ HTMLTableElement & operator = (const Node &other);
+
+ ~HTMLTableElement();
+
+ /**
+ * Returns the table's \c CAPTION , or void if none
+ * exists.
+ *
+ */
+ HTMLTableCaptionElement caption() const;
+
+ /**
+ * see caption
+ */
+ void setCaption( const HTMLTableCaptionElement & );
+
+ /**
+ * Returns the table's \c THEAD , or \c null
+ * if none exists.
+ *
+ */
+ HTMLTableSectionElement tHead() const;
+
+ /**
+ * see tHead
+ */
+ void setTHead( const HTMLTableSectionElement & );
+
+ /**
+ * Returns the table's \c TFOOT , or \c null
+ * if none exists.
+ *
+ */
+ HTMLTableSectionElement tFoot() const;
+
+ /**
+ * see tFoot
+ */
+ void setTFoot( const HTMLTableSectionElement & );
+
+ /**
+ * Returns a collection of all the rows in the table, including
+ * all in \c THEAD , \c TFOOT , all
+ * \c TBODY elements.
+ *
+ */
+ HTMLCollection rows() const;
+
+ /**
+ * Returns a collection of the table bodies (including implicit ones).
+ *
+ */
+ HTMLCollection tBodies() const;
+
+ /**
+ * Specifies the table's position with respect to the rest of the
+ * document. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-align-TABLE">
+ * 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 & );
+
+ /**
+ * Cell background color. See the <a
+ * href="http://www.w3.org/TR/REC-html40/present/graphics.html#adef-bgcolor">
+ * bgcolor attribute definition </a> in HTML 4.0. This attribute
+ * is deprecated in HTML 4.0.
+ *
+ */
+ DOMString bgColor() const;
+
+ /**
+ * see bgColor
+ */
+ void setBgColor( const DOMString & );
+
+ /**
+ * The width of the border around the table. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-border-TABLE">
+ * border attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString border() const;
+
+ /**
+ * see border
+ */
+ void setBorder( const DOMString & );
+
+ /**
+ * Specifies the horizontal and vertical space between cell
+ * content and cell borders. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-cellpadding">
+ * cellpadding attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString cellPadding() const;
+
+ /**
+ * see cellPadding
+ */
+ void setCellPadding( const DOMString & );
+
+ /**
+ * Specifies the horizontal and vertical separation between cells.
+ * See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-cellspacing">
+ * cellspacing attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString cellSpacing() const;
+
+ /**
+ * see cellSpacing
+ */
+ void setCellSpacing( const DOMString & );
+
+ /**
+ * Specifies which external table borders to render. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-frame">
+ * frame attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString frame() const;
+
+ /**
+ * see frame
+ */
+ void setFrame( const DOMString & );
+
+ /**
+ * Specifies which internal table borders to render. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-rules">
+ * rules attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString rules() const;
+
+ /**
+ * see rules
+ */
+ void setRules( const DOMString & );
+
+ /**
+ * Supplementary description about the purpose or structure of a
+ * table. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-summary">
+ * summary attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString summary() const;
+
+ /**
+ * see summary
+ */
+ void setSummary( const DOMString & );
+
+ /**
+ * Specifies the desired table width. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-width-TABLE">
+ * width attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString width() const;
+
+ /**
+ * see width
+ */
+ void setWidth( const DOMString & );
+
+ /**
+ * Create a table header row or return an existing one.
+ *
+ * @return A new table header element ( \c THEAD ).
+ *
+ */
+ HTMLElement createTHead ( );
+
+ /**
+ * Delete the header from the table, if one exists.
+ *
+ * @return
+ *
+ */
+ void deleteTHead ( );
+
+ /**
+ * Create a table footer row or return an existing one.
+ *
+ * @return A footer element ( \c TFOOT ).
+ *
+ */
+ HTMLElement createTFoot ( );
+
+ /**
+ * Delete the footer from the table, if one exists.
+ *
+ * @return
+ *
+ */
+ void deleteTFoot ( );
+
+ /**
+ * Create a new table caption object or return an existing one.
+ *
+ * @return A \c CAPTION element.
+ *
+ */
+ HTMLElement createCaption ( );
+
+ /**
+ * Delete the table caption, if one exists.
+ *
+ * @return
+ *
+ */
+ void deleteCaption ( );
+
+ /**
+ * Insert a new empty row in the table.
+ * The new row is inserted immediately before and in the same section
+ * as the current indexth row in the table. If index is -1 or equal
+ * to the number of rows, the new row is appended. In addition, when
+ * the table is empty the row is inserted into a TBODY which is created
+ * and inserted into the table.
+ * Note. A table row cannot
+ * be empty according to HTML 4.0 Recommendation.
+ *
+ * @param index The row number where to insert a new row.
+ * The index starts from 0 and is relative to the logical order
+ * (not document order) of all the rows contained inside the table.
+ *
+ * @return The newly created row.
+ *
+ */
+ HTMLElement insertRow ( long index );
+
+ /**
+ * Delete a table row.
+ *
+ * @param index The index of the row to be deleted.
+ * This index starts from 0 and is relative to the logical order
+ * (not document order) of all the rows contained inside the table.
+ * If the index is -1 the last row in the table is deleted.
+ *
+ * @return
+ *
+ */
+ void deleteRow ( long index );
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLTableRowElementImpl;
+class HTMLCollection;
+class HTMLElement;
+class DOMString;
+
+/**
+ * A row in a table. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#edef-TR">
+ * TR element definition </a> in HTML 4.0.
+ *
+ */
+class KHTML_EXPORT HTMLTableRowElement : public HTMLElement
+{
+ friend class HTMLTableElement;
+
+public:
+ HTMLTableRowElement();
+ HTMLTableRowElement(const HTMLTableRowElement &other);
+ HTMLTableRowElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+
+protected:
+ HTMLTableRowElement(HTMLTableRowElementImpl *impl);
+public:
+
+ HTMLTableRowElement & operator = (const HTMLTableRowElement &other);
+ HTMLTableRowElement & operator = (const Node &other);
+
+ ~HTMLTableRowElement();
+
+ /**
+ * The index of this row, relative to the entire table.
+ * This is in logical order and not in document order.
+ * The rowIndex does take into account sections
+ * (THEAD, TFOOT or TBODY) within the table,
+ * placing THEAD rows first in the index, followed by
+ * TBODY rows, followed by TFOOT rows.
+ */
+ long rowIndex() const;
+
+ /**
+ * see rowIndex
+ *
+ * This function is obsolete - the rowIndex property is actually supposed to be read-only
+ * (http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html)
+ */
+ void setRowIndex( long );
+
+ /**
+ * The index of this row, relative to the current section (
+ * \c THEAD , \c TFOOT , or \c TBODY
+ * ).
+ *
+ */
+ long sectionRowIndex() const;
+
+ /**
+ * see sectionRowIndex
+ *
+ * This function is obsolete - the sectionRowIndex property is actually supposed to be read-only
+ * (http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html)
+ */
+ void setSectionRowIndex( long );
+
+ /**
+ * The collection of cells in this row.
+ *
+ */
+ HTMLCollection cells() const;
+
+ /**
+ * see cells
+ *
+ * This function is obsolete - the cells property is actually supposed to be read-only
+ * (http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html)
+ */
+ void setCells( const HTMLCollection & );
+
+ /**
+ * Horizontal alignment of data within cells of this row. See the
+ * <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-align-TD">
+ * align attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString align() const;
+
+ /**
+ * see align
+ */
+ void setAlign( const DOMString & );
+
+ /**
+ * Background color for rows. See the <a
+ * href="http://www.w3.org/TR/REC-html40/present/graphics.html#adef-bgcolor">
+ * bgcolor attribute definition </a> in HTML 4.0. This attribute
+ * is deprecated in HTML 4.0.
+ *
+ */
+ DOMString bgColor() const;
+
+ /**
+ * see bgColor
+ */
+ void setBgColor( const DOMString & );
+
+ /**
+ * Alignment character for cells in a column. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-char">
+ * char attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString ch() const;
+
+ /**
+ * see ch
+ */
+ void setCh( const DOMString & );
+
+ /**
+ * Offset of alignment character. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-charoff">
+ * charoff attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString chOff() const;
+
+ /**
+ * see chOff
+ */
+ void setChOff( const DOMString & );
+
+ /**
+ * Vertical alignment of data within cells of this row. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-valign">
+ * valign attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString vAlign() const;
+
+ /**
+ * see vAlign
+ */
+ void setVAlign( const DOMString & );
+
+ /**
+ * Insert an empty \c TD cell into this row.
+ * If index is -1 or equal to the number of cells, the new
+ * cell is appended.
+ *
+ * @param index The place to insert the cell.
+ *
+ * @return The newly created cell.
+ *
+ */
+ HTMLElement insertCell ( long index );
+
+ /**
+ * Delete a cell from the current row.
+ *
+ * @param index The index of the cell to delete, starting from 0.
+ * If the index is -1 the last cell in the row is deleted.
+ *
+ * @return
+ *
+ */
+ void deleteCell ( long index );
+};
+
+// --------------------------------------------------------------------------
+
+class HTMLTableSectionElementImpl;
+class HTMLCollection;
+class HTMLElement;
+class DOMString;
+
+/**
+ * The \c THEAD , \c TFOOT , and \c TBODY
+ * elements.
+ *
+ */
+class KHTML_EXPORT HTMLTableSectionElement : public HTMLElement
+{
+ friend class HTMLTableElement;
+
+public:
+ HTMLTableSectionElement();
+ HTMLTableSectionElement(const HTMLTableSectionElement &other);
+ HTMLTableSectionElement(const Node &other) : HTMLElement()
+ {(*this)=other;}
+
+
+protected:
+ HTMLTableSectionElement(HTMLTableSectionElementImpl *impl);
+public:
+
+ HTMLTableSectionElement & operator = (const HTMLTableSectionElement &other);
+ HTMLTableSectionElement & operator = (const Node &other);
+
+ ~HTMLTableSectionElement();
+
+ /**
+ * Horizontal alignment of data in cells. See the \c align
+ * attribute for HTMLTheadElement for details.
+ *
+ */
+ DOMString align() const;
+
+ /**
+ * see align
+ */
+ void setAlign( const DOMString & );
+
+ /**
+ * Alignment character for cells in a column. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-char">
+ * char attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString ch() const;
+
+ /**
+ * see ch
+ */
+ void setCh( const DOMString & );
+
+ /**
+ * Offset of alignment character. See the <a
+ * href="http://www.w3.org/TR/REC-html40/struct/tables.html#adef-charoff">
+ * charoff attribute definition </a> in HTML 4.0.
+ *
+ */
+ DOMString chOff() const;
+
+ /**
+ * see chOff
+ */
+ void setChOff( const DOMString & );
+
+ /**
+ * Vertical alignment of data in cells. See the \c valign
+ * attribute for HTMLTheadElement for details.
+ *
+ */
+ DOMString vAlign() const;
+
+ /**
+ * see vAlign
+ */
+ void setVAlign( const DOMString & );
+
+ /**
+ * The collection of rows in this table section.
+ *
+ */
+ HTMLCollection rows() const;
+
+ /**
+ * Insert a row into this section.
+ * The new row is inserted immediately before the current indexth
+ * row in this section. If index is -1 or equal to the number of rows
+ * in this sectino, the new row is appended.
+ *
+ * @param index The row number where to insert a new row.
+ *
+ * @return The newly created row.
+ *
+ */
+ HTMLElement insertRow ( long index );
+
+ /**
+ * Delete a row from this section.
+ *
+ * @param index The index of the row to be deleted,
+ * or -1 to delete the last row. This index starts from 0 and is relative only
+ * to the rows contained inside this section, not all the rows in the table.
+ *
+ */
+ void deleteRow ( long index );
+};
+
+} //namespace
+
+#endif