//
//     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 KMainWindow : QMainWindow
{
%TypeHeaderCode
#include <kmainwindow.h>
%End


public:
    explicit                KMainWindow (QWidget* parent /TransferThis/ = 0, Qt::WindowFlags f = 0);
    KMenu*                  helpMenu (const QString& aboutAppText = QString(), bool showWhatsThis = 1);
    KMenu*                  customHelpMenu (bool showWhatsThis = 1);
    static bool             canBeRestored (int number);
    static const QString    classNameOfToplevel (int number);
    bool                    restore (int number, bool show = 1);
    bool                    hasMenuBar ();
    KMenuBar*               menuBar ();
    KStatusBar*             statusBar ();
    static QList<KMainWindow*>  memberList ();
    KToolBar*               toolBar (const QString& name = QString());
    QList<KToolBar*>        toolBars () const;
    void                    setAutoSaveSettings (const QString& groupName = QLatin1String("MainWindow"), bool saveWindowSize = 1);

    void                    setAutoSaveSettings (const KConfigGroup& group, bool saveWindowSize = 1);

    void                    resetAutoSaveSettings ();
    bool                    autoSaveSettings () const;
    QString                 autoSaveGroup () const;
    KConfigGroup            autoSaveConfigGroup() const;
    virtual void            applyMainWindowSettings (const KConfigGroup& config, bool forceGlobal = 0);
    void                    saveMainWindowSettings (const KConfigGroup& config);
    bool                    initialGeometrySet () const;
    void                    ignoreInitialGeometry ();
    QString                 dbusName () const;
    virtual void            setCaption (const QString& caption);
    virtual void            setCaption (const QString& caption, bool modified);
    virtual void            setPlainCaption (const QString& caption);
    void                    appHelpActivated ();
    void                    setSettingsDirty ();

protected:
    virtual bool            event (QEvent* event);
    virtual void            closeEvent (QCloseEvent*);
    virtual bool            queryExit ();
    virtual bool            queryClose ();
    virtual void            saveProperties (KConfigGroup&);
    virtual void            readProperties (const KConfigGroup&);
    virtual void            saveGlobalProperties (KConfig* sessionConfig);
    virtual void            readGlobalProperties (KConfig* sessionConfig);
    void                    savePropertiesInternal (KConfig*, int);
    bool                    readPropertiesInternal (KConfig*, int);
    bool                    settingsDirty () const;
    void                    saveWindowSize (const KConfigGroup& config) const;
    void                    restoreWindowSize (const KConfigGroup& config);
    void                    parseGeometry (bool parsewidth);
    virtual void            showAboutApplication ();
    void                    saveAutoSaveSettings ();
//ig                        KMainWindow (KMainWindowPrivate& dd, QWidget* parent /TransferThis/, Qt::WFlags f);
};   // KMainWindow


