/****************************************************************************
** Meta object code from reading C++ file 'keyframesmodel.h'
**
** Created by: The Qt Meta Object Compiler version 69 (Qt 6.11.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/

#include "../../../../src/models/keyframesmodel.h"
#include <QtCore/qmetatype.h>

#include <QtCore/qtmochelpers.h>

#include <memory>


#include <QtCore/qxptype_traits.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'keyframesmodel.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.11.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif

#ifndef Q_CONSTINIT
#define Q_CONSTINIT
#endif

QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
QT_WARNING_DISABLE_GCC("-Wuseless-cast")
namespace {
struct qt_meta_tag_ZN14KeyframesModelE_t {};
} // unnamed namespace

template <> constexpr inline auto KeyframesModel::qt_create_metaobjectdata<qt_meta_tag_ZN14KeyframesModelE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "KeyframesModel",
        "loaded",
        "",
        "keyframeAdded",
        "parameter",
        "position",
        "reload",
        "onFilterChanged",
        "property",
        "onFilterInChanged",
        "delta",
        "trimFilterIn",
        "in",
        "trimFilterOut",
        "out",
        "remove",
        "parameterIndex",
        "keyframeIndex",
        "currentPosition",
        "propertyName",
        "setInterpolation",
        "InterpolationType",
        "type",
        "setKeyframePosition",
        "addKeyframe",
        "value",
        "setKeyframeValue",
        "setKeyframeValuePosition",
        "isKeyframe",
        "advancedKeyframesInUse",
        "removeAdvancedKeyframes",
        "simpleKeyframesInUse",
        "removeSimpleKeyframes",
        "DiscreteInterpolation",
        "LinearInterpolation",
        "SmoothLooseInterpolation",
        "SmoothNaturalInterpolation",
        "SmoothTightInterpolation",
        "EaseInSinusoidal",
        "EaseOutSinusoidal",
        "EaseInOutSinusoidal",
        "EaseInQuadratic",
        "EaseOutQuadratic",
        "EaseInOutQuadratic",
        "EaseInCubic",
        "EaseOutCubic",
        "EaseInOutCubic",
        "EaseInQuartic",
        "EaseOutQuartic",
        "EaseInOutQuartic",
        "EaseInQuintic",
        "EaseOutQuintic",
        "EaseInOutQuintic",
        "EaseInExponential",
        "EaseOutExponential",
        "EaseInOutExponential",
        "EaseInCircular",
        "EaseOutCircular",
        "EaseInOutCircular",
        "EaseInBack",
        "EaseOutBack",
        "EaseInOutBack",
        "EaseInElastic",
        "EaseOutElastic",
        "EaseInOutElastic",
        "EaseInBounce",
        "EaseOutBounce",
        "EaseInOutBounce"
    };

    QtMocHelpers::UintData qt_methods {
        // Signal 'loaded'
        QtMocHelpers::SignalData<void()>(1, 2, QMC::AccessPublic, QMetaType::Void),
        // Signal 'keyframeAdded'
        QtMocHelpers::SignalData<void(QString, int)>(3, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::QString, 4 }, { QMetaType::Int, 5 },
        }}),
        // Slot 'reload'
        QtMocHelpers::SlotData<void()>(6, 2, QMC::AccessPublic, QMetaType::Void),
        // Slot 'onFilterChanged'
        QtMocHelpers::SlotData<void(const QString &)>(7, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::QString, 8 },
        }}),
        // Slot 'onFilterInChanged'
        QtMocHelpers::SlotData<void(int)>(9, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 10 },
        }}),
        // Slot 'trimFilterIn'
        QtMocHelpers::SlotData<void(int)>(11, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 12 },
        }}),
        // Slot 'trimFilterOut'
        QtMocHelpers::SlotData<void(int)>(13, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 14 },
        }}),
        // Method 'remove'
        QtMocHelpers::MethodData<bool(int, int)>(15, 2, QMC::AccessPublic, QMetaType::Bool, {{
            { QMetaType::Int, 16 }, { QMetaType::Int, 17 },
        }}),
        // Method 'keyframeIndex'
        QtMocHelpers::MethodData<int(int, int)>(17, 2, QMC::AccessPublic, QMetaType::Int, {{
            { QMetaType::Int, 16 }, { QMetaType::Int, 18 },
        }}),
        // Method 'parameterIndex'
        QtMocHelpers::MethodData<int(const QString &) const>(16, 2, QMC::AccessPublic, QMetaType::Int, {{
            { QMetaType::QString, 19 },
        }}),
        // Method 'setInterpolation'
        QtMocHelpers::MethodData<bool(int, int, enum InterpolationType)>(20, 2, QMC::AccessPublic, QMetaType::Bool, {{
            { QMetaType::Int, 16 }, { QMetaType::Int, 17 }, { 0x80000000 | 21, 22 },
        }}),
        // Method 'setKeyframePosition'
        QtMocHelpers::MethodData<void(int, int, int)>(23, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 16 }, { QMetaType::Int, 17 }, { QMetaType::Int, 5 },
        }}),
        // Method 'addKeyframe'
        QtMocHelpers::MethodData<void(int, double, int, enum InterpolationType)>(24, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 16 }, { QMetaType::Double, 25 }, { QMetaType::Int, 5 }, { 0x80000000 | 21, 22 },
        }}),
        // Method 'addKeyframe'
        QtMocHelpers::MethodData<void(int, int)>(24, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 16 }, { QMetaType::Int, 5 },
        }}),
        // Method 'setKeyframeValue'
        QtMocHelpers::MethodData<void(int, int, double)>(26, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 16 }, { QMetaType::Int, 17 }, { QMetaType::Double, 25 },
        }}),
        // Method 'setKeyframeValuePosition'
        QtMocHelpers::MethodData<void(int, int, double, int)>(27, 2, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 16 }, { QMetaType::Int, 17 }, { QMetaType::Double, 25 }, { QMetaType::Int, 5 },
        }}),
        // Method 'isKeyframe'
        QtMocHelpers::MethodData<bool(int, int)>(28, 2, QMC::AccessPublic, QMetaType::Bool, {{
            { QMetaType::Int, 16 }, { QMetaType::Int, 5 },
        }}),
        // Method 'advancedKeyframesInUse'
        QtMocHelpers::MethodData<bool()>(29, 2, QMC::AccessPublic, QMetaType::Bool),
        // Method 'removeAdvancedKeyframes'
        QtMocHelpers::MethodData<void()>(30, 2, QMC::AccessPublic, QMetaType::Void),
        // Method 'simpleKeyframesInUse'
        QtMocHelpers::MethodData<bool()>(31, 2, QMC::AccessPublic, QMetaType::Bool),
        // Method 'removeSimpleKeyframes'
        QtMocHelpers::MethodData<void()>(32, 2, QMC::AccessPublic, QMetaType::Void),
    };
    QtMocHelpers::UintData qt_properties {
    };
    QtMocHelpers::UintData qt_enums {
        // enum 'InterpolationType'
        QtMocHelpers::EnumData<enum InterpolationType>(21, 21, QMC::EnumFlags{}).add({
            {   33, InterpolationType::DiscreteInterpolation },
            {   34, InterpolationType::LinearInterpolation },
            {   35, InterpolationType::SmoothLooseInterpolation },
            {   36, InterpolationType::SmoothNaturalInterpolation },
            {   37, InterpolationType::SmoothTightInterpolation },
            {   38, InterpolationType::EaseInSinusoidal },
            {   39, InterpolationType::EaseOutSinusoidal },
            {   40, InterpolationType::EaseInOutSinusoidal },
            {   41, InterpolationType::EaseInQuadratic },
            {   42, InterpolationType::EaseOutQuadratic },
            {   43, InterpolationType::EaseInOutQuadratic },
            {   44, InterpolationType::EaseInCubic },
            {   45, InterpolationType::EaseOutCubic },
            {   46, InterpolationType::EaseInOutCubic },
            {   47, InterpolationType::EaseInQuartic },
            {   48, InterpolationType::EaseOutQuartic },
            {   49, InterpolationType::EaseInOutQuartic },
            {   50, InterpolationType::EaseInQuintic },
            {   51, InterpolationType::EaseOutQuintic },
            {   52, InterpolationType::EaseInOutQuintic },
            {   53, InterpolationType::EaseInExponential },
            {   54, InterpolationType::EaseOutExponential },
            {   55, InterpolationType::EaseInOutExponential },
            {   56, InterpolationType::EaseInCircular },
            {   57, InterpolationType::EaseOutCircular },
            {   58, InterpolationType::EaseInOutCircular },
            {   59, InterpolationType::EaseInBack },
            {   60, InterpolationType::EaseOutBack },
            {   61, InterpolationType::EaseInOutBack },
            {   62, InterpolationType::EaseInElastic },
            {   63, InterpolationType::EaseOutElastic },
            {   64, InterpolationType::EaseInOutElastic },
            {   65, InterpolationType::EaseInBounce },
            {   66, InterpolationType::EaseOutBounce },
            {   67, InterpolationType::EaseInOutBounce },
        }),
    };
    return QtMocHelpers::metaObjectData<KeyframesModel, qt_meta_tag_ZN14KeyframesModelE_t>(QMC::MetaObjectFlag{}, qt_stringData,
            qt_methods, qt_properties, qt_enums);
}
Q_CONSTINIT const QMetaObject KeyframesModel::staticMetaObject = { {
    QMetaObject::SuperData::link<QAbstractItemModel::staticMetaObject>(),
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN14KeyframesModelE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN14KeyframesModelE_t>.data,
    qt_static_metacall,
    nullptr,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN14KeyframesModelE_t>.metaTypes,
    nullptr
} };

void KeyframesModel::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = static_cast<KeyframesModel *>(_o);
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: _t->loaded(); break;
        case 1: _t->keyframeAdded((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2]))); break;
        case 2: _t->reload(); break;
        case 3: _t->onFilterChanged((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1]))); break;
        case 4: _t->onFilterInChanged((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
        case 5: _t->trimFilterIn((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
        case 6: _t->trimFilterOut((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
        case 7: { bool _r = _t->remove((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2])));
            if (_a[0]) *reinterpret_cast<bool*>(_a[0]) = std::move(_r); }  break;
        case 8: { int _r = _t->keyframeIndex((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2])));
            if (_a[0]) *reinterpret_cast<int*>(_a[0]) = std::move(_r); }  break;
        case 9: { int _r = _t->parameterIndex((*reinterpret_cast<std::add_pointer_t<QString>>(_a[1])));
            if (_a[0]) *reinterpret_cast<int*>(_a[0]) = std::move(_r); }  break;
        case 10: { bool _r = _t->setInterpolation((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<enum InterpolationType>>(_a[3])));
            if (_a[0]) *reinterpret_cast<bool*>(_a[0]) = std::move(_r); }  break;
        case 11: _t->setKeyframePosition((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[3]))); break;
        case 12: _t->addKeyframe((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<double>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[3])),(*reinterpret_cast<std::add_pointer_t<enum InterpolationType>>(_a[4]))); break;
        case 13: _t->addKeyframe((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2]))); break;
        case 14: _t->setKeyframeValue((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<double>>(_a[3]))); break;
        case 15: _t->setKeyframeValuePosition((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2])),(*reinterpret_cast<std::add_pointer_t<double>>(_a[3])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[4]))); break;
        case 16: { bool _r = _t->isKeyframe((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2])));
            if (_a[0]) *reinterpret_cast<bool*>(_a[0]) = std::move(_r); }  break;
        case 17: { bool _r = _t->advancedKeyframesInUse();
            if (_a[0]) *reinterpret_cast<bool*>(_a[0]) = std::move(_r); }  break;
        case 18: _t->removeAdvancedKeyframes(); break;
        case 19: { bool _r = _t->simpleKeyframesInUse();
            if (_a[0]) *reinterpret_cast<bool*>(_a[0]) = std::move(_r); }  break;
        case 20: _t->removeSimpleKeyframes(); break;
        default: ;
        }
    }
    if (_c == QMetaObject::IndexOfMethod) {
        if (QtMocHelpers::indexOfMethod<void (KeyframesModel::*)()>(_a, &KeyframesModel::loaded, 0))
            return;
        if (QtMocHelpers::indexOfMethod<void (KeyframesModel::*)(QString , int )>(_a, &KeyframesModel::keyframeAdded, 1))
            return;
    }
}

const QMetaObject *KeyframesModel::metaObject() const
{
    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}

void *KeyframesModel::qt_metacast(const char *_clname)
{
    if (!_clname) return nullptr;
    if (!strcmp(_clname, qt_staticMetaObjectStaticContent<qt_meta_tag_ZN14KeyframesModelE_t>.strings))
        return static_cast<void*>(this);
    return QAbstractItemModel::qt_metacast(_clname);
}

int KeyframesModel::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QAbstractItemModel::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        if (_id < 21)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 21;
    }
    if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        if (_id < 21)
            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
        _id -= 21;
    }
    return _id;
}

// SIGNAL 0
void KeyframesModel::loaded()
{
    QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}

// SIGNAL 1
void KeyframesModel::keyframeAdded(QString _t1, int _t2)
{
    QMetaObject::activate<void>(this, &staticMetaObject, 1, nullptr, _t1, _t2);
}
QT_WARNING_POP
