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


protected:
                         KCommand ();

public:
    virtual void         execute ()  = 0;
    virtual void         unexecute ()  = 0;
    virtual QString      name () const = 0;

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

};  // class KCommand


class KNamedCommand : KCommand
{
%TypeHeaderCode
#include <kcommand.h>
%End


protected:
                         KNamedCommand (const QString&);

public:
    virtual QString      name () const;
    void                 setName (const QString&);

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

};  // class KNamedCommand


class KMacroCommand : KNamedCommand
{
%TypeHeaderCode
#include <kcommand.h>
%End


public:
                         KMacroCommand (const QString&);
    void                 addCommand (KCommand*);
    virtual void         execute ();
    virtual void         unexecute ();

protected:

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

};  // class KMacroCommand


class KCommandHistory : QObject
{
%TypeHeaderCode
#include <kcommand.h>
%End


public:
                         KCommandHistory ();
                         KCommandHistory (KActionCollection*, bool = 1);
    void                 clear ();
    void                 addCommand (KCommand*, bool = 1);
    int                  undoLimit () const;
    void                 setUndoLimit (int);
    int                  redoLimit () const;
    void                 setRedoLimit (int);
    void                 updateActions ();

public slots:
    virtual void         undo ();
    virtual void         redo ();
    virtual void         documentSaved ();

protected slots:
    void                 slotUndoAboutToShow ();
    void                 slotUndoActivated (int);
    void                 slotRedoAboutToShow ();
    void                 slotRedoActivated (int);

signals:
    void                 commandExecuted ();

%If ( KDE_3_5_0 -  )
    void                 commandExecuted (KCommand*);
%End

    void                 documentRestored ();

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

};  // class KCommandHistory

