html_element.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_element.h,v 1.19.2.1 2003/05/18 12:34:37 mueller Exp $ 00029 */ 00030 #ifndef HTML_ELEMENT_H 00031 #define HTML_ELEMENT_H 00032 00033 #include <dom/dom_element.h> 00034 class KHTMLView; 00035 00036 namespace DOM { 00037 00038 class HTMLElementImpl; 00039 class DOMString; 00040 class Element; 00041 class HTMLCollection; 00042 00068 class HTMLElement : public Element 00069 { 00070 friend class HTMLDocument; 00071 friend class ::KHTMLView; 00072 friend class HTMLTableElement; 00073 friend class HTMLTableRowElement; 00074 friend class HTMLTableSectionElement; 00075 00076 public: 00077 HTMLElement(); 00078 HTMLElement(const HTMLElement &other); 00079 HTMLElement(const Node &other) : Element() 00080 {(*this)=other;} 00081 00082 protected: 00083 HTMLElement(HTMLElementImpl *impl); 00084 public: 00085 00086 HTMLElement & operator = (const HTMLElement &other); 00087 HTMLElement & operator = (const Node &other); 00088 00089 ~HTMLElement(); 00090 00097 DOMString id() const; 00098 00102 void setId( const DOMString & ); 00103 00110 DOMString title() const; 00111 00115 void setTitle( const DOMString & ); 00116 00123 DOMString lang() const; 00124 00128 void setLang( const DOMString & ); 00129 00137 DOMString dir() const; 00138 00142 void setDir( const DOMString & ); 00143 00152 DOMString className() const; 00153 00157 void setClassName( const DOMString & ); 00158 00163 DOMString innerHTML() const; 00164 00172 void setInnerHTML( const DOMString &html ); 00173 00178 DOMString innerText() const; 00179 00187 void setInnerText( const DOMString &text ); 00188 00193 HTMLCollection children() const; 00194 00199 HTMLCollection all() const; 00200 00201 /* 00202 * @internal 00203 */ 00204 void removeCSSProperty( const DOMString& property ); 00205 00206 /* 00207 * @internal 00208 */ 00209 void addCSSProperty( const DOMString &property, const DOMString &value ); 00210 00211 protected: 00212 /* 00213 * @internal 00214 */ 00215 void assignOther( const Node &other, int elementId ); 00216 }; 00217 00218 } //namespace 00219 00220 #endif