KHTML
html_misc.h
Go to the documentation of this file.00001 /* 00002 * This file is part of the DOM implementation for KDE. 00003 * 00004 * (C) 1999 Lars Knoll (knoll@kde.org) 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Library General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Library General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Library General Public License 00017 * along with this library; see the file COPYING.LIB. If not, write to 00018 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 * Boston, MA 02110-1301, USA. 00020 * 00021 * This file includes excerpts from the Document Object Model (DOM) 00022 * Level 1 Specification (Recommendation) 00023 * http://www.w3.org/TR/REC-DOM-Level-1/ 00024 * Copyright World Wide Web Consortium , (Massachusetts Institute of 00025 * Technology , Institut National de Recherche en Informatique et en 00026 * Automatique , Keio University ). All Rights Reserved. 00027 * 00028 */ 00029 #ifndef HTML_MISC_H 00030 #define HTML_MISC_H 00031 00032 #include <dom/html_element.h> 00033 #include <kdelibs_export.h> 00034 00035 namespace DOM { 00036 00037 class HTMLBaseFontElementImpl; 00038 class DOMString; 00039 class HTMLCollectionImpl; 00040 00048 class KHTML_EXPORT HTMLBaseFontElement : public HTMLElement 00049 { 00050 public: 00051 HTMLBaseFontElement(); 00052 HTMLBaseFontElement(const HTMLBaseFontElement &other); 00053 HTMLBaseFontElement(const Node &other) : HTMLElement() 00054 {(*this)=other;} 00055 protected: 00056 HTMLBaseFontElement(HTMLBaseFontElementImpl *impl); 00057 public: 00058 00059 HTMLBaseFontElement & operator = (const HTMLBaseFontElement &other); 00060 HTMLBaseFontElement & operator = (const Node &other); 00061 00062 ~HTMLBaseFontElement(); 00063 00070 DOMString color() const; 00071 00075 void setColor( const DOMString & ); 00076 00084 DOMString face() const; 00085 00089 void setFace( const DOMString & ); 00090 00098 long getSize() const; 00099 00103 void setSize( long ); 00104 00108 DOMString size() const KDE_DEPRECATED; 00109 00113 void setSize( const DOMString & ) KDE_DEPRECATED; 00114 }; 00115 00116 // -------------------------------------------------------------------------- 00117 00126 class KHTML_EXPORT HTMLCollection 00127 { 00128 friend class HTMLDocument; 00129 friend class HTMLSelectElement; 00130 friend class HTMLImageElement; 00131 friend class HTMLMapElement; 00132 friend class HTMLTableElement; 00133 friend class HTMLTableRowElement; 00134 friend class HTMLTableSectionElement; 00135 friend class HTMLLayerElement; 00136 friend class HTMLElement; 00137 00138 public: 00139 HTMLCollection(); 00140 HTMLCollection(const HTMLCollection &other); 00141 protected: 00142 HTMLCollection(NodeImpl *base, int type); 00143 public: 00144 00145 HTMLCollection & operator = (const HTMLCollection &other); 00146 00147 ~HTMLCollection(); 00148 00153 unsigned long length() const; 00154 00167 Node item ( unsigned long index ) const; 00168 00185 Node namedItem ( const DOMString &name ) const; 00186 00191 Node base() const; 00192 HTMLCollectionImpl *handle() const; 00193 bool isNull() const; 00194 // Fast iteration 00195 Node firstItem() const; 00196 Node nextItem() const; 00197 // In case of multiple items named the same way 00198 Node nextNamedItem( const DOMString &name ) const; 00199 00200 protected: 00201 HTMLCollectionImpl *impl; 00202 }; 00203 00204 class KHTML_EXPORT HTMLFormCollection : public HTMLCollection 00205 { 00206 friend class HTMLFormElement; 00207 protected: 00208 HTMLFormCollection(NodeImpl *base); 00209 }; 00210 00214 class KHTML_EXPORT HTMLMappedNameCollection : public HTMLCollection 00215 { 00216 public: 00217 HTMLMappedNameCollection(NodeImpl *base, int type, const DOMString &name ); 00218 }; 00219 00220 } //namespace 00221 00222 #endif