
// Auto generated

#ifndef QACTION_H_WRAPPER
#define QACTION_H_WRAPPER

// include header:
//#include "header_h.h"

#include "../RJSHelper.h"


#include "RJSWrapperObj.h"

#include <QMenu>

#include <QActionGroup>

#include <QGraphicsWidget>

#include <QQmlEngine>

#include "RJSType.h"

#include <QAction>

// wrapped object is QAction_Base class if new object is created:
#include "qaction_base.h"

// singleton class wrapper for static functions:
class QTJSAPI_EXPORT QAction_WrapperSingleton: public QObject {
    Q_OBJECT
    QML_INTERFACE

    // constants:


    // static properties:


public:
    //Q_INVOKABLE
    QAction_WrapperSingleton(RJSApi& h)
        : QObject(),
          handler(h)

    {}



    // static functions:

    // Class: QAction
    // Function: tr
    // Source: QObject
    // Static: true
    // Parameters: 3
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    tr
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()

    )

    ;

#if QT_CONFIG(shortcut)

#endif

#if QT_CONFIG(menu)

#endif

#if QT_CONFIG(shortcut)

#endif

#ifdef Q_OS_MAC

#endif


private:
    RJSApi& handler;
    //static QAction_WrapperSingleton* _singleInstance;

    // constants:

};

// static functions implementation in singleton wrapper:

// wrapper class for QAction
class QTJSAPI_EXPORT QAction_Wrapper : public RJSWrapperObj {


    Q_OBJECT
    QML_INTERFACE

    Q_PROPERTY(

        QJSValue
        objectName READ objectName WRITE setObjectName
    )

    Q_PROPERTY(

        QJSValue
        checkable READ isCheckable WRITE setCheckable
    )

    Q_PROPERTY(

        QJSValue
        checked READ isChecked WRITE setChecked
    )

    Q_PROPERTY(

        QJSValue
        enabled READ isEnabled WRITE setEnabled
    )

    Q_PROPERTY(

        QJSValue
        icon READ icon WRITE setIcon
    )

    Q_PROPERTY(

        QJSValue
        text READ text WRITE setText
    )

    Q_PROPERTY(

        QJSValue
        iconText READ iconText WRITE setIconText
    )

    Q_PROPERTY(

        QJSValue
        toolTip READ toolTip WRITE setToolTip
    )

    Q_PROPERTY(

        QJSValue
        statusTip READ statusTip WRITE setStatusTip
    )

    Q_PROPERTY(

        QJSValue
        whatsThis READ whatsThis WRITE setWhatsThis
    )

    Q_PROPERTY(

        QJSValue
        font READ font WRITE setFont
    )

    Q_PROPERTY(

        QJSValue
        shortcut READ shortcut WRITE setShortcut
    )

    Q_PROPERTY(

        QJSValue
        shortcutContext READ shortcutContext WRITE setShortcutContext
    )

    Q_PROPERTY(

        QJSValue
        autoRepeat READ autoRepeat WRITE setAutoRepeat
    )

    Q_PROPERTY(

        QJSValue
        visible READ isVisible WRITE setVisible
    )

    Q_PROPERTY(

        QJSValue
        menuRole READ menuRole WRITE setMenuRole
    )

    Q_PROPERTY(

        QJSValue
        iconVisibleInMenu READ isIconVisibleInMenu WRITE setIconVisibleInMenu
    )

    Q_PROPERTY(

        QJSValue
        shortcutVisibleInContextMenu READ isShortcutVisibleInContextMenu WRITE setShortcutVisibleInContextMenu
    )

    Q_PROPERTY(

        QJSValue
        priority READ priority WRITE setPriority
    )


private:
    // disable copy constructor:
    QAction_Wrapper(const QAction_Wrapper&);

public:
    // initialization of QAction:
    static void init(RJSApi& handler);


    static QAction* castToBase(void* vp, /*RJSType ID*/ int t) {

        // check if pointer points to derrived type:

        if (t==RJSType_QWidgetAction::getIdStatic()) {
            return (QAction*)(QWidgetAction*)vp;
        }


        // hook for modules to cast from other types to base QAction:
        for (int i=0; i<basecasters_QAction.length(); i++) {
            RJSBasecaster_QAction* basecaster = basecasters_QAction[i];
            QAction* ret = basecaster->castToBase(t, vp);
            if (ret!=nullptr) {
                return ret;
            }
        }

        // object is a pointer to base class QAction:
        if (t==RJSType_QAction::getIdStatic()) {
            return (QAction*)vp;
        }

        qWarning() << "QAction_Wrapper::castToBase: type not found: " << RJSHelper::getTypeName(t);

        return nullptr;

    }

    static QAction* getWrappedBase(RJSWrapper* wrapper) {
        int t = wrapper->getWrappedType();
        void* vp = wrapper->getWrappedVoid();
        if (vp==nullptr) {
            //qWarning() << "getWrapped_QAction*: wrapper wraps NULL";
        }

        QAction* ret = castToBase(vp, t);
        if (ret==nullptr && vp!=nullptr) {
            qWarning() << "QAction*_Wrapper::getWrappedBase: extracted type " << t << "from wrapper is NULL";
        }
        return ret;
    }

    // enums:

    enum MenuRole {
        NoRole = QAction::NoRole,
        TextHeuristicRole = QAction::TextHeuristicRole,
        ApplicationSpecificRole = QAction::ApplicationSpecificRole,
        AboutQtRole = QAction::AboutQtRole,
        AboutRole = QAction::AboutRole,
        PreferencesRole = QAction::PreferencesRole,
        QuitRole = QAction::QuitRole,

    };
    Q_ENUM(MenuRole)

    enum Priority {
        LowPriority = QAction::LowPriority,
        NormalPriority = QAction::NormalPriority,
        HighPriority = QAction::HighPriority,

    };
    Q_ENUM(Priority)

    /*
    // special constructor used as prototype:

          Q_INVOKABLE
          QAction_Wrapper(QJSEngine* e);

    */


    // special constructor to wrap existing object:

    //Q_INVOKABLE
    QAction_Wrapper(RJSApi& h, QAction* o, bool wrappedCreated);


    // destructor:

    virtual ~QAction_Wrapper();

    // initialization of signal forwarding

    void initConnections();


    // constructors:

    // Class: QAction
    // Function:
    // Source:
    // Static: false
    // Parameters: 3
    // preceding Parameters: -1

public:
    Q_INVOKABLE
    QAction_Wrapper

    (


        // RJSApi:
        QObject* h

        ,

        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()

    )

    ;

#if QT_CONFIG(shortcut)

#endif

#if QT_CONFIG(menu)

#endif

#if QT_CONFIG(shortcut)

#endif

#ifdef Q_OS_MAC

#endif


    // non-static functions:

    // Class: QAction
    // Function: objectName
    // Source: QObject
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    objectName
    (


    )

    const

    ;

    // Class: QAction
    // Function: setObjectName
    // Source: QObject
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setObjectName
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: isWidgetType
    // Source: QObject
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isWidgetType
    (


    )

    const

    ;

    // Class: QAction
    // Function: isWindowType
    // Source: QObject
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isWindowType
    (


    )

    const

    ;

    // Class: QAction
    // Function: signalsBlocked
    // Source: QObject
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    signalsBlocked
    (


    )

    const

    ;

    // Class: QAction
    // Function: blockSignals
    // Source: QObject
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    blockSignals
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: findChild
    // Source: QObject
    // Static: false
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    findChild
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()

    )

    const

    ;

    // Class: QAction
    // Function: children
    // Source: QObject
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    children
    (


    )

    const

    ;

    // Class: QAction
    // Function: setParent
    // Source: QObject
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setParent
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: installEventFilter
    // Source: QObject
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    installEventFilter
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: removeEventFilter
    // Source: QObject
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    removeEventFilter
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: dumpObjectTree
    // Source: QObject
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    dumpObjectTree
    (


    )

    ;

    // Class: QAction
    // Function: dumpObjectInfo
    // Source: QObject
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    dumpObjectInfo
    (


    )

    ;

    // Class: QAction
    // Function: setProperty
    // Source: QObject
    // Static: false
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setProperty
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: property
    // Source: QObject
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    property
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QAction
    // Function: dynamicPropertyNames
    // Source: QObject
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    dynamicPropertyNames
    (


    )

    const

    ;

    // Class: QAction
    // Function: parent
    // Source: QObject
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    parent
    (


    )

    const

    ;

    // Class: QAction
    // Function: deleteLater
    // Source: QObject
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    deleteLater
    (


    )

    ;

#if QT_CONFIG(shortcut)

#endif

    // Class: QAction
    // Function: associatedObjects
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    associatedObjects
    (


    )

    const

    ;

    // Class: QAction
    // Function: setIcon
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setIcon
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: icon
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    icon
    (


    )

    const

    ;

    // Class: QAction
    // Function: setText
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setText
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: text
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    text
    (


    )

    const

    ;

    // Class: QAction
    // Function: setIconText
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setIconText
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: iconText
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    iconText
    (


    )

    const

    ;

    // Class: QAction
    // Function: setToolTip
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setToolTip
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: toolTip
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toolTip
    (


    )

    const

    ;

    // Class: QAction
    // Function: setStatusTip
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setStatusTip
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: statusTip
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    statusTip
    (


    )

    const

    ;

    // Class: QAction
    // Function: setWhatsThis
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setWhatsThis
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: whatsThis
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    whatsThis
    (


    )

    const

    ;

    // Class: QAction
    // Function: setPriority
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setPriority
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: priority
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    priority
    (


    )

    const

    ;

#if QT_CONFIG(menu)

    // Class: QAction
    // Function: menu
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    menu
    (


    )

    const

    ;

    // Class: QAction
    // Function: setMenu
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setMenu
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

#endif

    // Class: QAction
    // Function: setSeparator
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setSeparator
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: isSeparator
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isSeparator
    (


    )

    const

    ;

#if QT_CONFIG(shortcut)

    // Class: QAction
    // Function: setShortcut
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setShortcut
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: shortcut
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    shortcut
    (


    )

    const

    ;

    // Class: QAction
    // Function: setShortcuts
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setShortcuts
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: shortcuts
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    shortcuts
    (


    )

    const

    ;

    // Class: QAction
    // Function: setShortcutContext
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setShortcutContext
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: shortcutContext
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    shortcutContext
    (


    )

    const

    ;

    // Class: QAction
    // Function: setAutoRepeat
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setAutoRepeat
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: autoRepeat
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    autoRepeat
    (


    )

    const

    ;

#endif

    // Class: QAction
    // Function: setFont
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setFont
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: font
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    font
    (


    )

    const

    ;

    // Class: QAction
    // Function: setCheckable
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setCheckable
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: isCheckable
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isCheckable
    (


    )

    const

    ;

    // Class: QAction
    // Function: data
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    data
    (


    )

    const

    ;

    // Class: QAction
    // Function: setData
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setData
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: isChecked
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isChecked
    (


    )

    const

    ;

    // Class: QAction
    // Function: isEnabled
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isEnabled
    (


    )

    const

    ;

    // Class: QAction
    // Function: isVisible
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isVisible
    (


    )

    const

    ;

    // Class: QAction
    // Function: showStatusText
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    showStatusText
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: setMenuRole
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setMenuRole
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: menuRole
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    menuRole
    (


    )

    const

    ;

    // Class: QAction
    // Function: setIconVisibleInMenu
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setIconVisibleInMenu
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: isIconVisibleInMenu
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isIconVisibleInMenu
    (


    )

    const

    ;

    // Class: QAction
    // Function: setShortcutVisibleInContextMenu
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setShortcutVisibleInContextMenu
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: isShortcutVisibleInContextMenu
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    isShortcutVisibleInContextMenu
    (


    )

    const

    ;

    // Class: QAction
    // Function: trigger
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    trigger
    (


    )

    ;

    // Class: QAction
    // Function: hover
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    hover
    (


    )

    ;

    // Class: QAction
    // Function: setChecked
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setChecked
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: toggle
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    toggle
    (


    )

    ;

    // Class: QAction
    // Function: setEnabled
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setEnabled
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: setDisabled
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setDisabled
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: setVisible
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    setVisible
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QAction
    // Function: changed
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

    // signal forwarded from wrapped class:
signals:
    void changed(

    );

    // called when signal is emitted from wrapped class:
public slots:
    void changedEmitter(

    );

    // Class: QAction
    // Function: triggered
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

    // signal forwarded from wrapped class:
signals:
    void triggered(

        const QJSValue&
        a1
    );

    // called when signal is emitted from wrapped class:
public slots:
    void triggeredEmitter(
        bool checked=false
    );

    // Class: QAction
    // Function: hovered
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

    // signal forwarded from wrapped class:
signals:
    void hovered(

    );

    // called when signal is emitted from wrapped class:
public slots:
    void hoveredEmitter(

    );

    // Class: QAction
    // Function: toggled
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

    // signal forwarded from wrapped class:
signals:
    void toggled(

        const QJSValue&
        a1
    );

    // called when signal is emitted from wrapped class:
public slots:
    void toggledEmitter(
        bool a1
    );

#ifdef Q_OS_MAC

#endif

    // destroy function for non-copyable objects:
    Q_INVOKABLE void destr() {
        if (wrapped!=nullptr) {

            delete wrapped;

            wrapped = nullptr;
        }

    }


    //public:
    // set engine:
    //Q_INVOKABLE void setHandler(RJSApi* h) {
    //  RJSWrapperObj::setHandler(h);
    //}


    // member functions for static properties, forward to static function



    // protected overwritten functions / events and their public invokable counterparts:

public:

    // get type of wrapped object:
    Q_INVOKABLE
    virtual /*RJSType ID*/ int getWrappedType() const {
        return RJSType_QAction::getIdStatic();
    }

    // return true if wrapped object is owned by C++ (not deleted):
    Q_INVOKABLE
    virtual bool isCppOwnership() const {

        return true;

    }

    // get wrapped object:
    QAction* getWrapped() {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }

    // get wrapped object (const):
    QAction* getWrapped() const {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }

    // get wrapped object as void*:
    virtual void* getWrappedVoid() {
        if (wrapped!=nullptr) {
            return wrapped;
        }

        return nullptr;
    }


    // get wrapped base object or nullptr:
    QAction_Base* getWrappedBase() {
        QAction* w = getWrapped();
        return dynamic_cast<QAction_Base*>(w);
    }

    QAction_Base* getWrappedBase() const {
        QAction* w = getWrapped();
        return dynamic_cast<QAction_Base*>(w);
    }


    bool hasWrapped() const {
        return wrapped!=nullptr

               ;
    }

    Q_INVOKABLE
    bool isNullWrapper() const {
        return !hasWrapped();
    }

    Q_INVOKABLE
    unsigned long long int getAddress() const {
        if (wrapped!=nullptr) {
            return (unsigned long long int)wrapped;
        }

        return (unsigned long long int)0;
    }



    //public slots:
    //void slotDestroyed(QObject* obj) {
    //  qDebug() << "destroying QObject:" << (long int)obj;
    //}


    //void setRecFlag(bool on) const {
    //  QAction_Base* wb = getWrappedBase();
    //  if (wb) {
    //    wb->setRecFlag(on);
    //  }
    //}


private:
    // wrapped object:
    QAction* wrapped;



    bool wrappedCreated;

private:
    // list of registered base casters for this wrapper class:
    static QList<RJSBasecaster_QAction*> basecasters_QAction;

public:
    static void registerBasecaster_QAction(RJSBasecaster_QAction* bc) {
        basecasters_QAction.append(bc);
    }

};

Q_DECLARE_METATYPE(QAction_Wrapper*)

Q_DECLARE_INTERFACE(QAction_Wrapper, "org.qcad.QAction_Wrapper")


#endif

