From ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- khtml/dom/html_element.h | 221 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 khtml/dom/html_element.h (limited to 'khtml/dom/html_element.h') diff --git a/khtml/dom/html_element.h b/khtml/dom/html_element.h new file mode 100644 index 000000000..2d40f08a5 --- /dev/null +++ b/khtml/dom/html_element.h @@ -0,0 +1,221 @@ +/* + * This file is part of the DOM implementation for KDE. + * + * (C) 1999 Lars Knoll (knoll@kde.org) + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + * This file includes excerpts from the Document Object Model (DOM) + * Level 1 Specification (Recommendation) + * http://www.w3.org/TR/REC-DOM-Level-1/ + * Copyright © World Wide Web Consortium , (Massachusetts Institute of + * Technology , Institut National de Recherche en Informatique et en + * Automatique , Keio University ). All Rights Reserved. + * + */ +#ifndef HTML_ELEMENT_H +#define HTML_ELEMENT_H + +#include +#include + +class KHTMLView; + +namespace DOM { + +class HTMLElementImpl; +class DOMString; +class Element; +class HTMLCollection; + +/** + * All HTML element interfaces derive from this class. Elements that + * only expose the HTML core attributes are represented by the base + * \c HTMLElement interface. These elements are as + * follows: + * + * \li \c HEAD + * + * \li special: SUB, SUP, SPAN, BDO + * + * \li font: TT, I, B, U, S, STRIKE, BIG, SMALL + * + * \li phrase: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, + * CITE, ACRONYM, ABBR + * + * \li list: DD, DT + * + * \li NOFRAMES, NOSCRIPT + * + * \li ADDRESS, CENTER + * + * Note: The \c style attribute for this + * interface is reserved for future usage. + * + */ +class KHTML_EXPORT HTMLElement : public Element +{ + friend class HTMLDocument; + friend class ::KHTMLView; + friend class HTMLTableElement; + friend class HTMLTableRowElement; + friend class HTMLTableSectionElement; + +public: + HTMLElement(); + HTMLElement(const HTMLElement &other); + HTMLElement(const Node &other) : Element() + {(*this)=other;} + +protected: + HTMLElement(HTMLElementImpl *impl); +public: + + HTMLElement & operator = (const HTMLElement &other); + HTMLElement & operator = (const Node &other); + + ~HTMLElement(); + + /** + * The element's identifier. See the + * id attribute definition in HTML 4.0. + * + */ + DOMString id() const; + + /** + * see id + */ + void setId( const DOMString & ); + + /** + * The element's advisory title. See the + * title attribute definition in HTML 4.0. + * + */ + DOMString title() const; + + /** + * see title + */ + void setTitle( const DOMString & ); + + /** + * Language code defined in RFC 1766. See the + * lang attribute definition in HTML 4.0. + * + */ + DOMString lang() const; + + /** + * see lang + */ + void setLang( const DOMString & ); + + /** + * Specifies the base direction of directionally neutral text and + * the directionality of tables. See the + * dir attribute definition in HTML 4.0. + * + */ + DOMString dir() const; + + /** + * see dir + */ + void setDir( const DOMString & ); + + /** + * The class attribute of the element. This attribute has been + * renamed due to conflicts with the "class" keyword exposed by + * many languages. See the + * class attribute definition in HTML 4.0. + * + */ + DOMString className() const; + + /** + * see className + */ + void setClassName( const DOMString & ); + + /** + * The HTML code contained in this element. + * This function is not part of the DOM specifications as defined by the w3c. + */ + DOMString innerHTML() const; + + /** + * Set the HTML content of this node. + * + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if there is the element does not allow + * children. + */ + void setInnerHTML( const DOMString &html ); + + /** + * The text contained in this element. + * This function is not part of the DOM specifications as defined by the w3c. + */ + DOMString innerText() const; + + /** + * Set the text content of this node. + * + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if there is the element does not allow + * children. + */ + void setInnerText( const DOMString &text ); + + /** + * Retrieves a collection of nodes that are direct descendants of this node. + * IE-specific extension. + */ + HTMLCollection children() const; + + /** + * Retrieves a collection of all nodes that descend from this node. + * IE-specific extension. + */ + HTMLCollection all() const; + + /* + * @internal + */ + void removeCSSProperty( const DOMString& property ); + + /* + * @internal + */ + void addCSSProperty( const DOMString &property, const DOMString &value ); + +protected: + /* + * @internal + */ + void assignOther( const Node &other, int elementId ); +}; + +} //namespace + +#endif -- cgit v1.2.1