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


//                 Generated by preSip
//            module kdecore  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.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


class KAccelAction
{
%TypeHeaderCode
#include <kaccelaction.h>
%End


public:
                         KAccelAction ();
                         KAccelAction (const KAccelAction&);
                         KAccelAction (const QString&, const QString&, const QString&, const KShortcut&, const KShortcut&, const QObject*, const char*, bool, bool);
    void                 clear ();
    bool                 init (const QString&, const QString&, const QString&, const KShortcut&, const KShortcut&, const QObject*, const char*, bool, bool);
    const QString&       name () const;
    const QString&       label () const;
    const QString&       whatsThis () const;
    const KShortcut&     shortcut () const;
    const KShortcut&     shortcutDefault () const;
    const KShortcut&     shortcutDefault3 () const;
    const KShortcut&     shortcutDefault4 () const;
    const QObject*       objSlotPtr () const;
    const char*          methodSlotPtr () const;
    bool                 isConfigurable () const;
    bool                 isEnabled () const;
    void                 setName (const QString&);
    void                 setLabel (const QString&);
    void                 setWhatsThis (const QString&);
    bool                 setShortcut (const KShortcut&);
    void                 setSlot (const QObject*, const char*);
    void                 setConfigurable (bool);
    void                 setEnabled (bool);
    int                  getID () const;
    void                 setID (int);
    bool                 isConnected () const;
    bool                 setKeySequence (uint, const KKeySequence&);
    void                 clearShortcut ();
    bool                 contains (const KKeySequence&);
    QString              toString () const;
    QString              toStringInternal () const;
    static bool          useFourModifierKeys ();
    static void          useFourModifierKeys (bool);

protected:
    void                 incConnections ();
    void                 decConnections ();

};  // class KAccelAction


class KAccelActions
{
%TypeHeaderCode
#include <kaccelaction.h>
%End


public:
                         KAccelActions ();
                         KAccelActions (const KAccelActions&);
    void                 clear ();
    bool                 init (const KAccelActions&);
    bool                 init (KConfigBase&, const QString&);
    void                 updateShortcuts (KAccelActions&);
    int                  actionIndex (const QString&) const;
    KAccelAction*        actionPtr (uint);
    KAccelAction*        actionPtr (const QString&);
    KAccelAction*        actionPtr (KKeySequence);

%If ( KDE_3_1_4 -  )
    KAccelAction&        operator [] (uint);
%MethodCode
//returns (KAccelAction&)
//takes index | (uint)
    sipRes = &((*sipCpp) [a0]);
%End

%End

    KAccelAction*        insert (const QString&, const QString&, const QString&, const KShortcut&, const KShortcut&, const QObject* = 0, const char* = 0, bool = 1, bool = 1);
    KAccelAction*        insert (const QString&, const QString&);
    bool                 remove (const QString&);
    bool                 readActions (const QString& = "Shortcuts", KConfigBase* = 0);
    bool                 writeActions (const QString& = "Shortcuts", KConfigBase* = 0, bool = 0, bool = 0) const;
    void                 emitKeycodeChanged ();
    uint                 count () const;

protected:
    void                 resize (uint);
    void                 insertPtr (KAccelAction*);

private:
                         KAccelActions (KAccelBase*);

};  // class KAccelActions

