html_misc.h
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., 59 Temple Place - Suite 330, 00019 * Boston, MA 02111-1307, 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 * $Id: html_misc.h,v 1.14.4.2 2003/05/18 12:34:37 mueller Exp $ 00029 */ 00030 #ifndef HTML_MISC_H 00031 #define HTML_MISC_H 00032 00033 #include <dom/html_element.h> 00034 00035 namespace DOM { 00036 00037 class HTMLBaseFontElementImpl; 00038 class DOMString; 00039 class HTMLCollectionImpl; 00040 00048 class 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; 00109 00113 void setSize( const DOMString & ); 00114 }; 00115 00116 // -------------------------------------------------------------------------- 00117 00126 class 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 HTMLElement; 00136 00137 public: 00138 HTMLCollection(); 00139 HTMLCollection(const HTMLCollection &other); 00140 protected: 00141 HTMLCollection(NodeImpl *base, int type); 00142 public: 00143 00144 HTMLCollection & operator = (const HTMLCollection &other); 00145 00146 ~HTMLCollection(); 00147 00152 unsigned long length() const; 00153 00166 Node item ( unsigned long index ) const; 00167 00184 Node namedItem ( const DOMString &name ) const; 00185 00190 Node base() const; 00191 HTMLCollectionImpl *handle() const; 00192 bool isNull() const; 00193 // Fast iteration 00194 Node firstItem() const; 00195 Node nextItem() const; 00196 // In case of multiple items named the same way 00197 Node nextNamedItem( const DOMString &name ) const; 00198 00199 protected: 00200 HTMLCollectionImpl *impl; 00201 }; 00202 00203 class HTMLFormCollection : public HTMLCollection 00204 { 00205 friend class HTMLFormElement; 00206 protected: 00207 HTMLFormCollection(NodeImpl *base); 00208 }; 00209 00210 } //namespace 00211 00212 #endif