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


//                 Generated by preSip
//            module tdeui  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.


class KXMLGUIClient
{
%TypeHeaderCode
#include <kxmlguiclient.h>
%End


public:
                         KXMLGUIClient ();
                         KXMLGUIClient (KXMLGUIClient* /TransferThis/);
    KAction*             action (const char*) const;
    virtual KAction*     action (const TQDomElement&) const;
    virtual KActionCollection* actionCollection () const;
    virtual KInstance*   instance () const;
    virtual TQDomDocument domDocument () const;
    virtual TQString      xmlFile () const;
    virtual TQString      localXMLFile () const;
    void                 setXMLGUIBuildDocument (const TQDomDocument&);
    TQDomDocument         xmlguiBuildDocument () const;
    void                 setFactory (KXMLGUIFactory*);
    KXMLGUIFactory*      factory () const;
    KXMLGUIClient*       parentClient () const;
    void                 insertChildClient (KXMLGUIClient*);
    void                 removeChildClient (KXMLGUIClient*);
    const TQPtrList<KXMLGUIClient>* childClients ();
    void                 setClientBuilder (KXMLGUIBuilder*);
    KXMLGUIBuilder*      clientBuilder () const;
    void                 reloadXML ();
    void                 plugActionList (const TQString&, const TQPtrList<KAction>&);
    void                 unplugActionList (const TQString&);
    static TQString       findMostRecentXMLFile (const TQStringList&, TQString&);
    void                 addStateActionEnabled (const TQString&, const TQString&);
    void                 addStateActionDisabled (const TQString&, const TQString&);

    enum ReverseStateChange
    {
        StateNoReverse, 
        StateReverse
    };


    class StateChange
    {

    public:
        TQStringList          actionsToEnable;
        TQStringList          actionsToDisable;

    };  // class StateChange


public:
    KXMLGUIClient::StateChange getActionsToChangeForState (const TQString&);

%If ( KDE_3_1_0 -  )
    void                 beginXMLPlug (TQWidget*);
    void                 endXMLPlug ();
    void                 prepareXMLUnplug (TQWidget*);
%End


protected:
    virtual void         setInstance (KInstance*);
    virtual void         setXMLFile (const TQString&, bool = 0, bool = 1);
    virtual void         setLocalXMLFile (const TQString&);
    virtual void         setXML (const TQString&, bool = 0);
    virtual void         setDOMDocument (const TQDomDocument&, bool = 0);
    virtual void         conserveMemory ();
    virtual void         stateChanged (const TQString&, KXMLGUIClient::ReverseStateChange = StateNoReverse );

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KXMLGUIClient