khtml Library API Documentation

html_elementimpl.h

00001 /*
00002  * This file is part of the DOM implementation for KDE.
00003  *
00004  * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
00005  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Library General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Library General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Library General Public License
00018  * along with this library; see the file COPYING.LIB.  If not, write to
00019  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00020  * Boston, MA 02111-1307, USA.
00021  *
00022  * $Id: html_elementimpl.h,v 1.60.2.2 2003/01/13 22:04:47 mueller Exp $
00023  */
00024 #ifndef HTML_ELEMENTIMPL_H
00025 #define HTML_ELEMENTIMPL_H
00026 
00027 #include "xml/dom_elementimpl.h"
00028 
00029 namespace DOM {
00030 
00031 class DOMString;
00032 class CSSStyleDeclarationImpl;
00033 
00034 class HTMLElementImpl : public ElementImpl
00035 {
00036 public:
00037     HTMLElementImpl(DocumentPtr *doc)
00038         : ElementImpl(doc) {}
00039 
00040     virtual ~HTMLElementImpl();
00041 
00042     virtual bool isHTMLElement() const { return true; }
00043 
00044     virtual Id id() const = 0;
00045 
00046     virtual void parseAttribute(AttributeImpl *token);
00047 
00048     void addCSSLength(int id, const DOMString &value, bool numOnly = false, bool multiLength = false);
00049     void addCSSProperty(int id, const DOMString &value);
00050     void addCSSProperty(int id, int value);
00051     void removeCSSProperty(int id);
00052 
00053     virtual void recalcStyle( StyleChange );
00054 
00055     DOMString innerHTML() const;
00056     DOMString innerText() const;
00057     bool setInnerHTML( const DOMString &html );
00058     bool setInnerText( const DOMString &text );
00059 
00060     virtual DOMString namespaceURI() const;
00061 
00062 protected:
00063     bool isURLAllowed(const QString& url) const;
00064 
00065     // for IMG, OBJECT and APPLET
00066     void addHTMLAlignment( DOMString alignment );
00067 };
00068 
00069 class HTMLGenericElementImpl : public HTMLElementImpl
00070 {
00071 public:
00072     HTMLGenericElementImpl(DocumentPtr *doc, ushort i);
00073 
00074     virtual ~HTMLGenericElementImpl();
00075 
00076     virtual Id id() const { return _id; };
00077 
00078 protected:
00079     ushort _id;
00080 };
00081 
00082 }; //namespace
00083 
00084 #endif
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.0.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Oct 8 12:22:36 2003 by doxygen 1.2.18 written by Dimitri van Heesch, © 1997-2001