# khtml Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# html_baseimpl.h

    00001 /*
    00002  * This file is part of the DOM implementation for KDE.
    00003  *
    00004  * Copyright (C) 1999-2003 Lars Knoll (knoll@kde.org)
    00005  *           (C) 2000-2003 Dirk Mueller (mueller@kde.org)
    00006  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
    00007  *           (C) 2000 Simon Hausmann <hausmann@kde.org>
    00008  * Copyright (C) 2002 Apple Computer, Inc.
    00009  *
    00010  * This library is free software; you can redistribute it and/or
    00011  * modify it under the terms of the GNU Library General Public
    00012  * License as published by the Free Software Foundation; either
    00013  * version 2 of the License, or (at your option) any later version.
    00014  *
    00015  * This library is distributed in the hope that it will be useful,
    00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00018  * Library General Public License for more details.
    00019  *
    00020  * You should have received a copy of the GNU Library General Public License
    00021  * along with this library; see the file COPYING.LIB.  If not, write to
    00022  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00023  * Boston, MA 02111-1307, USA.
    00024  *
    00025  */
    00026
    00027 #ifndef HTML_BASEIMPL_H
    00028 #define HTML_BASEIMPL_H
    00029
    00030 #include "html/dtd.h"
    00031 #include "html/html_elementimpl.h"
    00032 #include "misc/khtmllayout.h"
    00033
    00034 #include <qscrollview.h>
    00035
    00036 class KHTMLView;
    00037
    00038 namespace khtml {
    00039     class RenderFrameSet;
    00040     class RenderFrame;
    00041     class RenderPartObject;
    00042 }
    00043
    00044 namespace DOM {
    00045
    00046 class DOMString;
    00047 class CSSStyleSheetImpl;
    00048 class HTMLFrameElement;
    00049
    00050 // -------------------------------------------------------------------------
    00051
    00052 class HTMLBodyElementImpl : public HTMLElementImpl
    00053 {
    00054 public:
    00055     HTMLBodyElementImpl(DocumentPtr *doc);
    00056     ~HTMLBodyElementImpl();
    00057
    00058     virtual Id id() const;
    00059
    00060     virtual void parseAttribute(AttributeImpl *);
    00061     virtual void attach();
    00062
    00063     virtual void insertedIntoDocument();
    00064     virtual void removedFromDocument();
    00065
    00066     CSSStyleSheetImpl *sheet() const { return m_styleSheet; }
    00067
    00068 protected:
    00069     CSSStyleSheetImpl *m_styleSheet;
    00070     bool m_bgSet;
    00071     bool m_fgSet;
    00072 };
    00073
    00074 // -------------------------------------------------------------------------
    00075
    00076 class HTMLFrameElementImpl : public HTMLElementImpl
    00077 {
    00078     friend class khtml::RenderFrame;
    00079     friend class khtml::RenderPartObject;
    00080
    00081 public:
    00082     HTMLFrameElementImpl(DocumentPtr *doc);
    00083
    00084     ~HTMLFrameElementImpl();
    00085
    00086     virtual Id id() const;
    00087
    00088     virtual void parseAttribute(AttributeImpl *);
    00089     virtual void attach();
    00090
    00091     bool noResize() { return noresize; }
    00092     void setLocation( const DOMString& str );
    00093
    00094     virtual bool isSelectable() const;
    00095     virtual void setFocus(bool);
    00096
    00097     DocumentImpl* contentDocument() const;
    00098
    00099     DOMString url;
    00100     DOMString name;
    00101
    00102     int marginWidth;
    00103     int marginHeight;
    00104     QScrollView::ScrollBarMode scrolling;
    00105
    00106     bool frameBorder : 1;
    00107     bool frameBorderSet : 1;
    00108     bool noresize : 1;
    00109 };
    00110
    00111 // -------------------------------------------------------------------------
    00112
    00113 class HTMLFrameSetElementImpl : public HTMLElementImpl
    00114 {
    00115     friend class khtml::RenderFrameSet;
    00116 public:
    00117     HTMLFrameSetElementImpl(DocumentPtr *doc);
    00118
    00119     ~HTMLFrameSetElementImpl();
    00120
    00121     virtual Id id() const;
    00122
    00123     virtual void parseAttribute(AttributeImpl *);
    00124     virtual void attach();
    00125
    00126     virtual void defaultEventHandler(EventImpl *evt);
    00127
    00128     bool frameBorder() { return frameborder; }
    00129     bool noResize() { return noresize; }
    00130
    00131     int totalRows() const { return m_totalRows; }
    00132     int totalCols() const { return m_totalCols; }
    00133     int border() const { return m_border; }
    00134     virtual void detach();
    00135
    00136     virtual void recalcStyle( StyleChange ch );
    00137
    00138 protected:
    00139     khtml::Length* m_rows;
    00140     khtml::Length* m_cols;
    00141
    00142     int m_totalRows;
    00143     int m_totalCols;
    00144     int m_border;
    00145
    00146     bool frameborder : 1;
    00147     bool frameBorderSet : 1;
    00148     bool noresize : 1;
    00149     bool m_resizing : 1;  // is the user resizing currently
    00150 };
    00151
    00152 // -------------------------------------------------------------------------
    00153
    00154 class HTMLHeadElementImpl : public HTMLElementImpl
    00155 {
    00156 public:
    00157     HTMLHeadElementImpl(DocumentPtr *doc)
    00158         : HTMLElementImpl(doc) {}
    00159
    00160     virtual Id id() const;
    00161 };
    00162
    00163 // -------------------------------------------------------------------------
    00164
    00165 class HTMLHtmlElementImpl : public HTMLElementImpl
    00166 {
    00167 public:
    00168     HTMLHtmlElementImpl(DocumentPtr *doc)
    00169         : HTMLElementImpl(doc) {}
    00170
    00171     virtual Id id() const;
    00172     virtual void attach();
    00173 };
    00174
    00175
    00176 // -------------------------------------------------------------------------
    00177
    00178 class HTMLIFrameElementImpl : public HTMLFrameElementImpl
    00179 {
    00180 public:
    00181     HTMLIFrameElementImpl(DocumentPtr *doc);
    00182
    00183     ~HTMLIFrameElementImpl();
    00184
    00185     virtual Id id() const;
    00186
    00187     virtual void parseAttribute(AttributeImpl *attr);
    00188     virtual void attach();
    00189     virtual void recalcStyle( StyleChange ch );
    00190
    00191 protected:
    00192     bool needWidgetUpdate;
    00193 };
    00194
    00195
    00196 } //namespace
    00197
    00198 #endif
    00199

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:33:50 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001