
// Auto generated

#ifndef QFONTMETRICS_H_WRAPPER
#define QFONTMETRICS_H_WRAPPER

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

#include "../RJSHelper.h"


#include "RJSWrapperObj.h"

#include <QRect>

#include <QTextOption>

#include <QQmlEngine>

#include "RJSType.h"

#include <QFontMetrics>

// static functions implementation in singleton wrapper:

// wrapper class for QFontMetrics
class QTJSAPI_EXPORT QFontMetrics_Wrapper : public RJSWrapperObj {


    Q_OBJECT
    QML_INTERFACE


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

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


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

        // check if pointer points to derrived type:


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

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

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

        return nullptr;

    }

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

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

    /*
    // special constructor used as prototype:

          Q_INVOKABLE
          QFontMetrics_Wrapper(QJSEngine* e);

    */


    // special constructor to wrap existing object:

    //Q_INVOKABLE
    QFontMetrics_Wrapper(RJSApi& h, QFontMetrics* o, bool wrappedCreated);


    // destructor:

    virtual ~QFontMetrics_Wrapper();

    // initialization of signal forwarding

    void initConnections();


    // constructors:

    // Class: QFontMetrics
    // Function:
    // Source:
    // Static: false
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE
    QFontMetrics_Wrapper

    (


        // RJSApi:
        QObject* h

        ,

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

    )

    ;


    // non-static functions:

    // Class: QFontMetrics
    // Function: ascent
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    ascent
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: capHeight
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    capHeight
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: descent
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    descent
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: height
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    height
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: leading
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    leading
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: lineSpacing
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    lineSpacing
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: minLeftBearing
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    minLeftBearing
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: minRightBearing
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    minRightBearing
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: maxWidth
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    maxWidth
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: xHeight
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    xHeight
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: averageCharWidth
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    averageCharWidth
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: inFont
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    inFont
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QFontMetrics
    // Function: inFontUcs4
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    inFontUcs4
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QFontMetrics
    // Function: leftBearing
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    leftBearing
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QFontMetrics
    // Function: rightBearing
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    rightBearing
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QFontMetrics
    // Function: horizontalAdvance
    // Source:
    // Static: false
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    horizontalAdvance
    (


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

    )

    const

    ;

    // Class: QFontMetrics
    // Function: boundingRect
    // Source:
    // Static: false
    // Parameters: 7
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    boundingRect
    (


        const QJSValue&
        a1
        = QJSValue()
          ,
        const QJSValue&
        a2
        = QJSValue()
          ,
        const QJSValue&
        a3
        = QJSValue()
          ,
        const QJSValue&
        a4
        = QJSValue()
          ,
        const QJSValue&
        a5
        = QJSValue()
          ,
        const QJSValue&
        a6
        = QJSValue()
          ,
        const QJSValue&
        a7
        = QJSValue()

    )

    const

    ;

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

public:
    Q_INVOKABLE

    QJSValue
    size
    (


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

    )

    const

    ;

    // Class: QFontMetrics
    // Function: tightBoundingRect
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    tightBoundingRect
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QFontMetrics
    // Function: elidedText
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    elidedText
    (


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

    )

    const

    ;

    // Class: QFontMetrics
    // Function: underlinePos
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    underlinePos
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: overlinePos
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    overlinePos
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: strikeOutPos
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    strikeOutPos
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: lineWidth
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    lineWidth
    (


    )

    const

    ;

    // Class: QFontMetrics
    // Function: fontDpi
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fontDpi
    (


    )

    const

    ;

    // 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_QFontMetrics::getIdStatic();
    }

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

        return true;

    }

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

        return nullptr;
    }

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

        return nullptr;
    }

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

        return nullptr;
    }



    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;
    //}



private:
    // wrapped object:
    QFontMetrics* wrapped;



    bool wrappedCreated;

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

public:
    static void registerBasecaster_QFontMetrics(RJSBasecaster_QFontMetrics* bc) {
        basecasters_QFontMetrics.append(bc);
    }

};

Q_DECLARE_METATYPE(QFontMetrics_Wrapper*)

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


#include <QQmlEngine>

#include "RJSType.h"

#include <QFontMetricsF>

// static functions implementation in singleton wrapper:

// wrapper class for QFontMetricsF
class QTJSAPI_EXPORT QFontMetricsF_Wrapper : public RJSWrapperObj {


    Q_OBJECT
    QML_INTERFACE


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

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


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

        // check if pointer points to derrived type:


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

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

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

        return nullptr;

    }

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

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

    /*
    // special constructor used as prototype:

          Q_INVOKABLE
          QFontMetricsF_Wrapper(QJSEngine* e);

    */


    // special constructor to wrap existing object:

    //Q_INVOKABLE
    QFontMetricsF_Wrapper(RJSApi& h, QFontMetricsF* o, bool wrappedCreated);


    // destructor:

    virtual ~QFontMetricsF_Wrapper();

    // initialization of signal forwarding

    void initConnections();


    // constructors:

    // Class: QFontMetricsF
    // Function:
    // Source:
    // Static: false
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE
    QFontMetricsF_Wrapper

    (


        // RJSApi:
        QObject* h

        ,

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

    )

    ;


    // non-static functions:

    // Class: QFontMetricsF
    // Function: swap
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    swap
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    ;

    // Class: QFontMetricsF
    // Function: ascent
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    ascent
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: capHeight
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    capHeight
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: descent
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    descent
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: height
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    height
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: leading
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    leading
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: lineSpacing
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    lineSpacing
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: minLeftBearing
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    minLeftBearing
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: minRightBearing
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    minRightBearing
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: maxWidth
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    maxWidth
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: xHeight
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    xHeight
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: averageCharWidth
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    averageCharWidth
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: inFont
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    inFont
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QFontMetricsF
    // Function: inFontUcs4
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    inFontUcs4
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QFontMetricsF
    // Function: leftBearing
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    leftBearing
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QFontMetricsF
    // Function: rightBearing
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    rightBearing
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QFontMetricsF
    // Function: horizontalAdvance
    // Source:
    // Static: false
    // Parameters: 2
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    horizontalAdvance
    (


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

    )

    const

    ;

    // Class: QFontMetricsF
    // Function: boundingRect
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    boundingRect
    (


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

    )

    const

    ;

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

public:
    Q_INVOKABLE

    QJSValue
    size
    (


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

    )

    const

    ;

    // Class: QFontMetricsF
    // Function: tightBoundingRect
    // Source:
    // Static: false
    // Parameters: 1
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    tightBoundingRect
    (


        const QJSValue&
        a1
        = QJSValue()

    )

    const

    ;

    // Class: QFontMetricsF
    // Function: elidedText
    // Source:
    // Static: false
    // Parameters: 4
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    elidedText
    (


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

    )

    const

    ;

    // Class: QFontMetricsF
    // Function: underlinePos
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    underlinePos
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: overlinePos
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    overlinePos
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: strikeOutPos
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    strikeOutPos
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: lineWidth
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    lineWidth
    (


    )

    const

    ;

    // Class: QFontMetricsF
    // Function: fontDpi
    // Source:
    // Static: false
    // Parameters: 0
    // preceding Parameters: -1

public:
    Q_INVOKABLE

    QJSValue
    fontDpi
    (


    )

    const

    ;

    // 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_QFontMetricsF::getIdStatic();
    }

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

        return true;

    }

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

        return nullptr;
    }

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

        return nullptr;
    }

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

        return nullptr;
    }



    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;
    //}



private:
    // wrapped object:
    QFontMetricsF* wrapped;



    bool wrappedCreated;

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

public:
    static void registerBasecaster_QFontMetricsF(RJSBasecaster_QFontMetricsF* bc) {
        basecasters_QFontMetricsF.append(bc);
    }

};

Q_DECLARE_METATYPE(QFontMetricsF_Wrapper*)

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


#endif

