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


//                 Generated by preSip
//            module kdeui  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 QDomElement&) const;
    virtual KActionCollection* actionCollection () const;
    virtual KInstance*   instance () const;
    virtual QDomDocument domDocument () const;
    virtual QString      xmlFile () const;
    virtual QString      localXMLFile () const;
    void                 setXMLGUIBuildDocument (const QDomDocument&);
    QDomDocument         xmlguiBuildDocument () const;
    void                 setFactory (KXMLGUIFactory*);
    KXMLGUIFactory*      factory () const;
    KXMLGUIClient*       parentClient () const;
    void                 insertChildClient (KXMLGUIClient*);
    void                 removeChildClient (KXMLGUIClient*);
    const QPtrList<KXMLGUIClient>* childClients ();
    void                 setClientBuilder (KXMLGUIBuilder*);
    KXMLGUIBuilder*      clientBuilder () const;
    void                 reloadXML ();
    void                 plugActionList (const QString&, const QPtrList<KAction>&);
    void                 unplugActionList (const QString&);
    static QString       findMostRecentXMLFile (const QStringList&, QString&);
    void                 addStateActionEnabled (const QString&, const QString&);
    void                 addStateActionDisabled (const QString&, const QString&);

    enum ReverseStateChange
    {
        StateNoReverse, 
        StateReverse
    };


    class StateChange
    {

    public:
        QStringList          actionsToEnable;
        QStringList          actionsToDisable;

    };  // class StateChange


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

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


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

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

};  // class KXMLGUIClient

