mirror of
https://github.com/status-im/dotherside.git
synced 2025-02-12 04:26:43 +00:00
Added support for QAbstractTableModels
This commit is contained in:
parent
7bc65bc4f1
commit
4321a18fa6
@ -408,6 +408,42 @@ DOS_API DosQAbstractListModel *DOS_CALL dos_qabstractlistmodel_create(void *call
|
||||
ParentCallback parentCallback);
|
||||
/// @}
|
||||
|
||||
/// \defgroup QAbstractTableModel QAbstractTableModel
|
||||
/// \brief Functions related to the QAbstractTableModel class
|
||||
/// @{
|
||||
|
||||
/// \brief Return QMetaObject associated to the QAbstractTableModel class
|
||||
/// \return The QMetaObject of the QAbstractTableModel class
|
||||
/// \note The returned QMetaObject should be freed using dos_qmetaobject_delete().
|
||||
DOS_API DosQMetaObject *DOS_CALL dos_qabstracttablemmodel_qmetaobject();
|
||||
|
||||
/// \brief Create a new QAbstractTableModel
|
||||
/// \param callbackObject The pointer of QAbstractTableModel in the binded language
|
||||
/// \param metaObject The QMetaObject for this QAbstractTableModel
|
||||
/// \param dObjectCallback The callback for handling the properties read/write and slots execution
|
||||
/// \param rowCountCallback The callback for handling the QAbstractItemModel::rowCount() execution
|
||||
/// \param columnCountCallback The callback for handling the QAbstractItemModel::columnCount() execution
|
||||
/// \param dataCallback The callback for handling the QAbstractItemModel::data() execution
|
||||
/// \param setDataCallback The callback for handling the QAbstractItemModel::setData() execution
|
||||
/// \param roleNamesCallback The callback for handling the QAbstractItemModel::roleNames() execution
|
||||
/// \param flagsCallback The callback for handling the QAbstractItemModel::flags() execution
|
||||
/// \param headerDataCallback The callback for handling the QAbstractItemModel::headerData() execution
|
||||
/// \param indexCallback The callback for handling the QAbstractItemModel::index() execution
|
||||
/// \param parentCallback The callback for handling the QAbstractItemModel::parent() execution
|
||||
DOS_API DosQAbstractListModel *DOS_CALL dos_qabstracttablemodel_create(void *callbackObject,
|
||||
DosQMetaObject *metaObject,
|
||||
DObjectCallback dObjectCallback,
|
||||
RowCountCallback rowCountCallback,
|
||||
ColumnCountCallback columnCountCallback,
|
||||
DataCallback dataCallback,
|
||||
SetDataCallback setDataCallback,
|
||||
RoleNamesCallback roleNamesCallback,
|
||||
FlagsCallback flagsCallback,
|
||||
HeaderDataCallback headerDataCallback,
|
||||
IndexCallback indexCallback,
|
||||
ParentCallback parentCallback);
|
||||
/// @}
|
||||
|
||||
/// \defgroup QAbstractItemModel QAbstractItemModel
|
||||
/// \brief Functions related to the QAbstractItemModel class
|
||||
/// @{
|
||||
|
@ -119,8 +119,8 @@ private:
|
||||
};
|
||||
|
||||
|
||||
using DosQAbstractItemModel = DosQAbstractGenericModel<QAbstractItemModel>;
|
||||
using DosQAbstractListModel = DosQAbstractGenericModel<QAbstractListModel>;
|
||||
using DosQAbstractItemModel = DosQAbstractGenericModel<QAbstractItemModel>;
|
||||
using DosQAbstractListModel = DosQAbstractGenericModel<QAbstractListModel>;
|
||||
using DosQAbstractTableModel = DosQAbstractGenericModel<QAbstractTableModel>;
|
||||
|
||||
} // namespace DOS
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include <QtCore/QMetaMethod>
|
||||
#include <QtCore/QAbstractItemModel>
|
||||
#include <QtCore/QAbstractListModel>
|
||||
#include <QtCore/QAbstractTableModel>
|
||||
// DOtherSide
|
||||
#include "DOtherSide/DOtherSideTypesCpp.h"
|
||||
|
||||
@ -61,6 +62,7 @@ public:
|
||||
|
||||
using DosQAbstractItemModelMetaObject = DosQAbstractGenericModelMetaObject<QAbstractItemModel>;
|
||||
using DosQAbstractListModelMetaObject = DosQAbstractGenericModelMetaObject<QAbstractListModel>;
|
||||
using DosQAbstractTableModelMetaObject = DosQAbstractGenericModelMetaObject<QAbstractTableModel>;
|
||||
|
||||
/// This the generic version used by subclasses of QObject or QAbstractItemModels
|
||||
class DosQMetaObject : public BaseDosQMetaObject
|
||||
|
@ -588,6 +588,41 @@ void dos_qmetaobject_delete(::DosQMetaObject *vptr)
|
||||
delete factory;
|
||||
}
|
||||
|
||||
::DosQMetaObject *dos_qabstracttablemodel_qmetaobject()
|
||||
{
|
||||
return new DOS::DosIQMetaObjectHolder(std::make_shared<DOS::DosQAbstractTableModelMetaObject>());
|
||||
}
|
||||
|
||||
::DosQAbstractListModel *dos_qabstracttablemodel_create(void *dObjectPointer,
|
||||
::DosQMetaObject *metaObjectPointer,
|
||||
::DObjectCallback dObjectCallback,
|
||||
::RowCountCallback rowCountCallback,
|
||||
::ColumnCountCallback columnCountCallback,
|
||||
::DataCallback dataCallback,
|
||||
::SetDataCallback setDataCallback,
|
||||
::RoleNamesCallback roleNamesCallaback,
|
||||
::FlagsCallback flagsCallback,
|
||||
::HeaderDataCallback headerDataCallback,
|
||||
::IndexCallback indexCallback,
|
||||
::ParentCallback parentCallback)
|
||||
{
|
||||
auto metaObjectHolder = static_cast<DOS::DosIQMetaObjectHolder *>(metaObjectPointer);
|
||||
auto model = new DOS::DosQAbstractTableModel(dObjectPointer,
|
||||
metaObjectHolder->data(),
|
||||
DOS::OnSlotExecutedHandler(dObjectPointer, dObjectCallback),
|
||||
rowCountCallback,
|
||||
columnCountCallback,
|
||||
dataCallback,
|
||||
setDataCallback,
|
||||
roleNamesCallaback,
|
||||
flagsCallback,
|
||||
headerDataCallback,
|
||||
indexCallback,
|
||||
parentCallback);
|
||||
QQmlEngine::setObjectOwnership(model, QQmlEngine::CppOwnership);
|
||||
return static_cast<QObject *>(model);
|
||||
}
|
||||
|
||||
::DosQMetaObject *dos_qabstractlistmodel_qmetaobject()
|
||||
{
|
||||
return new DOS::DosIQMetaObjectHolder(std::make_shared<DOS::DosQAbstractListModelMetaObject>());
|
||||
|
@ -45,6 +45,7 @@ template<class T> const char* className();
|
||||
template<> const char* className<QObject>() { return "DosQObject"; }
|
||||
template<> const char* className<QAbstractItemModel>() { return "DosQAbstractItemModel"; }
|
||||
template<> const char* className<QAbstractListModel>() { return "DosQAbstractListModel"; }
|
||||
template<> const char* className<QAbstractTableModel>() { return "DosQAbstractTableModel"; }
|
||||
|
||||
template <class T>
|
||||
QMetaObject *createDynamicMetaObject()
|
||||
@ -100,6 +101,7 @@ DosQAbstractGenericModelMetaObject<T>::DosQAbstractGenericModelMetaObject()
|
||||
// Force template instantations
|
||||
template class DosQAbstractGenericModelMetaObject<QAbstractItemModel>;
|
||||
template class DosQAbstractGenericModelMetaObject<QAbstractListModel>;
|
||||
template class DosQAbstractGenericModelMetaObject<QAbstractTableModel>;
|
||||
|
||||
|
||||
DosQMetaObject::DosQMetaObject(DosIQMetaObjectPtr superClassMetaObject,
|
||||
|
Loading…
x
Reference in New Issue
Block a user