Source: dom/html_table.h

# Source: dom/html_table.h |
Annotated List
Files
Globals
Hierarchy
Index

    /*
     * 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., 59 Temple Place - Suite 330,
     * Boston, MA 02111-1307, 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.
     *
     * $Id: html_table.h,v 1.9.2.1 2003/05/18 12:34:37 mueller Exp $
     */
    #ifndef HTML_TABLE_H
    #define HTML_TABLE_H

    // --------------------------------------------------------------------------
    #include

    namespace DOM {

    class HTMLTableCaptionElementImpl;
    class DOMString;

    /**
     * Table caption See the
     * CAPTION element definition  in HTML 4.0.
     *
     */
    class 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
         * align attribute definition  in HTML 4.0. This attribute is
         * deprecated in HTML 4.0.
         *
         */
        DOMString align() const;

        /**
         * see @ref align
         */
        void setAlign( const DOMString & );
    };

    // --------------------------------------------------------------------------

    class HTMLTableCellElementImpl;

    /**
     * The object used to represent the  TH  and  TD
     *  elements. See the
     * TD element definition  in HTML 4.0.
     *
     */
    class 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 @ref 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
         * abbr attribute definition  in HTML 4.0.
         *
         */
        DOMString abbr() const;

        /**
         * see @ref abbr
         */
        void setAbbr( const DOMString & );

        /**
         * Horizontal alignment of data in cell. See the
         * align attribute definition  in HTML 4.0.
         *
         */
        DOMString align() const;

        /**
         * see @ref align
         */
        void setAlign( const DOMString & );

        /**
         * Names group of related headers. See the
         * axis attribute definition  in HTML 4.0.
         *
         */
        DOMString axis() const;

        /**
         * see @ref axis
         */
        void setAxis( const DOMString & );

        /**
         * Cell background color. See the
         * bgcolor attribute definition  in HTML 4.0. This attribute
         * is deprecated in HTML 4.0.
         *
         */
        DOMString bgColor() const;

        /**
         * see @ref bgColor
         */
        void setBgColor( const DOMString & );

        /**
         * Alignment character for cells in a column. See the
         * char attribute definition  in HTML 4.0.
         *
         */
        DOMString ch() const;

        /**
         * see @ref ch
         */
        void setCh( const DOMString & );

        /**
         * Offset of alignment character. See the
         * charoff attribute definition  in HTML 4.0.
         *
         */
        DOMString chOff() const;

        /**
         * see @ref chOff
         */
        void setChOff( const DOMString & );

        /**
         * Number of columns spanned by cell. See the
         * colspan attribute definition  in HTML 4.0.
         *
         */
        long colSpan() const;

        /**
         * see @ref colSpan
         */
        void setColSpan( long  );

        /**
         * List of  id  attribute values for header cells.
         * See the
         * headers attribute definition  in HTML 4.0.
         *
         */
        DOMString headers() const;

        /**
         * see @ref headers
         */
        void setHeaders( const DOMString & );

        /**
         * Cell height. See the
         * height attribute definition  in HTML 4.0. This attribute is
         * deprecated in HTML 4.0.
         *
         */
        DOMString height() const;

        /**
         * see @ref height
         */
        void setHeight( const DOMString & );

        /**
         * Suppress word wrapping. See the
         * nowrap attribute definition  in HTML 4.0. This attribute is
         * deprecated in HTML 4.0.
         *
         */
        bool noWrap() const;

        /**
         * see @ref noWrap
         */
        void setNoWrap( bool );

        /**
         * Number of rows spanned by cell. See the
         * rowspan attribute definition  in HTML 4.0.
         *
         */
        long rowSpan() const;

        /**
         * see @ref rowSpan
         */
        void setRowSpan( long );

        /**
         * Scope covered by header cells. See the
         * scope attribute definition  in HTML 4.0.
         *
         */
        DOMString scope() const;

        /**
         * see @ref scope
         */
        void setScope( const DOMString & );

        /**
         * Vertical alignment of data in cell. See the
         * valign attribute definition  in HTML 4.0.
         *
         */
        DOMString vAlign() const;

        /**
         * see @ref vAlign
         */
        void setVAlign( const DOMString & );

        /**
         * Cell width. See the
         * width attribute definition  in HTML 4.0. This attribute is
         * deprecated in HTML 4.0.
         *
         */
        DOMString width() const;

        /**
         * see @ref width
         */
        void setWidth( const DOMString & );
    };

    // --------------------------------------------------------------------------

    class HTMLTableColElementImpl;

    /**
     * Regroups the  COL  and  COLGROUP
     * elements. See the
     * COL element definition  in HTML 4.0.
     *
     */
    class 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
         * align attribute definition  in HTML 4.0.
         *
         */
        DOMString align() const;

        /**
         * see @ref align
         */
        void setAlign( const DOMString & );

        /**
         * Alignment character for cells in a column. See the
         * char attribute definition  in HTML 4.0.
         *
         */
        DOMString ch() const;

        /**
         * see @ref ch
         */
        void setCh( const DOMString & );

        /**
         * Offset of alignment character. See the
         * charoff attribute definition  in HTML 4.0.
         *
         */
        DOMString chOff() const;

        /**
         * see @ref chOff
         */
        void setChOff( const DOMString & );

        /**
         * Indicates the number of columns in a group or affected by a
         * grouping. See the
         * span attribute definition  in HTML 4.0.
         *
         */
        long span() const;

        /**
         * see @ref span
         */
        void setSpan( long  );

        /**
         * Vertical alignment of cell data in column. See the
         * valign attribute definition  in HTML 4.0.
         *
         */
        DOMString vAlign() const;

        /**
         * see @ref vAlign
         */
        void setVAlign( const DOMString & );

        /**
         * Default column width. See the
         * width attribute definition  in HTML 4.0.
         *
         */
        DOMString width() const;

        /**
         * see @ref 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  CAPTION  ,  THEAD  , and
     *  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
     * TABLE element definition  in HTML 4.0.
     *
     */
    class 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  CAPTION  , or void if none
         * exists.
         *
         */
        HTMLTableCaptionElement caption() const;

        /**
         * see @ref caption
         */
        void setCaption( const HTMLTableCaptionElement & );

        /**
         * Returns the table's  THEAD  , or  null
         *  if none exists.
         *
         */
        HTMLTableSectionElement tHead() const;

        /**
         * see @ref tHead
         */
        void setTHead( const HTMLTableSectionElement & );

        /**
         * Returns the table's  TFOOT  , or  null
         *  if none exists.
         *
         */
        HTMLTableSectionElement tFoot() const;

        /**
         * see @ref tFoot
         */
        void setTFoot( const HTMLTableSectionElement & );

        /**
         * Returns a collection of all the rows in the table, including
         * all in  THEAD  ,  TFOOT  , all
         * 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
         * align attribute definition  in HTML 4.0. This attribute is
         * deprecated in HTML 4.0.
         *
         */
        DOMString align() const;

        /**
         * see @ref align
         */
        void setAlign( const DOMString & );

        /**
         * Cell background color. See the
         * bgcolor attribute definition  in HTML 4.0. This attribute
         * is deprecated in HTML 4.0.
         *
         */
        DOMString bgColor() const;

        /**
         * see @ref bgColor
         */
        void setBgColor( const DOMString & );

        /**
         * The width of the border around the table. See the
         * border attribute definition  in HTML 4.0.
         *
         */
        DOMString border() const;

        /**
         * see @ref border
         */
        void setBorder( const DOMString & );

        /**
         * Specifies the horizontal and vertical space between cell
         * content and cell borders. See the
         * cellpadding attribute definition  in HTML 4.0.
         *
         */
        DOMString cellPadding() const;

        /**
         * see @ref cellPadding
         */
        void setCellPadding( const DOMString & );

        /**
         * Specifies the horizontal and vertical separation between cells.
         * See the
         * cellspacing attribute definition  in HTML 4.0.
         *
         */
        DOMString cellSpacing() const;

        /**
         * see @ref cellSpacing
         */
        void setCellSpacing( const DOMString & );

        /**
         * Specifies which external table borders to render. See the
         * frame attribute definition  in HTML 4.0.
         *
         */
        DOMString frame() const;

        /**
         * see @ref frame
         */
        void setFrame( const DOMString & );

        /**
         * Specifies which internal table borders to render. See the
         * rules attribute definition  in HTML 4.0.
         *
         */
        DOMString rules() const;

        /**
         * see @ref rules
         */
        void setRules( const DOMString & );

        /**
         * Supplementary description about the purpose or structure of a
         * table. See the
         * summary attribute definition  in HTML 4.0.
         *
         */
        DOMString summary() const;

        /**
         * see @ref summary
         */
        void setSummary( const DOMString & );

        /**
         * Specifies the desired table width. See the
         * width attribute definition  in HTML 4.0.
         *
         */
        DOMString width() const;

        /**
         * see @ref width
         */
        void setWidth( const DOMString & );

        /**
         * Create a table header row or return an existing one.
         *
         * @return A new table header element (  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 (  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  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
     * TR element definition  in HTML 4.0.
     *
     */
    class 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 @ref 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 (
         * THEAD  ,  TFOOT  , or  TBODY
         * ).
         *
         */
        long sectionRowIndex() const;

        /**
         * see @ref 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 @ref 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
         *
         * align attribute definition  in HTML 4.0.
         *
         */
        DOMString align() const;

        /**
         * see @ref align
         */
        void setAlign( const DOMString & );

        /**
         * Background color for rows. See the
         * bgcolor attribute definition  in HTML 4.0. This attribute
         * is deprecated in HTML 4.0.
         *
         */
        DOMString bgColor() const;

        /**
         * see @ref bgColor
         */
        void setBgColor( const DOMString & );

        /**
         * Alignment character for cells in a column. See the
         * char attribute definition  in HTML 4.0.
         *
         */
        DOMString ch() const;

        /**
         * see @ref ch
         */
        void setCh( const DOMString & );

        /**
         * Offset of alignment character. See the
         * charoff attribute definition  in HTML 4.0.
         *
         */
        DOMString chOff() const;

        /**
         * see @ref chOff
         */
        void setChOff( const DOMString & );

        /**
         * Vertical alignment of data within cells of this row. See the
         * valign attribute definition  in HTML 4.0.
         *
         */
        DOMString vAlign() const;

        /**
         * see @ref vAlign
         */
        void setVAlign( const DOMString & );

        /**
         * Insert an empty  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  THEAD  ,  TFOOT  , and  TBODY
     *  elements.
     *
     */
    class 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  align
         *  attribute for HTMLTheadElement for details.
         *
         */
        DOMString align() const;

        /**
         * see @ref align
         */
        void setAlign( const DOMString & );

        /**
         * Alignment character for cells in a column. See the
         * char attribute definition  in HTML 4.0.
         *
         */
        DOMString ch() const;

        /**
         * see @ref ch
         */
        void setCh( const DOMString & );

        /**
         * Offset of alignment character. See the
         * charoff attribute definition  in HTML 4.0.
         *
         */
        DOMString chOff() const;

        /**
         * see @ref chOff
         */
        void setChOff( const DOMString & );

        /**
         * Vertical alignment of data in cells. See the  valign
         *  attribute for HTMLTheadElement for details.
         *
         */
        DOMString vAlign() const;

        /**
         * see @ref 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

Generated by: root on macppc.ports.openbsd.org on Sat Sep 6 10:37:43 2003, using kdoc 2.0a54.