//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 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 program.  If not, see <http://www.gnu.org/licenses/>.

namespace DOM
{

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


public:
                            DOMImplementation ();
                            DOMImplementation (const DOM::DOMImplementation& other);
    bool                    hasFeature (const DOM::DOMString& feature, const DOM::DOMString& version);
    DOM::DocumentType       createDocumentType (const DOM::DOMString& qualifiedName, const DOM::DOMString& publicId, const DOM::DOMString& systemId);
    DOM::Document           createDocument (const DOM::DOMString& namespaceURI, const DOM::DOMString& qualifiedName, const DOM::DocumentType& doctype);
    DOM::DOMImplementation  getInterface (const DOM::DOMString& feature) const;
    DOM::CSSStyleSheet      createCSSStyleSheet (const DOM::DOMString& title, const DOM::DOMString& media);
    DOM::HTMLDocument       createHTMLDocument (const DOM::DOMString& title);
//ig     DOMImplementationImpl*  handle () const;
    bool                    isNull () const;

protected:
//ig                        DOMImplementation (DOMImplementationImpl* i);
};   // DOMImplementation


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


public:
                            Document ();
                            Document (bool);
                            Document (const DOM::Document& other);
                            Document (const DOM::Node& other);
    DOM::DocumentType       doctype () const;
    DOM::DOMImplementation  implementation () const;
    DOM::Element            documentElement () const;
    DOM::Element            createElement (const DOM::DOMString& tagName);
    DOM::Element            createElementNS (const DOM::DOMString& namespaceURI, const DOM::DOMString& qualifiedName);
    DOM::DocumentFragment   createDocumentFragment ();
    DOM::Text               createTextNode (const DOM::DOMString& data);
    DOM::Comment            createComment (const DOM::DOMString& data);
    DOM::CDATASection       createCDATASection (const DOM::DOMString& data);
    DOM::ProcessingInstruction  createProcessingInstruction (const DOM::DOMString& target, const DOM::DOMString& data);
    DOM::Attr               createAttribute (const DOM::DOMString& name);
    DOM::Attr               createAttributeNS (const DOM::DOMString& namespaceURI, const DOM::DOMString& qualifiedName);
    DOM::EntityReference    createEntityReference (const DOM::DOMString& name);
    DOM::Element            getElementById (const DOM::DOMString& elementId) const;
    DOM::NodeList           getElementsByTagName (const DOM::DOMString& tagname);
    DOM::NodeList           getElementsByTagNameNS (const DOM::DOMString& namespaceURI, const DOM::DOMString& localName);

    DOM::NodeList           getElementsByClassName (const DOM::DOMString& className);

    DOM::Node               importNode (const DOM::Node& importedNode, bool deep);
    bool                    isHTMLDocument () const;
    DOM::Range              createRange ();
    DOM::NodeIterator       createNodeIterator (DOM::Node root, unsigned long whatToShow, DOM::NodeFilter filter, bool entityReferenceExpansion);
    DOM::TreeWalker         createTreeWalker (DOM::Node root, unsigned long whatToShow, DOM::NodeFilter filter, bool entityReferenceExpansion);
    DOM::Event              createEvent (const DOM::DOMString& eventType);
    DOM::AbstractView       defaultView () const;
    DOM::StyleSheetList     styleSheets () const;
    DOM::DOMString          preferredStylesheetSet ();
    DOM::DOMString          selectedStylesheetSet ();
    void                    setSelectedStylesheetSet (const DOM::DOMString& aString);
    void                    addStyleSheet (const DOM::StyleSheet& sheet);
    void                    removeStyleSheet (const DOM::StyleSheet& sheet);
    KHTMLView*              view () const;
    DOM::CSSStyleDeclaration  getOverrideStyle (const DOM::Element& elt, const DOM::DOMString& pseudoElt);
    bool                    async () const;
    void                    setAsync (bool);
    void                    abort ();
    void                    load (const DOM::DOMString& uri);
    void                    loadXML (const DOM::DOMString& source);
    bool                    designMode () const;
    void                    setDesignMode (bool enable);
    DOM::DOMString          completeURL (const DOM::DOMString& url);
    DOM::DOMString          toString () const;

    bool                    execCommand (const DOM::DOMString& command, bool userInterface, const DOM::DOMString& value);
    bool                    queryCommandEnabled (const DOM::DOMString& command);
    bool                    queryCommandIndeterm (const DOM::DOMString& command);
    bool                    queryCommandState (const DOM::DOMString& command);
    bool                    queryCommandSupported (const DOM::DOMString& command);
    DOM::DOMString          queryCommandValue (const DOM::DOMString& command);

    void                    updateRendering ();
//ig                        Document (DocumentImpl* i);
};   // Document


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


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

protected:
//ig                        DocumentFragment (DocumentFragmentImpl* i);
};   // DocumentFragment


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


public:
                            DocumentType ();
                            DocumentType (const DOM::DocumentType& other);
                            DocumentType (const DOM::Node& other);
    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* impl);
};   // DocumentType

};   // DOM


