//
//     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/>.

%ModuleHeaderCode
#include <kstandardaction.h>
%End

namespace KStandardAction
{

enum StandardAction
{
    ActionNone,
    New,
    Open,
    OpenRecent,
    Save,
    SaveAs,
    Revert,
    Close,
    Print,
    PrintPreview,
    Mail,
    Quit,
    Undo,
    Redo,
    Cut,
    Copy,
    Paste,
    SelectAll,
    Deselect,
    Find,
    FindNext,
    FindPrev,
    Replace,
    ActualSize,
    FitToPage,
    FitToWidth,
    FitToHeight,
    ZoomIn,
    ZoomOut,
    Zoom,
    Redisplay,
    Up,
    Back,
    Forward,
    Home,
    Prior,
    Next,
    Goto,
    GotoPage,
    GotoLine,
    FirstPage,
    LastPage,
    DocumentBack,
    DocumentForward,
    AddBookmark,
    EditBookmarks,
    Spelling,
    ShowMenubar,
    ShowToolbar,
    ShowStatusbar,
    SaveOptions,
    KeyBindings,
    Preferences,
    ConfigureToolbars,
    Help,
    HelpContents,
    WhatsThis,
    ReportBug,
    AboutApp,
    AboutKDE,
    TipofDay,
    ConfigureNotifications,
    FullScreen,
    Clear,
    PasteText,
    SwitchApplicationLanguage
};

KAction*                create (KStandardAction::StandardAction id, SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
const char*             name (KStandardAction::StandardAction id);
const char*             stdName (KStandardAction::StandardAction act_enum);
QStringList             stdNames ();
QList<KStandardAction::StandardAction>  actionIds ();
KStandardShortcut::StandardShortcut  shortcutForActionId (KStandardAction::StandardAction id);
KAction*                openNew (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                open (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KRecentFilesAction*     openRecent (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                save (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                saveAs (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                revert (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                close (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                print (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/) /PyName=print_/;
KAction*                printPreview (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                mail (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                quit (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                undo (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                redo (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                cut (QObject* parent /Transfer/);
KAction*                copy (QObject* parent /Transfer/);
KAction*                paste (QObject* parent /Transfer/);
KAction*                clear (QObject* parent /Transfer/);
KAction*                selectAll (QObject* parent /Transfer/);
KAction*                cut (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                copy (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                paste (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                pasteText (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                clear (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                selectAll (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                deselect (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                find (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                findNext (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                findPrev (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                replace (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                actualSize (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                fitToPage (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                fitToWidth (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                fitToHeight (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                zoomIn (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                zoomOut (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                zoom (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                redisplay (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                up (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                back (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                forward (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                home (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                prior (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                next (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                goTo (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                gotoPage (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                gotoLine (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                firstPage (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                lastPage (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                documentBack (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                documentForward (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                addBookmark (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                editBookmarks (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                spelling (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KToggleAction*          showMenubar (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KToggleAction*          showStatusbar (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KToggleFullScreenAction*  fullScreen (SIP_RXOBJ_CON, SIP_SLOT_CON (), QWidget* window, QObject* parent /Transfer/);
KAction*                saveOptions (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                keyBindings (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                preferences (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                configureToolbars (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                configureNotifications (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                help (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                helpContents (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                whatsThis (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                tipOfDay (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                reportBug (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                aboutApp (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
KAction*                aboutKDE (SIP_RXOBJ_CON, SIP_SLOT_CON (), QObject* parent /Transfer/);
};
// KStandardAction



%ModuleHeaderCode
#include <kstandardaction.h>
%End

%MappedType QList<KStandardAction::StandardAction>
{
%TypeHeaderCode
#include <qlist.h>
%End

%ConvertFromTypeCode
    // Create the list.
    PyObject *l;

    if ((l = PyList_New(sipCpp->size())) == NULL)
        return NULL;

    // Set the list elements.
    for (int i = 0; i < sipCpp->size(); ++i)
    {
        PyObject *pobj;
#if PY_MAJOR_VERSION >= 3
        if ((pobj = PyLong_FromLong ((long)sipCpp->value(i))) == NULL) {
#else
        if ((pobj = PyInt_FromLong ((long)sipCpp->value(i))) == NULL) {
#endif            
            Py_DECREF(l);

            return NULL;
        }

        PyList_SET_ITEM(l, i, pobj);
    }

    return l;
%End

%ConvertToTypeCode
    // Check the type if that is all that is required.
    if (sipIsErr == NULL)
        return PyList_Check(sipPy);

    QList<KStandardAction::StandardAction> *ql = new QList<KStandardAction::StandardAction>;
 
    for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) {
#if PY_MAJOR_VERSION >= 3        
        ql->append((KStandardAction::StandardAction)PyLong_AsLong (PyList_GET_ITEM(sipPy, i)));
#else
        ql->append((KStandardAction::StandardAction)PyInt_AS_LONG (PyList_GET_ITEM(sipPy, i)));
#endif
    }
    *sipCppPtr = ql;
 
    return sipGetState(sipTransferObj);
%End
};

