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 * Copyright 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 <khtml_export.h> 00033 #include <dom/html_element.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 KDE_DEPRECATED DOMString size() const; 00109 00113 KDE_DEPRECATED void setSize( const DOMString & ); 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(HTMLCollectionImpl* impl); 00143 HTMLCollection(NodeImpl *base, int type); 00144 public: 00145 00146 HTMLCollection & operator = (const HTMLCollection &other); 00147 00148 ~HTMLCollection(); 00149 00154 unsigned long length() const; 00155 00168 Node item ( unsigned long index ) const; 00169 00186 Node namedItem ( const DOMString &name ) const; 00187 00192 Node base() const; 00193 HTMLCollectionImpl *handle() const; 00194 bool isNull() const; 00195 // Fast iteration 00196 Node firstItem() const; 00197 Node nextItem() const; 00198 // In case of multiple items named the same way 00199 Node nextNamedItem( const DOMString &name ) const; 00200 00201 protected: 00202 HTMLCollectionImpl *impl; 00203 }; 00204 00205 class KHTML_EXPORT HTMLFormCollection : public HTMLCollection 00206 { 00207 friend class HTMLFormElement; 00208 protected: 00209 HTMLFormCollection(NodeImpl *base); 00210 }; 00211 00212 } //namespace 00213 00214 #endif