//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 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 program.  If not, see <http://www.gnu.org/licenses/>.


class KMenu : QMenu
{
%TypeHeaderCode
#include <kmenu.h>
%End


public:
    explicit                KMenu (QWidget* parent /TransferThis/ = 0);
    explicit                KMenu (const QString& title, QWidget* parent /TransferThis/ = 0);
    QAction*                addTitle (const QString& text, QAction* before = 0);
    QAction*                addTitle (const QIcon& icon, const QString& text, QAction* before = 0);
    void                    setKeyboardShortcutsEnabled (bool enable);
    void                    setKeyboardShortcutsExecute (bool enable);
    QMenu*                  contextMenu ();
//ig     const QMenu*       contextMenu () const;
    void                    hideContextMenu ();
    static KMenu*           contextMenuFocus ();
    static QAction*         contextMenuFocusAction ();
    Qt::MouseButtons        mouseButtons () const;
    Qt::KeyboardModifiers   keyboardModifiers () const;

signals:
    void                    aboutToShowContextMenu (KMenu* menu, QAction* menuAction, QMenu* ctxMenu);

protected:
    virtual void            closeEvent (QCloseEvent*);
    virtual void            keyPressEvent (QKeyEvent* e);
    virtual void            mouseReleaseEvent (QMouseEvent* e);
    virtual void            mousePressEvent (QMouseEvent* e);
    virtual bool            focusNextPrevChild (bool next);
    virtual void            contextMenuEvent (QContextMenuEvent* e);
    virtual void            hideEvent (QHideEvent*);
};   // KMenu


