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

#include "../../../../../qtvirtualkeyboard/src/virtualkeyboard/qvirtualkeyboardselectionlistmodel.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 'qvirtualkeyboardselectionlistmodel.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 69
#error "This file was generated using the moc from 6.12.0. 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_ZN34QVirtualKeyboardSelectionListModelE_t {};
} // unnamed namespace

template <> constexpr inline auto QVirtualKeyboardSelectionListModel::qt_create_metaobjectdata<qt_meta_tag_ZN34QVirtualKeyboardSelectionListModelE_t>()
{
    namespace QMC = QtMocConstants;
    QtMocHelpers::StringRefStorage qt_stringData {
        "QVirtualKeyboardSelectionListModel",
        "QML.Element",
        "SelectionListModel",
        "QML.Creatable",
        "false",
        "QML.UncreatableReason",
        "SelectionListModel is only available via InputEngine.wordCandidate"
        "ListModel",
        "QML.AddedInVersion",
        "256",
        "QML.ExtraVersion",
        "512",
        "countChanged",
        "",
        "activeItemChanged",
        "index",
        "itemSelected",
        "selectionListChanged",
        "Type",
        "type",
        "selectionListActiveItemChanged",
        "dataSourceDestroyed",
        "selectItem",
        "removeItem",
        "dataAt",
        "QVariant",
        "Role",
        "role",
        "count",
        "WordCandidateList",
        "Display",
        "DisplayRole",
        "WordCompletionLength",
        "WordCompletionLengthRole",
        "Dictionary",
        "CanRemoveSuggestion",
        "DictionaryType",
        "Default",
        "User"
    };

    QtMocHelpers::UintData qt_methods {
        // Signal 'countChanged'
        QtMocHelpers::SignalData<void()>(11, 12, QMC::AccessPublic, QMetaType::Void),
        // Signal 'activeItemChanged'
        QtMocHelpers::SignalData<void(int)>(13, 12, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 14 },
        }}),
        // Signal 'itemSelected'
        QtMocHelpers::SignalData<void(int)>(15, 12, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 14 },
        }}),
        // Slot 'selectionListChanged'
        QtMocHelpers::SlotData<void(enum Type)>(16, 12, QMC::AccessProtected, QMetaType::Void, {{
            { 0x80000000 | 17, 18 },
        }}),
        // Slot 'selectionListActiveItemChanged'
        QtMocHelpers::SlotData<void(enum Type, int)>(19, 12, QMC::AccessProtected, QMetaType::Void, {{
            { 0x80000000 | 17, 18 }, { QMetaType::Int, 14 },
        }}),
        // Slot 'dataSourceDestroyed'
        QtMocHelpers::SlotData<void()>(20, 12, QMC::AccessProtected, QMetaType::Void),
        // Method 'selectItem'
        QtMocHelpers::MethodData<void(int)>(21, 12, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 14 },
        }}),
        // Method 'removeItem'
        QtMocHelpers::MethodData<void(int)>(22, 12, QMC::AccessPublic, QMetaType::Void, {{
            { QMetaType::Int, 14 },
        }}),
        // Method 'dataAt'
        QtMocHelpers::MethodData<QVariant(int, enum Role) const>(23, 12, QMC::AccessPublic, 0x80000000 | 24, {{
            { QMetaType::Int, 14 }, { 0x80000000 | 25, 26 },
        }}),
        // Method 'dataAt'
        QtMocHelpers::MethodData<QVariant(int) const>(23, 12, QMC::AccessPublic | QMC::MethodCloned, 0x80000000 | 24, {{
            { QMetaType::Int, 14 },
        }}),
    };
    QtMocHelpers::UintData qt_properties {
        // property 'count'
        QtMocHelpers::PropertyData<int>(27, QMetaType::Int, QMC::DefaultPropertyFlags, 0),
    };
    QtMocHelpers::UintData qt_enums {
        // enum 'Type'
        QtMocHelpers::EnumData<enum Type>(17, 17, QMC::EnumIsScoped).add({
            {   28, Type::WordCandidateList },
        }),
        // enum 'Role'
        QtMocHelpers::EnumData<enum Role>(25, 25, QMC::EnumIsScoped).add({
            {   29, Role::Display },
            {   30, Role::DisplayRole },
            {   31, Role::WordCompletionLength },
            {   32, Role::WordCompletionLengthRole },
            {   33, Role::Dictionary },
            {   34, Role::CanRemoveSuggestion },
        }),
        // enum 'DictionaryType'
        QtMocHelpers::EnumData<enum DictionaryType>(35, 35, QMC::EnumIsScoped).add({
            {   36, DictionaryType::Default },
            {   37, DictionaryType::User },
        }),
    };
    QtMocHelpers::UintData qt_constructors {};
    QtMocHelpers::ClassInfos qt_classinfo({
            {    1,    2 },
            {    3,    4 },
            {    5,    6 },
            {    7,    8 },
            {    9,   10 },
    });
    return QtMocHelpers::metaObjectData<QVirtualKeyboardSelectionListModel, void>(QMC::MetaObjectFlag{}, qt_stringData,
            qt_methods, qt_properties, qt_enums, qt_constructors, qt_classinfo);
}
Q_CONSTINIT const QMetaObject QVirtualKeyboardSelectionListModel::staticMetaObject = { {
    QMetaObject::SuperData::link<QAbstractListModel::staticMetaObject>(),
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN34QVirtualKeyboardSelectionListModelE_t>.stringdata,
    qt_staticMetaObjectStaticContent<qt_meta_tag_ZN34QVirtualKeyboardSelectionListModelE_t>.data,
    qt_static_metacall,
    nullptr,
    qt_staticMetaObjectRelocatingContent<qt_meta_tag_ZN34QVirtualKeyboardSelectionListModelE_t>.metaTypes,
    nullptr
} };

void QVirtualKeyboardSelectionListModel::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    auto *_t = static_cast<QVirtualKeyboardSelectionListModel *>(_o);
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: _t->countChanged(); break;
        case 1: _t->activeItemChanged((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
        case 2: _t->itemSelected((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
        case 3: _t->selectionListChanged((*reinterpret_cast<std::add_pointer_t<enum Type>>(_a[1]))); break;
        case 4: _t->selectionListActiveItemChanged((*reinterpret_cast<std::add_pointer_t<enum Type>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<int>>(_a[2]))); break;
        case 5: _t->dataSourceDestroyed(); break;
        case 6: _t->selectItem((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
        case 7: _t->removeItem((*reinterpret_cast<std::add_pointer_t<int>>(_a[1]))); break;
        case 8: { QVariant _r = _t->dataAt((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast<std::add_pointer_t<enum Role>>(_a[2])));
            if (_a[0]) *reinterpret_cast<QVariant*>(_a[0]) = std::move(_r); }  break;
        case 9: { QVariant _r = _t->dataAt((*reinterpret_cast<std::add_pointer_t<int>>(_a[1])));
            if (_a[0]) *reinterpret_cast<QVariant*>(_a[0]) = std::move(_r); }  break;
        default: ;
        }
    }
    if (_c == QMetaObject::IndexOfMethod) {
        if (QtMocHelpers::indexOfMethod<void (QVirtualKeyboardSelectionListModel::*)()>(_a, &QVirtualKeyboardSelectionListModel::countChanged, 0))
            return;
        if (QtMocHelpers::indexOfMethod<void (QVirtualKeyboardSelectionListModel::*)(int )>(_a, &QVirtualKeyboardSelectionListModel::activeItemChanged, 1))
            return;
        if (QtMocHelpers::indexOfMethod<void (QVirtualKeyboardSelectionListModel::*)(int )>(_a, &QVirtualKeyboardSelectionListModel::itemSelected, 2))
            return;
    }
    if (_c == QMetaObject::ReadProperty) {
        void *_v = _a[0];
        switch (_id) {
        case 0: *reinterpret_cast<int*>(_v) = _t->count(); break;
        default: break;
        }
    }
}

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

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

int QVirtualKeyboardSelectionListModel::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QAbstractListModel::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        if (_id < 10)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 10;
    }
    if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        if (_id < 10)
            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
        _id -= 10;
    }
    if (_c == QMetaObject::ReadProperty || _c == QMetaObject::WriteProperty
            || _c == QMetaObject::ResetProperty || _c == QMetaObject::BindableProperty
            || _c == QMetaObject::RegisterPropertyMetaType) {
        qt_static_metacall(this, _c, _id, _a);
        _id -= 1;
    }
    return _id;
}

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

// SIGNAL 1
void QVirtualKeyboardSelectionListModel::activeItemChanged(int _t1)
{
    QMetaObject::activate<void>(this, &staticMetaObject, 1, nullptr, _t1);
}

// SIGNAL 2
void QVirtualKeyboardSelectionListModel::itemSelected(int _t1)
{
    QMetaObject::activate<void>(this, &staticMetaObject, 2, nullptr, _t1);
}
QT_WARNING_POP
