html_baseimpl.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
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;
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 }
00197
00198 #endif
00199
This file is part of the documentation for kdelibs Version 3.1.4.