//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module khtml  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software 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 General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

namespace DOM
{

class DOMImplementation
{
%TypeHeaderCode
#include <dom_doc.h>
%End


public:
                         DOMImplementation ();
                         DOMImplementation (const DOM::DOMImplementation&);
    bool                 hasFeature (const DOM::DOMString&, const DOM::DOMString&);
    DOM::DocumentType    createDocumentType (const DOM::DOMString&, const DOM::DOMString&, const DOM::DOMString&);
    DOM::Document        createDocument (const DOM::DOMString&, const DOM::DOMString&, const DOM::DocumentType&);
    DOM::DOMImplementation getInterface (const DOM::DOMString&) const;
    DOM::CSSStyleSheet   createCSSStyleSheet (const DOM::DOMString&, const DOM::DOMString&);
    DOM::HTMLDocument    createHTMLDocument (const DOM::DOMString&);
//ig     DOMImplementationImpl* handle () const;
    bool                 isNull () const;

protected:
//ig                          DOMImplementation (DOMImplementationImpl*);

};  // class DOMImplementation


class Document : DOM::Node
{
%TypeHeaderCode
#include <dom_doc.h>
%End


public:
                         Document ();
                         Document (bool);
                         Document (const DOM::Document&);
                         Document (const DOM::Node&);
    DOM::DocumentType    doctype () const;
    DOM::DOMImplementation implementation () const;
    DOM::Element         documentElement () const;
    DOM::Element         createElement (const DOM::DOMString&);
    DOM::Element         createElementNS (const DOM::DOMString&, const DOM::DOMString&);
    DOM::DocumentFragment createDocumentFragment ();
    DOM::Text            createTextNode (const DOM::DOMString&);
    DOM::Comment         createComment (const DOM::DOMString&);
    DOM::CDATASection    createCDATASection (const DOM::DOMString&);
    DOM::ProcessingInstruction createProcessingInstruction (const DOM::DOMString&, const DOM::DOMString&);
    DOM::Attr            createAttribute (const DOM::DOMString&);
    DOM::Attr            createAttributeNS (const DOM::DOMString&, const DOM::DOMString&);
    DOM::EntityReference createEntityReference (const DOM::DOMString&);
    DOM::Element         getElementById (const DOM::DOMString&) const;
    DOM::NodeList        getElementsByTagName (const DOM::DOMString&);
    DOM::NodeList        getElementsByTagNameNS (const DOM::DOMString&, const DOM::DOMString&);
    DOM::Node            importNode (const DOM::Node&, bool);
    bool                 isHTMLDocument () const;
    DOM::Range           createRange ();
    DOM::NodeIterator    createNodeIterator (DOM::Node, ulong, DOM::NodeFilter, bool);
    DOM::TreeWalker      createTreeWalker (DOM::Node, ulong, DOM::NodeFilter, bool);
    DOM::Event           createEvent (const DOM::DOMString&);
    DOM::AbstractView    defaultView () const;
    DOM::StyleSheetList  styleSheets () const;

%If ( KDE_3_2_0 -  )
    DOM::DOMString       preferredStylesheetSet ();
    DOM::DOMString       selectedStylesheetSet ();
    void                 setSelectedStylesheetSet (const DOM::DOMString&);

%If ( KDE_3_4_0 -  )
    void                 addStyleSheet (const DOM::StyleSheet&);
    void                 removeStyleSheet (const DOM::StyleSheet&);
%End

%End

    KHTMLView*           view () const;
    DOM::CSSStyleDeclaration getOverrideStyle (const DOM::Element&, const DOM::DOMString&);

%If ( KDE_3_2_0 -  )
    bool                 async () const;
    void                 setAsync (bool);
    void                 abort ();
    void                 load (const DOM::DOMString&);
    void                 loadXML (const DOM::DOMString&);
    bool                 designMode () const;
    void                 setDesignMode (bool);
%End

    DOM::DOMString       completeURL (const DOM::DOMString&);

%If ( KDE_3_3_0 -  )
    DOM::DOMString       toString () const;
%End


%If ( KDE_3_2_0 -  )
    void                 updateRendering ();

%If ( KDE_3_3_0 -  )
//ig                          Document (DocumentImpl*);
%End

%End


protected:

%If (  - KDE_3_3_0 )
//ig                          Document (DocumentImpl*);
%End


};  // class Document


class DocumentFragment : DOM::Node
{
%TypeHeaderCode
#include <dom_doc.h>
%End


public:
                         DocumentFragment ();
                         DocumentFragment (const DOM::DocumentFragment&);
                         DocumentFragment (const DOM::Node&);

protected:
//ig                          DocumentFragment (DocumentFragmentImpl*);

};  // class DocumentFragment


class DocumentType : DOM::Node
{
%TypeHeaderCode
#include <dom_doc.h>
%End


public:
                         DocumentType ();
                         DocumentType (const DOM::DocumentType&);
                         DocumentType (const DOM::Node&);
    DOM::DOMString       name () const;
    DOM::NamedNodeMap    entities () const;
    DOM::NamedNodeMap    notations () const;
    DOM::DOMString       publicId () const;
    DOM::DOMString       systemId () const;
    DOM::DOMString       internalSubset () const;

protected:
//ig                          DocumentType (DocumentTypeImpl*);

};  // class DocumentType

};  // namespace DOM

