⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 html_tableimpl.h

📁 konqueror3 embedded版本, KDE环境下的当家浏览器的嵌入式版本源码包.
💻 H
字号:
/* * This file is part of the DOM implementation for KDE. * * Copyright (C) 1997 Martin Jones (mjones@kde.org) *           (C) 1997 Torben Weis (weis@kde.org) *           (C) 1998 Waldo Bastian (bastian@kde.org) *           (C) 1999 Lars Knoll (knoll@kde.org) *           (C) 1999 Antti Koivisto (koivisto@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. * */#ifndef HTML_TABLEIMPL_H#define HTML_TABLEIMPL_H#include "html/html_elementimpl.h"namespace DOM {class DOMString;class HTMLTableElementImpl;class HTMLTableSectionElementImpl;class HTMLTableSectionElement;class HTMLTableRowElementImpl;class HTMLTableRowElement;class HTMLTableCellElementImpl;class HTMLTableCellElement;class HTMLTableColElementImpl;class HTMLTableColElement;class HTMLTableCaptionElementImpl;class HTMLTableCaptionElement;class HTMLElement;class HTMLCollection;class HTMLTableElementImpl : public HTMLElementImpl{public:    enum Rules {        None    = 0x00,        RGroups = 0x01,        CGroups = 0x02,        Groups  = 0x03,        Rows    = 0x05,        Cols    = 0x0a,        All     = 0x0f    };    enum Frame {        Void   = 0x00,        Above  = 0x01,        Below  = 0x02,        Lhs    = 0x04,        Rhs    = 0x08,        Hsides = 0x03,        Vsides = 0x0c,        Box    = 0x0f    };    HTMLTableElementImpl(DocumentPtr *doc);    ~HTMLTableElementImpl();    virtual Id id() const;    HTMLTableCaptionElementImpl *caption() const { return tCaption; }    NodeImpl *setCaption( HTMLTableCaptionElementImpl * );    HTMLTableSectionElementImpl *tHead() const { return head; }    NodeImpl *setTHead( HTMLTableSectionElementImpl * );    HTMLTableSectionElementImpl *tFoot() const { return foot; }    NodeImpl *setTFoot( HTMLTableSectionElementImpl * );    NodeImpl *setTBody( HTMLTableSectionElementImpl * );    HTMLElementImpl *createTHead (  );    void deleteTHead (  );    HTMLElementImpl *createTFoot (  );    void deleteTFoot (  );    HTMLElementImpl *createCaption (  );    void deleteCaption (  );    HTMLElementImpl *insertRow ( long index, int &exceptioncode );    void deleteRow ( long index, int &exceptioncode );    // overrides    virtual NodeImpl *addChild(NodeImpl *child);    virtual NodeImpl *appendChild( NodeImpl *newChild, int &exceptioncode );    virtual void parseAttribute(AttributeImpl *attr);    virtual void attach();    virtual void close();protected:    void updateFrame();    HTMLTableSectionElementImpl *head;    HTMLTableSectionElementImpl *foot;    HTMLTableSectionElementImpl *firstBody;    HTMLTableCaptionElementImpl *tCaption;    Frame frame : 4;    Rules rules : 4;    bool m_solid        : 1;    uint unused		: 7;    ushort padding	: 16;    friend class HTMLTableCellElementImpl;};// -------------------------------------------------------------------------class HTMLTablePartElementImpl : public HTMLElementImpl{public:    HTMLTablePartElementImpl(DocumentPtr *doc)        : HTMLElementImpl(doc)        { }    virtual void parseAttribute(AttributeImpl *attr);};// -------------------------------------------------------------------------class HTMLTableSectionElementImpl : public HTMLTablePartElementImpl{public:    HTMLTableSectionElementImpl(DocumentPtr *doc, ushort tagid, bool implicit);    ~HTMLTableSectionElementImpl();    virtual Id id() const;    HTMLElementImpl *insertRow ( long index, int& exceptioncode );    void deleteRow ( long index, int& exceptioncode );    int numRows() const;protected:    ushort _id;};// -------------------------------------------------------------------------class HTMLTableRowElementImpl : public HTMLTablePartElementImpl{public:    HTMLTableRowElementImpl(DocumentPtr *doc)        : HTMLTablePartElementImpl(doc) {}    virtual Id id() const;    long rowIndex() const;    long sectionRowIndex() const;    HTMLElementImpl *insertCell ( long index, int &exceptioncode );    void deleteCell ( long index, int &exceptioncode );protected:    int ncols;};// -------------------------------------------------------------------------class HTMLTableCellElementImpl : public HTMLTablePartElementImpl{public:    HTMLTableCellElementImpl(DocumentPtr *doc, int tagId);    ~HTMLTableCellElementImpl();    long cellIndex() const;    int col() const { return _col; }    void setCol(int col) { _col = col; }    int row() const { return _row; }    void setRow(int r) { _row = r; }    int colSpan() const { return cSpan; }    int rowSpan() const { return rSpan; }    virtual Id id() const { return _id; }    virtual void parseAttribute(AttributeImpl *attr);    virtual void attach();protected:    int _row;    int _col;    int rSpan;    int cSpan;    int _id;    int rowHeight;    bool m_solid        : 1;    bool m_nowrap : 1;};// -------------------------------------------------------------------------class HTMLTableColElementImpl : public HTMLTablePartElementImpl{public:    HTMLTableColElementImpl(DocumentPtr *doc, ushort i);    virtual Id id() const;    void setTable(HTMLTableElementImpl *t) { table = t; }    // overrides    virtual void parseAttribute(AttributeImpl *attr);    int span() const { return _span; }protected:    // could be ID_COL or ID_COLGROUP ... The DOM is not quite clear on    // this, but since both elements work quite similar, we use one    // DOMElement for them...    ushort _id;    int _span;    HTMLTableElementImpl *table;};// -------------------------------------------------------------------------class HTMLTableCaptionElementImpl : public HTMLTablePartElementImpl{public:    HTMLTableCaptionElementImpl(DocumentPtr *doc)        : HTMLTablePartElementImpl(doc) {}    virtual Id id() const;    virtual void parseAttribute(AttributeImpl *attr);};} //namespace#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -