//
//     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 NodeIterator
{
%TypeHeaderCode
#include <dom2_traversal.h>
%End


public:
                         NodeIterator ();
                         NodeIterator (const DOM::NodeIterator&);
    DOM::Node            root ();
    ulong                whatToShow ();
    DOM::NodeFilter      filter ();
    bool                 expandEntityReferences ();
    DOM::Node            nextNode ();
    DOM::Node            previousNode ();
    void                 detach ();
//ig     NodeIteratorImpl*    handle () const;
    bool                 isNull () const;

protected:
//ig                          NodeIterator (NodeIteratorImpl*);

};  // class NodeIterator


class NodeFilter
{
%TypeHeaderCode
#include <dom2_traversal.h>
%End


public:
                         NodeFilter ();
                         NodeFilter (const DOM::NodeFilter&);

%If ( KDE_3_2_1 -  )
//ig                          NodeFilter (NodeFilterImpl*);
%End


    enum AcceptCode
    {
        FILTER_ACCEPT, 
        FILTER_REJECT, 
        FILTER_SKIP
    };


    enum ShowCode
    {
        SHOW_ALL, 
        SHOW_ELEMENT, 
        SHOW_ATTRIBUTE, 
        SHOW_TEXT, 
        SHOW_CDATA_SECTION, 
        SHOW_ENTITY_REFERENCE, 
        SHOW_ENTITY, 
        SHOW_PROCESSING_INSTRUCTION, 
        SHOW_COMMENT, 
        SHOW_DOCUMENT, 
        SHOW_DOCUMENT_TYPE, 
        SHOW_DOCUMENT_FRAGMENT, 
        SHOW_NOTATION
    };

    virtual short        acceptNode (const DOM::Node&);
//ig     virtual NodeFilterImpl* handle () const;
    virtual bool         isNull () const;
    void                 setCustomNodeFilter (DOM::CustomNodeFilter*);
    DOM::CustomNodeFilter* customNodeFilter ();
    static DOM::NodeFilter createCustom (DOM::CustomNodeFilter*);

protected:

protected:

%If (  - KDE_3_2_1 )
//ig                          NodeFilter (NodeFilterImpl*);
%End


};  // class NodeFilter


class CustomNodeFilter : DOM::DomShared
{
%TypeHeaderCode
#include <dom2_traversal.h>
%End


public:
                         CustomNodeFilter ();
    virtual short        acceptNode (const DOM::Node&);
    virtual bool         isNull ();
    virtual DOM::DOMString customNodeFilterType ();

protected:

};  // class CustomNodeFilter


class TreeWalker
{
%TypeHeaderCode
#include <dom2_traversal.h>
%End


public:
                         TreeWalker ();
                         TreeWalker (const DOM::TreeWalker&);
    DOM::Node            root ();
    ulong                whatToShow ();
    DOM::NodeFilter      filter ();
    bool                 expandEntityReferences ();
    DOM::Node            currentNode ();

%If ( KDE_3_2_1 -  )
    void                 setCurrentNode (const DOM::Node&);
%End

    DOM::Node            parentNode ();
    DOM::Node            firstChild ();
    DOM::Node            lastChild ();
    DOM::Node            previousSibling ();
    DOM::Node            nextSibling ();
    DOM::Node            previousNode ();
    DOM::Node            nextNode ();
//ig     TreeWalkerImpl*      handle () const;
    bool                 isNull () const;

protected:
//ig                          TreeWalker (TreeWalkerImpl*);

public:

%If (  - KDE_3_2_1 )
    void                 setCurrentNode (const DOM::Node);
%End


};  // class TreeWalker

};  // namespace DOM

