dotherside/lib/src/DOtherSide.cpp

659 lines
20 KiB
C++
Raw Normal View History

#include "DOtherSide/DOtherSide.h"
2014-07-19 18:26:08 +02:00
2015-02-04 23:02:26 +01:00
#include <iostream>
2014-07-19 18:26:08 +02:00
#include <QtCore/QDir>
#include <QtCore/QDebug>
#include <QtCore/QModelIndex>
#include <QtCore/QHash>
2015-12-06 00:23:25 +01:00
#include <QtCore/QResource>
2015-01-31 12:50:14 +01:00
#include <QtGui/QGuiApplication>
#include <QtQml/QQmlContext>
#include <QtQml/QQmlApplicationEngine>
#include <QtQuick/QQuickView>
#include <QtWidgets/QApplication>
2014-07-19 18:26:08 +02:00
#include "DOtherSide/DOtherSideTypesCpp.h"
#include "DOtherSide/OnSlotExecutedHandler.h"
#include "DOtherSide/DosQMetaObject.h"
#include "DOtherSide/DosQObject.h"
#include "DOtherSide/DosQObjectImpl.h"
#include "DOtherSide/DosQAbstractListModel.h"
#include "DOtherSide/DosQDeclarative.h"
2016-02-27 16:05:23 +01:00
char *convert_to_cstring(const QByteArray &array)
{
return qstrdup(array.data());
}
2014-07-19 18:26:08 +02:00
2016-02-27 16:05:23 +01:00
char *convert_to_cstring(const QString &source)
2014-07-19 18:26:08 +02:00
{
2016-02-27 16:05:23 +01:00
return convert_to_cstring(source.toUtf8());
2014-07-19 18:26:08 +02:00
}
2016-02-27 16:05:23 +01:00
char *dos_qcoreapplication_application_dir_path()
{
2016-02-27 16:05:23 +01:00
return convert_to_cstring(QCoreApplication::applicationDirPath());
}
void dos_qguiapplication_create()
2014-07-19 18:26:08 +02:00
{
static int argc = 1;
static char empty[1] = {0};
2016-01-23 19:08:58 +01:00
static char *argv[] = {empty};
2014-07-19 18:26:08 +02:00
new QGuiApplication(argc, argv);
}
void dos_qguiapplication_delete()
2014-07-19 18:26:08 +02:00
{
delete qApp;
}
void dos_qguiapplication_exec()
2014-07-19 18:26:08 +02:00
{
qApp->exec();
}
void dos_qguiapplication_quit()
{
qApp->quit();
}
2015-01-11 13:29:44 +01:00
void dos_qapplication_create()
{
static int argc = 1;
static char empty[1] = {0};
2016-01-23 19:08:58 +01:00
static char *argv[] = {empty};
2015-01-11 13:29:44 +01:00
new QApplication(argc, argv);
}
void dos_qapplication_delete()
{
delete qApp;
}
void dos_qapplication_exec()
{
qApp->exec();
}
void dos_qapplication_quit()
{
qApp->quit();
}
::DosQQmlApplicationEngine *dos_qqmlapplicationengine_create()
{
2016-02-27 16:05:23 +01:00
return new QQmlApplicationEngine();
}
void dos_qqmlapplicationengine_load(::DosQQmlApplicationEngine *vptr, const char *filename)
{
auto engine = static_cast<QQmlApplicationEngine *>(vptr);
engine->load(QUrl::fromLocalFile(QCoreApplication::applicationDirPath() + QDir::separator() + QString(filename)));
}
void dos_qqmlapplicationengine_load_url(::DosQQmlApplicationEngine *vptr, ::DosQUrl *url)
{
auto engine = static_cast<QQmlApplicationEngine *>(vptr);
auto qurl = static_cast<QUrl *>(url);
2015-12-06 00:23:25 +01:00
engine->load(*qurl);
}
void dos_qqmlapplicationengine_load_data(::DosQQmlApplicationEngine *vptr, const char *data)
{
auto engine = static_cast<QQmlApplicationEngine *>(vptr);
engine->loadData(data);
}
void dos_qqmlapplicationengine_add_import_path(::DosQQmlApplicationEngine *vptr, const char *path)
{
auto engine = static_cast<QQmlApplicationEngine *>(vptr);
2015-12-06 00:23:25 +01:00
engine->addImportPath(QString(path));
}
::DosQQmlContext *dos_qqmlapplicationengine_context(::DosQQmlApplicationEngine *vptr)
2014-12-08 12:55:09 +01:00
{
auto engine = static_cast<QQmlApplicationEngine *>(vptr);
2014-12-08 12:55:09 +01:00
engine->rootContext();
2016-02-27 16:05:23 +01:00
return engine->rootContext();
2014-12-08 12:55:09 +01:00
}
void dos_qqmlapplicationengine_delete(::DosQQmlApplicationEngine *vptr)
{
auto engine = static_cast<QQmlApplicationEngine *>(vptr);
delete engine;
}
::DosQQuickView *dos_qquickview_create()
2014-07-19 18:26:08 +02:00
{
2016-02-27 16:05:23 +01:00
return new QQuickView();
2014-07-19 18:26:08 +02:00
}
void dos_qquickview_show(::DosQQuickView *vptr)
2014-07-19 18:26:08 +02:00
{
auto view = static_cast<QQuickView *>(vptr);
2014-07-19 18:26:08 +02:00
view->show();
}
void dos_qquickview_delete(::DosQQuickView *vptr)
2014-07-19 18:26:08 +02:00
{
auto view = static_cast<QQuickView *>(vptr);
2014-07-19 18:26:08 +02:00
delete view;
}
char *dos_qquickview_source(::DosQQuickView *vptr)
2014-07-19 18:26:08 +02:00
{
auto view = static_cast<QQuickView *>(vptr);
2014-07-19 18:26:08 +02:00
QUrl url = view->source();
2016-02-27 16:05:23 +01:00
return convert_to_cstring(url.toString());
2014-07-19 18:26:08 +02:00
}
void dos_qquickview_set_source(::DosQQuickView *vptr, const char *filename)
2014-07-19 18:26:08 +02:00
{
auto view = static_cast<QQuickView *>(vptr);
2014-07-19 18:26:08 +02:00
view->setSource(QUrl::fromLocalFile(QCoreApplication::applicationDirPath() + QDir::separator() + QString(filename)));
}
void dos_qquickview_set_source_url(::DosQQuickView *vptr, ::DosQUrl *url)
{
auto view = static_cast<QQuickView *>(vptr);
auto _url = static_cast<QUrl *>(url);
view->setSource(*_url);
}
void dos_qquickview_set_resize_mode(::DosQQuickView *vptr, int resizeMode)
{
auto view = static_cast<QQuickView *>(vptr);
view->setResizeMode((QQuickView::ResizeMode) resizeMode);
}
::DosQQmlContext *dos_qquickview_rootContext(::DosQQuickView *vptr)
2014-07-19 18:26:08 +02:00
{
auto view = static_cast<QQuickView *>(vptr);
2016-02-27 16:05:23 +01:00
return view->rootContext();
2014-07-19 18:26:08 +02:00
}
2016-01-23 19:08:58 +01:00
void dos_chararray_delete(char *ptr)
2014-07-19 18:26:08 +02:00
{
if (ptr) delete[] ptr;
}
char *dos_qqmlcontext_baseUrl(::DosQQmlContext *vptr)
2014-07-19 18:26:08 +02:00
{
auto context = static_cast<QQmlContext *>(vptr);
2014-07-19 18:26:08 +02:00
QUrl url = context->baseUrl();
2016-02-27 16:05:23 +01:00
return convert_to_cstring(url.toString());
2014-07-19 18:26:08 +02:00
}
void dos_qqmlcontext_setcontextproperty(::DosQQmlContext *vptr, const char *name, ::DosQVariant *value)
2014-07-19 18:26:08 +02:00
{
auto context = static_cast<QQmlContext *>(vptr);
auto variant = static_cast<QVariant *>(value);
2014-07-19 18:26:08 +02:00
context->setContextProperty(QString::fromUtf8(name), *variant);
}
::DosQVariant *dos_qvariant_create()
2014-07-19 18:26:08 +02:00
{
2016-02-27 16:05:23 +01:00
return new QVariant();
2014-07-19 18:26:08 +02:00
}
::DosQVariant *dos_qvariant_create_int(int value)
2014-07-19 18:26:08 +02:00
{
2016-02-27 16:05:23 +01:00
return new QVariant(value);
2014-07-19 18:26:08 +02:00
}
::DosQVariant *dos_qvariant_create_bool(bool value)
2014-07-19 18:26:08 +02:00
{
2016-02-27 16:05:23 +01:00
return new QVariant(value);
2014-07-19 18:26:08 +02:00
}
::DosQVariant *dos_qvariant_create_string(const char *value)
2014-07-19 18:26:08 +02:00
{
2016-02-27 16:05:23 +01:00
return new QVariant(value);
2014-07-19 18:26:08 +02:00
}
::DosQVariant *dos_qvariant_create_qvariant(::DosQVariant *other)
{
auto otherQVariant = static_cast<QVariant *>(other);
2016-02-27 16:05:23 +01:00
auto result = new QVariant();
*result = *otherQVariant;
return result;
}
::DosQVariant *dos_qvariant_create_qobject(::DosQObject *value)
2014-07-19 18:26:08 +02:00
{
auto qobject = static_cast<QObject *>(value);
2016-02-27 16:05:23 +01:00
auto result = new QVariant();
result->setValue<QObject *>(qobject);
return result;
2014-07-19 18:26:08 +02:00
}
::DosQVariant *dos_qvariant_create_float(float value)
{
2016-02-27 16:05:23 +01:00
return new QVariant(value);
}
::DosQVariant *dos_qvariant_create_double(double value)
{
2016-02-27 16:05:23 +01:00
return new QVariant(value);
}
bool dos_qvariant_isnull(::DosQVariant *vptr)
2014-07-19 18:26:08 +02:00
{
auto variant = static_cast<QVariant *>(vptr);
2016-02-27 16:05:23 +01:00
return variant->isNull();
2014-07-19 18:26:08 +02:00
}
void dos_qvariant_delete(::DosQVariant *vptr)
2014-07-19 18:26:08 +02:00
{
auto variant = static_cast<QVariant *>(vptr);
2014-07-19 18:26:08 +02:00
delete variant;
}
void dos_qvariant_assign(::DosQVariant *vptr, ::DosQVariant *other)
{
auto leftQVariant = static_cast<QVariant *>(vptr);
auto rightQVariant = static_cast<QVariant *>(other);
*leftQVariant = *rightQVariant;
}
int dos_qvariant_toInt(::DosQVariant *vptr)
2014-07-19 18:26:08 +02:00
{
auto variant = static_cast<QVariant *>(vptr);
2016-02-27 16:05:23 +01:00
return variant->toInt();
2014-07-19 18:26:08 +02:00
}
bool dos_qvariant_toBool(::DosQVariant *vptr)
2014-07-19 18:26:08 +02:00
{
auto variant = static_cast<QVariant *>(vptr);
2016-02-27 16:05:23 +01:00
return variant->toBool();
2014-07-19 18:26:08 +02:00
}
float dos_qvariant_toFloat(::DosQVariant *vptr)
{
auto variant = static_cast<QVariant *>(vptr);
2016-02-27 16:05:23 +01:00
return variant->toFloat();
}
double dos_qvariant_toDouble(::DosQVariant *vptr)
{
auto variant = static_cast<QVariant *>(vptr);
2016-02-27 16:05:23 +01:00
return variant->toDouble();
}
char *dos_qvariant_toString(::DosQVariant *vptr)
2014-07-19 18:26:08 +02:00
{
auto variant = static_cast<QVariant *>(vptr);
2016-02-27 16:05:23 +01:00
return convert_to_cstring(variant->toString());
2014-07-19 18:26:08 +02:00
}
::DosQObject *dos_qvariant_toQObject(::DosQVariant *vptr)
{
auto variant = static_cast<QVariant *>(vptr);
2016-02-27 16:05:23 +01:00
return variant->value<QObject *>();
}
void dos_qvariant_setInt(::DosQVariant *vptr, int value)
2014-08-30 18:46:34 +02:00
{
auto variant = static_cast<QVariant *>(vptr);
2014-08-30 18:46:34 +02:00
*variant = value;
}
void dos_qvariant_setBool(::DosQVariant *vptr, bool value)
2014-08-30 18:46:34 +02:00
{
auto variant = static_cast<QVariant *>(vptr);
2014-08-30 18:46:34 +02:00
*variant = value;
}
void dos_qvariant_setFloat(::DosQVariant *vptr, float value)
{
auto variant = static_cast<QVariant *>(vptr);
*variant = value;
}
void dos_qvariant_setDouble(::DosQVariant *vptr, double value)
{
auto variant = static_cast<QVariant *>(vptr);
*variant = value;
}
void dos_qvariant_setString(::DosQVariant *vptr, const char *value)
2014-08-30 18:46:34 +02:00
{
auto variant = static_cast<QVariant *>(vptr);
2014-08-30 18:46:34 +02:00
*variant = value;
}
void dos_qvariant_setQObject(::DosQVariant *vptr, ::DosQObject *value)
{
auto variant = static_cast<QVariant *>(vptr);
auto qobject = static_cast<QObject *>(value);
2016-01-23 19:08:58 +01:00
variant->setValue<QObject *>(qobject);
}
::DosQMetaObject *dos_qobject_qmetaobject()
{
return new DOS::DosIQMetaObjectHolder(std::make_shared<DOS::DosQObjectMetaObject>());
}
::DosQObject *dos_qobject_create(void *dObjectPointer, ::DosQMetaObject *metaObject, ::DObjectCallback dObjectCallback)
{
auto metaObjectHolder = static_cast<DOS::DosIQMetaObjectHolder *>(metaObject);
auto dosQObject = new DOS::DosQObject(metaObjectHolder->data(),
2016-03-28 21:36:34 +02:00
DOS::OnSlotExecutedHandler(dObjectPointer, dObjectCallback));
QQmlEngine::setObjectOwnership(dosQObject, QQmlEngine::CppOwnership);
2016-02-27 16:05:23 +01:00
return static_cast<QObject *>(dosQObject);
}
void dos_qobject_delete(::DosQObject *vptr)
2014-07-19 18:26:08 +02:00
{
auto qobject = static_cast<QObject *>(vptr);
qobject->disconnect();
delete qobject;
2014-08-30 18:46:34 +02:00
}
void dos_qobject_signal_emit(::DosQObject *vptr, const char *name, int parametersCount, void **parameters)
2014-08-30 18:46:34 +02:00
{
auto qobject = static_cast<QObject *>(vptr);
auto dynamicQObject = dynamic_cast<DOS::DosIQObjectImpl *>(qobject);
auto transformation = [](void *vptr)->QVariant{return *(static_cast<QVariant *>(vptr));};
const std::vector<QVariant> variants = DOS::toVector(parameters, parametersCount, transformation);
2016-02-27 18:10:07 +01:00
dynamicQObject->emitSignal(qobject, QString::fromStdString(name), variants);
2014-08-30 18:46:34 +02:00
}
bool dos_qobject_signal_connect(::DosQObject *senderVPtr,
2016-01-23 19:08:58 +01:00
const char *signal,
::DosQObject *receiverVPtr,
2016-01-23 19:08:58 +01:00
const char *method,
int type)
{
auto sender = static_cast<QObject *>(senderVPtr);
auto receiver = static_cast<QObject *>(receiverVPtr);
return QObject::connect(sender, signal, receiver, method, (Qt::ConnectionType) type);
}
bool dos_qobject_signal_disconnect(::DosQObject *senderVPtr,
2016-01-23 19:08:58 +01:00
const char *signal,
::DosQObject *receiverVPtr,
const char *method)
{
auto sender = static_cast<QObject *>(senderVPtr);
auto receiver = static_cast<QObject *>(receiverVPtr);
return QObject::disconnect(sender, signal, receiver, method);
}
char *dos_qobject_objectName(::DosQObject *vptr)
{
auto object = static_cast<QObject *>(vptr);
2016-02-27 16:05:23 +01:00
return convert_to_cstring(object->objectName());
}
void dos_qobject_setObjectName(::DosQObject *vptr, const char *name)
2016-02-07 15:32:12 +01:00
{
auto object = static_cast<QObject *>(vptr);
object->setObjectName(QString::fromUtf8(name));
}
::DosQModelIndex *dos_qmodelindex_create()
{
2016-02-27 16:05:23 +01:00
return new QModelIndex();
}
::DosQModelIndex *dos_qmodelindex_create_qmodelindex(::DosQModelIndex *other_vptr)
{
2016-02-27 15:07:23 +01:00
auto other = static_cast<QModelIndex *>(other_vptr);
return new QModelIndex(*other);
}
void dos_qmodelindex_delete(::DosQModelIndex *vptr)
{
auto index = static_cast<QModelIndex *>(vptr);
delete index;
}
2016-06-19 12:20:00 +02:00
int dos_qmodelindex_row(const ::DosQModelIndex *vptr)
{
2016-06-19 12:20:00 +02:00
auto index = static_cast<const QModelIndex *>(vptr);
2016-02-27 16:05:23 +01:00
return index->row();
}
2016-06-19 12:20:00 +02:00
int dos_qmodelindex_column(const ::DosQModelIndex *vptr)
{
2016-06-19 12:20:00 +02:00
auto index = static_cast<const QModelIndex *>(vptr);
2016-02-27 16:05:23 +01:00
return index->column();
}
2016-06-19 12:20:00 +02:00
bool dos_qmodelindex_isValid(const ::DosQModelIndex *vptr)
{
2016-06-19 12:20:00 +02:00
auto index = static_cast<const QModelIndex *>(vptr);
2016-02-27 16:05:23 +01:00
return index->isValid();
}
2016-06-19 12:20:00 +02:00
::DosQVariant *dos_qmodelindex_data(const ::DosQModelIndex *vptr, int role)
{
2016-06-19 12:20:00 +02:00
auto index = static_cast<const QModelIndex *>(vptr);
2016-02-27 16:05:23 +01:00
auto result = new QVariant(index->data(role));
return static_cast<QVariant *>(result);
}
2016-06-19 12:20:00 +02:00
::DosQModelIndex *dos_qmodelindex_parent(const ::DosQModelIndex *vptr)
{
2016-06-19 12:20:00 +02:00
auto index = static_cast<const QModelIndex *>(vptr);
2016-02-27 16:05:23 +01:00
auto result = new QModelIndex(index->parent());
return static_cast<QModelIndex *>(result);
}
2016-06-19 12:20:00 +02:00
::DosQModelIndex *dos_qmodelindex_child(const ::DosQModelIndex *vptr, int row, int column)
{
2016-06-19 12:20:00 +02:00
auto index = static_cast<const QModelIndex *>(vptr);
2016-02-27 16:05:23 +01:00
auto result = new QModelIndex(index->child(row, column));
return static_cast<QModelIndex *>(result);
}
2016-06-19 12:20:00 +02:00
::DosQModelIndex *dos_qmodelindex_sibling(const ::DosQModelIndex *vptr, int row, int column)
{
2016-06-19 12:20:00 +02:00
auto index = static_cast<const QModelIndex *>(vptr);
2016-02-27 16:05:23 +01:00
auto result = new QModelIndex(index->sibling(row, column));
return static_cast<QModelIndex *>(result);
}
2016-06-19 12:20:00 +02:00
void dos_qmodelindex_assign(::DosQModelIndex *l, const ::DosQModelIndex *r)
{
auto li = static_cast<QModelIndex *>(l);
2016-06-19 12:20:00 +02:00
auto ri = static_cast<const QModelIndex *>(r);
*li = *ri;
}
::DosQHashIntQByteArray *dos_qhash_int_qbytearray_create()
2015-01-31 12:50:14 +01:00
{
2016-02-27 16:05:23 +01:00
return new QHash<int, QByteArray>();
2015-01-31 12:50:14 +01:00
}
2016-03-28 21:36:34 +02:00
void dos_qhash_int_qbytearray_delete(::DosQHashIntQByteArray *vptr)
2015-01-31 12:50:14 +01:00
{
auto qHash = static_cast<QHash<int, QByteArray>*>(vptr);
2015-01-31 12:50:14 +01:00
delete qHash;
}
2016-03-28 21:36:34 +02:00
void dos_qhash_int_qbytearray_insert(::DosQHashIntQByteArray *vptr, int key, const char *value)
2015-01-31 12:50:14 +01:00
{
auto qHash = static_cast<QHash<int, QByteArray>*>(vptr);
2015-01-31 12:50:14 +01:00
qHash->insert(key, QByteArray(value));
}
2016-03-28 21:36:34 +02:00
char *dos_qhash_int_qbytearray_value(::DosQHashIntQByteArray *vptr, int key)
{
auto qHash = static_cast<QHash<int, QByteArray>*>(vptr);
2016-02-27 16:05:23 +01:00
return convert_to_cstring(qHash->value(key));
}
2016-01-23 19:08:58 +01:00
void dos_qresource_register(const char *filename)
{
2015-12-06 00:23:25 +01:00
QResource::registerResource(QString::fromUtf8(filename));
}
::DosQUrl *dos_qurl_create(const char *url, int parsingMode)
{
2016-02-27 16:05:23 +01:00
return new QUrl(QString::fromUtf8(url), (QUrl::ParsingMode) parsingMode);
}
void dos_qurl_delete(::DosQUrl *vptr)
{
auto url = static_cast<QUrl *>(vptr);
delete url;
}
char *dos_qurl_to_string(::DosQUrl *vptr)
2015-12-22 17:53:29 +01:00
{
auto url = static_cast<QUrl *>(vptr);
2016-02-27 16:05:23 +01:00
return convert_to_cstring(url->toString());
2015-12-22 17:53:29 +01:00
}
2016-03-28 21:36:34 +02:00
::DosQMetaObject *dos_qmetaobject_create(::DosQMetaObject *superClassVPtr,
const char *className,
const ::SignalDefinitions *signalDefinitions,
const ::SlotDefinitions *slotDefinitions,
const ::PropertyDefinitions *propertyDefinitions)
{
2016-01-07 13:24:52 +01:00
Q_ASSERT(superClassVPtr);
auto superClassHolder = static_cast<DOS::DosIQMetaObjectHolder *>(superClassVPtr);
2016-01-07 13:24:52 +01:00
Q_ASSERT(superClassHolder);
auto data = superClassHolder->data();
Q_ASSERT(data);
auto metaObject = std::make_shared<DOS::DosQMetaObject>(data,
QString::fromUtf8(className),
DOS::toVector(*signalDefinitions),
DOS::toVector(*slotDefinitions),
DOS::toVector(*propertyDefinitions));
return new DOS::DosIQMetaObjectHolder(std::move(metaObject));
}
void dos_qmetaobject_delete(::DosQMetaObject *vptr)
{
auto factory = static_cast<DOS::DosIQMetaObjectHolder *>(vptr);
delete factory;
}
::DosQMetaObject *dos_qabstractlistmodel_qmetaobject()
{
return new DOS::DosIQMetaObjectHolder(std::make_shared<DOS::DosQAbstractListModelMetaObject>());
}
::DosQAbstractListModel *dos_qabstractlistmodel_create(void *dObjectPointer,
::DosQMetaObject *metaObjectPointer,
::DObjectCallback dObjectCallback,
::RowCountCallback rowCountCallback,
::ColumnCountCallback columnCountCallback,
::DataCallback dataCallback,
::SetDataCallback setDataCallback,
::RoleNamesCallback roleNamesCallaback,
::FlagsCallback flagsCallback,
::HeaderDataCallback headerDataCallback)
{
auto metaObjectHolder = static_cast<DOS::DosIQMetaObjectHolder *>(metaObjectPointer);
auto model = new DOS::DosQAbstractListModel(dObjectPointer,
metaObjectHolder->data(),
DOS::OnSlotExecutedHandler(dObjectPointer, dObjectCallback),
rowCountCallback,
columnCountCallback,
dataCallback,
setDataCallback,
roleNamesCallaback,
flagsCallback,
headerDataCallback);
QQmlEngine::setObjectOwnership(model, QQmlEngine::CppOwnership);
2016-02-27 16:05:23 +01:00
return static_cast<QObject *>(model);
}
void dos_qabstractlistmodel_beginInsertRows(::DosQAbstractListModel *vptr, ::DosQModelIndex *parentIndex, int first, int last)
{
2016-02-27 15:07:23 +01:00
auto object = static_cast<QObject *>(vptr);
auto model = dynamic_cast<DOS::DosIQAbstractListModelImpl *>(object);
auto index = static_cast<QModelIndex *>(parentIndex);
model->publicBeginInsertRows(*index, first, last);
}
void dos_qabstractlistmodel_endInsertRows(::DosQAbstractListModel *vptr)
{
2016-02-27 15:07:23 +01:00
auto object = static_cast<QObject *>(vptr);
auto model = dynamic_cast<DOS::DosIQAbstractListModelImpl *>(object);
model->publicEndInsertRows();
}
void dos_qabstractlistmodel_beginRemoveRows(::DosQAbstractListModel *vptr, ::DosQModelIndex *parentIndex, int first, int last)
{
2016-02-27 15:07:23 +01:00
auto object = static_cast<QObject *>(vptr);
auto model = dynamic_cast<DOS::DosIQAbstractListModelImpl *>(object);
auto index = static_cast<QModelIndex *>(parentIndex);
model->publicBeginRemoveRows(*index, first, last);
}
void dos_qabstractlistmodel_endRemoveRows(::DosQAbstractListModel *vptr)
{
2016-02-27 15:07:23 +01:00
auto object = static_cast<QObject *>(vptr);
auto model = dynamic_cast<DOS::DosIQAbstractListModelImpl *>(object);
model->publicEndRemoveRows();
}
void dos_qabstractlistmodel_beginResetModel(::DosQAbstractListModel *vptr)
{
2016-02-27 15:07:23 +01:00
auto object = static_cast<QObject *>(vptr);
auto model = dynamic_cast<DOS::DosIQAbstractListModelImpl *>(object);
model->publicBeginResetModel();
}
void dos_qabstractlistmodel_endResetModel(::DosQAbstractListModel *vptr)
{
2016-02-27 15:07:23 +01:00
auto object = static_cast<QObject *>(vptr);
auto model = dynamic_cast<DOS::DosIQAbstractListModelImpl *>(object);
model->publicEndResetModel();
}
void dos_qabstractlistmodel_dataChanged(::DosQAbstractListModel *vptr,
::DosQModelIndex *topLeftIndex,
::DosQModelIndex *bottomRightIndex,
2016-01-23 19:08:58 +01:00
int *rolesArrayPtr,
int rolesArrayLength)
{
2016-02-27 15:07:23 +01:00
auto object = static_cast<QObject *>(vptr);
auto model = dynamic_cast<DOS::DosIQAbstractListModelImpl *>(object);
auto topLeft = static_cast<QModelIndex *>(topLeftIndex);
auto bottomRight = static_cast<QModelIndex *>(bottomRightIndex);
auto roles = QVector<int>::fromStdVector(std::vector<int>(rolesArrayPtr, rolesArrayPtr + rolesArrayLength));
model->publicDataChanged(*topLeft, *bottomRight, roles);
}
2016-01-24 22:03:12 +01:00
2016-02-27 16:05:23 +01:00
int dos_qdeclarative_qmlregistertype(const ::QmlRegisterType *cArgs)
{
auto holder = static_cast<DOS::DosIQMetaObjectHolder *>(cArgs->staticMetaObject);
DOS::QmlRegisterType args;
args.major = cArgs->major;
args.minor = cArgs->minor;
args.uri = cArgs->uri;
args.qml = cArgs->qml;
args.staticMetaObject = holder->data();
args.createDObject = cArgs->createDObject;
args.deleteDObject = cArgs->deleteDObject;
return DOS::dosQmlRegisterType(std::move(args));
2016-01-24 22:03:12 +01:00
}
2016-02-27 16:05:23 +01:00
int dos_qdeclarative_qmlregistersingletontype(const ::QmlRegisterType *cArgs)
{
auto holder = static_cast<DOS::DosIQMetaObjectHolder *>(cArgs->staticMetaObject);
DOS::QmlRegisterType args;
args.major = cArgs->major;
args.minor = cArgs->minor;
args.uri = cArgs->uri;
args.qml = cArgs->qml;
args.staticMetaObject = holder->data();
args.createDObject = cArgs->createDObject;
args.deleteDObject = cArgs->deleteDObject;
return DOS::dosQmlRegisterSingletonType(std::move(args));
}