mirror of
https://github.com/status-im/dotherside.git
synced 2025-02-12 04:26:43 +00:00
Simplified the dos_qabstractitemmodel_create interface by using a struct
Removed most of the function parameters by putting them inside a struct
This commit is contained in:
parent
0bb4bc8d3c
commit
ffd9b493a9
@ -385,27 +385,11 @@ DOS_API DosQMetaObject *DOS_CALL dos_qabstractlistmodel_qmetaobject();
|
|||||||
/// \param callbackObject The pointer of QAbstractListModel in the binded language
|
/// \param callbackObject The pointer of QAbstractListModel in the binded language
|
||||||
/// \param metaObject The QMetaObject for this QAbstractListModel
|
/// \param metaObject The QMetaObject for this QAbstractListModel
|
||||||
/// \param dObjectCallback The callback for handling the properties read/write and slots execution
|
/// \param dObjectCallback The callback for handling the properties read/write and slots execution
|
||||||
/// \param rowCountCallback The callback for handling the QAbstractItemModel::rowCount() execution
|
/// \param callbacks The QAbstractItemModel callbacks
|
||||||
/// \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_qabstractlistmodel_create(void *callbackObject,
|
DOS_API DosQAbstractListModel *DOS_CALL dos_qabstractlistmodel_create(void *callbackObject,
|
||||||
DosQMetaObject *metaObject,
|
DosQMetaObject *metaObject,
|
||||||
DObjectCallback dObjectCallback,
|
DObjectCallback dObjectCallback,
|
||||||
RowCountCallback rowCountCallback,
|
DosQAbstractItemModelCallbacks* callbacks);
|
||||||
ColumnCountCallback columnCountCallback,
|
|
||||||
DataCallback dataCallback,
|
|
||||||
SetDataCallback setDataCallback,
|
|
||||||
RoleNamesCallback roleNamesCallback,
|
|
||||||
FlagsCallback flagsCallback,
|
|
||||||
HeaderDataCallback headerDataCallback,
|
|
||||||
IndexCallback indexCallback,
|
|
||||||
ParentCallback parentCallback);
|
|
||||||
|
|
||||||
/// \brief Calls the default QAbstractListModel::index() function
|
/// \brief Calls the default QAbstractListModel::index() function
|
||||||
DOS_API DosQModelIndex* DOS_CALL dos_qabstractlistmodel_index(DosQAbstractListModel *vptr,
|
DOS_API DosQModelIndex* DOS_CALL dos_qabstractlistmodel_index(DosQAbstractListModel *vptr,
|
||||||
@ -434,27 +418,11 @@ DOS_API DosQMetaObject *DOS_CALL dos_qabstracttablemodel_qmetaobject();
|
|||||||
/// \param callbackObject The pointer of QAbstractTableModel in the binded language
|
/// \param callbackObject The pointer of QAbstractTableModel in the binded language
|
||||||
/// \param metaObject The QMetaObject for this QAbstractTableModel
|
/// \param metaObject The QMetaObject for this QAbstractTableModel
|
||||||
/// \param dObjectCallback The callback for handling the properties read/write and slots execution
|
/// \param dObjectCallback The callback for handling the properties read/write and slots execution
|
||||||
/// \param rowCountCallback The callback for handling the QAbstractItemModel::rowCount() execution
|
/// \param callbacks The QAbstractItemModel callbacks
|
||||||
/// \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 DosQAbstractTableModel *DOS_CALL dos_qabstracttablemodel_create(void *callbackObject,
|
DOS_API DosQAbstractTableModel *DOS_CALL dos_qabstracttablemodel_create(void *callbackObject,
|
||||||
DosQMetaObject *metaObject,
|
DosQMetaObject *metaObject,
|
||||||
DObjectCallback dObjectCallback,
|
DObjectCallback dObjectCallback,
|
||||||
RowCountCallback rowCountCallback,
|
DosQAbstractItemModelCallbacks* callbacks);
|
||||||
ColumnCountCallback columnCountCallback,
|
|
||||||
DataCallback dataCallback,
|
|
||||||
SetDataCallback setDataCallback,
|
|
||||||
RoleNamesCallback roleNamesCallback,
|
|
||||||
FlagsCallback flagsCallback,
|
|
||||||
HeaderDataCallback headerDataCallback,
|
|
||||||
IndexCallback indexCallback,
|
|
||||||
ParentCallback parentCallback);
|
|
||||||
|
|
||||||
/// \brief Calls the default QAbstractTableModel::index() function
|
/// \brief Calls the default QAbstractTableModel::index() function
|
||||||
DOS_API DosQModelIndex* DOS_CALL dos_qabstracttablemodel_index(DosQAbstractTableModel *vptr,
|
DOS_API DosQModelIndex* DOS_CALL dos_qabstracttablemodel_index(DosQAbstractTableModel *vptr,
|
||||||
@ -475,32 +443,28 @@ DOS_API DosQModelIndex* DOS_CALL dos_qabstracttablemodel_parent(DosQAbstractTabl
|
|||||||
/// \note The returned QMetaObject should be freed using dos_qmetaobject_delete().
|
/// \note The returned QMetaObject should be freed using dos_qmetaobject_delete().
|
||||||
DOS_API DosQMetaObject *DOS_CALL dos_qabstractitemmodel_qmetaobject();
|
DOS_API DosQMetaObject *DOS_CALL dos_qabstractitemmodel_qmetaobject();
|
||||||
|
|
||||||
|
|
||||||
/// \brief Create a new QAbstractItemModel
|
/// \brief Create a new QAbstractItemModel
|
||||||
/// \param callbackObject The pointer of QAbstractItemModel in the binded language
|
/// \param callbackObject The pointer of QAbstractItemModel in the binded language
|
||||||
/// \param metaObject The QMetaObject for this QAbstractItemModel
|
/// \param metaObject The QMetaObject for this QAbstractItemModel
|
||||||
/// \param dObjectCallback The callback for handling the properties read/write and slots execution
|
/// \param dObjectCallback The callback for handling the properties read/write and slots execution
|
||||||
/// \param rowCountCallback The callback for handling the QAbstractItemModel::rowCount() execution
|
/// \param callbacks The QAbstractItemModel callbacks
|
||||||
/// \param columnCountCallback The callback for handling the QAbstractItemModel::columnCount() execution
|
/// \note The callbacks struct is copied so you can freely delete after calling this function
|
||||||
/// \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 DosQAbstractItemModel *DOS_CALL dos_qabstractitemmodel_create(void *callbackObject,
|
DOS_API DosQAbstractItemModel *DOS_CALL dos_qabstractitemmodel_create(void *callbackObject,
|
||||||
DosQMetaObject *metaObject,
|
DosQMetaObject *metaObject,
|
||||||
DObjectCallback dObjectCallback,
|
DObjectCallback dObjectCallback,
|
||||||
RowCountCallback rowCountCallback,
|
DosQAbstractItemModelCallbacks* callbacks);
|
||||||
ColumnCountCallback columnCountCallback,
|
|
||||||
DataCallback dataCallback,
|
/// \brief Calls the QAbstractItemModel::setData function
|
||||||
SetDataCallback setDataCallback,
|
bool dos_qabstractitemmodel_setData(DosQAbstractItemModel *vptr, DosQModelIndex* index, DosQVariant* data, int role);
|
||||||
RoleNamesCallback roleNamesCallback,
|
|
||||||
FlagsCallback flagsCallback,
|
/// \brief Calls the QAbstractItemModel::roleNames function
|
||||||
HeaderDataCallback headerDataCallback,
|
DosQHashIntQByteArray* dos_qabstractitemmodel_roleNames(DosQAbstractItemModel *vptr);
|
||||||
IndexCallback indexCallback,
|
|
||||||
ParentCallback parentCallback);
|
/// \brief Calls the QAbstractItemModel::flags function
|
||||||
|
int dos_qabstractitemmodel_flags(DosQAbstractItemModel *vptr, DosQModelIndex* index);
|
||||||
|
|
||||||
|
/// \brief Calls the QAbstractItemModel::headerData function
|
||||||
|
DosQVariant* dos_qabstractitemmodel_headerData(DosQAbstractItemModel *vptr, int section, int orientation, int role);
|
||||||
|
|
||||||
/// \brief Calls the QAbstractItemModel::beginInsertRows() function
|
/// \brief Calls the QAbstractItemModel::beginInsertRows() function
|
||||||
/// \param vptr The QAbstractItemModel
|
/// \param vptr The QAbstractItemModel
|
||||||
|
@ -309,6 +309,24 @@ struct PropertyDefinitions {
|
|||||||
typedef struct PropertyDefinitions PropertyDefinitions;
|
typedef struct PropertyDefinitions PropertyDefinitions;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/// Incapsulate all the QAbstractItemModel callbacks
|
||||||
|
struct DosQAbstractItemModelCallbacks
|
||||||
|
{
|
||||||
|
RowCountCallback rowCount;
|
||||||
|
ColumnCountCallback columnCount;
|
||||||
|
DataCallback data;
|
||||||
|
SetDataCallback setData;
|
||||||
|
RoleNamesCallback roleNames;
|
||||||
|
FlagsCallback flags;
|
||||||
|
HeaderDataCallback headerData;
|
||||||
|
IndexCallback index;
|
||||||
|
ParentCallback parent;
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifndef __cplusplus
|
||||||
|
typedef struct DosQAbstractItemModelCallbacks DosQAbstractItemModelCallbacks;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -20,15 +20,7 @@ public:
|
|||||||
DosQAbstractGenericModel(void *modelObject,
|
DosQAbstractGenericModel(void *modelObject,
|
||||||
DosIQMetaObjectPtr metaObject,
|
DosIQMetaObjectPtr metaObject,
|
||||||
OnSlotExecuted onSlotExecuted,
|
OnSlotExecuted onSlotExecuted,
|
||||||
RowCountCallback rowCountCallback,
|
DosQAbstractItemModelCallbacks callbacks);
|
||||||
ColumnCountCallback columnCountCallback,
|
|
||||||
DataCallback dataCallback,
|
|
||||||
SetDataCallback setDataCallback,
|
|
||||||
RoleNamesCallback roleNamesCallback,
|
|
||||||
FlagsCallback flagsCallback,
|
|
||||||
HeaderDataCallback headerDataCallback,
|
|
||||||
IndexCallback indexCallback,
|
|
||||||
ParentCallback parentCallback);
|
|
||||||
|
|
||||||
/// @see IDynamicQObject::emitSignal
|
/// @see IDynamicQObject::emitSignal
|
||||||
bool emitSignal(QObject *emitter, const QString &name, const std::vector<QVariant> &argumentsValues) override;
|
bool emitSignal(QObject *emitter, const QString &name, const std::vector<QVariant> &argumentsValues) override;
|
||||||
@ -122,15 +114,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
std::unique_ptr<DosIQObjectImpl> m_impl;
|
std::unique_ptr<DosIQObjectImpl> m_impl;
|
||||||
void *m_modelObject;
|
void *m_modelObject;
|
||||||
RowCountCallback m_rowCountCallback;
|
DosQAbstractItemModelCallbacks m_callbacks;
|
||||||
ColumnCountCallback m_columnCountCallback;
|
|
||||||
DataCallback m_dataCallback;
|
|
||||||
SetDataCallback m_setDataCallback;
|
|
||||||
RoleNamesCallback m_roleNamesCallback;
|
|
||||||
FlagsCallback m_flagsCallback;
|
|
||||||
HeaderDataCallback m_headerDataCallback;
|
|
||||||
IndexCallback m_indexCallback;
|
|
||||||
ParentCallback m_parentCallback;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class DosQAbstractItemModel : public DosQAbstractGenericModel<QAbstractItemModel>
|
class DosQAbstractItemModel : public DosQAbstractGenericModel<QAbstractItemModel>
|
||||||
|
@ -596,29 +596,13 @@ void dos_qmetaobject_delete(::DosQMetaObject *vptr)
|
|||||||
::DosQAbstractListModel *dos_qabstracttablemodel_create(void *dObjectPointer,
|
::DosQAbstractListModel *dos_qabstracttablemodel_create(void *dObjectPointer,
|
||||||
::DosQMetaObject *metaObjectPointer,
|
::DosQMetaObject *metaObjectPointer,
|
||||||
::DObjectCallback dObjectCallback,
|
::DObjectCallback dObjectCallback,
|
||||||
::RowCountCallback rowCountCallback,
|
::DosQAbstractItemModelCallbacks* callbacks)
|
||||||
::ColumnCountCallback columnCountCallback,
|
|
||||||
::DataCallback dataCallback,
|
|
||||||
::SetDataCallback setDataCallback,
|
|
||||||
::RoleNamesCallback roleNamesCallaback,
|
|
||||||
::FlagsCallback flagsCallback,
|
|
||||||
::HeaderDataCallback headerDataCallback,
|
|
||||||
::IndexCallback indexCallback,
|
|
||||||
::ParentCallback parentCallback)
|
|
||||||
{
|
{
|
||||||
auto metaObjectHolder = static_cast<DOS::DosIQMetaObjectHolder *>(metaObjectPointer);
|
auto metaObjectHolder = static_cast<DOS::DosIQMetaObjectHolder *>(metaObjectPointer);
|
||||||
auto model = new DOS::DosQAbstractTableModel(dObjectPointer,
|
auto model = new DOS::DosQAbstractTableModel(dObjectPointer,
|
||||||
metaObjectHolder->data(),
|
metaObjectHolder->data(),
|
||||||
DOS::OnSlotExecutedHandler(dObjectPointer, dObjectCallback),
|
DOS::OnSlotExecutedHandler(dObjectPointer, dObjectCallback),
|
||||||
rowCountCallback,
|
*callbacks);
|
||||||
columnCountCallback,
|
|
||||||
dataCallback,
|
|
||||||
setDataCallback,
|
|
||||||
roleNamesCallaback,
|
|
||||||
flagsCallback,
|
|
||||||
headerDataCallback,
|
|
||||||
indexCallback,
|
|
||||||
parentCallback);
|
|
||||||
QQmlEngine::setObjectOwnership(model, QQmlEngine::CppOwnership);
|
QQmlEngine::setObjectOwnership(model, QQmlEngine::CppOwnership);
|
||||||
return static_cast<QObject *>(model);
|
return static_cast<QObject *>(model);
|
||||||
}
|
}
|
||||||
@ -649,29 +633,13 @@ DosQModelIndex *dos_qabstracttablemodel_parent(DosQAbstractTableModel *vptr, Dos
|
|||||||
::DosQAbstractListModel *dos_qabstractlistmodel_create(void *dObjectPointer,
|
::DosQAbstractListModel *dos_qabstractlistmodel_create(void *dObjectPointer,
|
||||||
::DosQMetaObject *metaObjectPointer,
|
::DosQMetaObject *metaObjectPointer,
|
||||||
::DObjectCallback dObjectCallback,
|
::DObjectCallback dObjectCallback,
|
||||||
::RowCountCallback rowCountCallback,
|
::DosQAbstractItemModelCallbacks* callbacks)
|
||||||
::ColumnCountCallback columnCountCallback,
|
|
||||||
::DataCallback dataCallback,
|
|
||||||
::SetDataCallback setDataCallback,
|
|
||||||
::RoleNamesCallback roleNamesCallaback,
|
|
||||||
::FlagsCallback flagsCallback,
|
|
||||||
::HeaderDataCallback headerDataCallback,
|
|
||||||
::IndexCallback indexCallback,
|
|
||||||
::ParentCallback parentCallback)
|
|
||||||
{
|
{
|
||||||
auto metaObjectHolder = static_cast<DOS::DosIQMetaObjectHolder *>(metaObjectPointer);
|
auto metaObjectHolder = static_cast<DOS::DosIQMetaObjectHolder *>(metaObjectPointer);
|
||||||
auto model = new DOS::DosQAbstractListModel(dObjectPointer,
|
auto model = new DOS::DosQAbstractListModel(dObjectPointer,
|
||||||
metaObjectHolder->data(),
|
metaObjectHolder->data(),
|
||||||
DOS::OnSlotExecutedHandler(dObjectPointer, dObjectCallback),
|
DOS::OnSlotExecutedHandler(dObjectPointer, dObjectCallback),
|
||||||
rowCountCallback,
|
*callbacks);
|
||||||
columnCountCallback,
|
|
||||||
dataCallback,
|
|
||||||
setDataCallback,
|
|
||||||
roleNamesCallaback,
|
|
||||||
flagsCallback,
|
|
||||||
headerDataCallback,
|
|
||||||
indexCallback,
|
|
||||||
parentCallback);
|
|
||||||
QQmlEngine::setObjectOwnership(model, QQmlEngine::CppOwnership);
|
QQmlEngine::setObjectOwnership(model, QQmlEngine::CppOwnership);
|
||||||
return static_cast<QObject *>(model);
|
return static_cast<QObject *>(model);
|
||||||
}
|
}
|
||||||
@ -710,29 +678,13 @@ int dos_qabstractlistmodel_columnCount(DosQAbstractListModel *vptr, DosQModelInd
|
|||||||
::DosQAbstractItemModel *dos_qabstractitemmodel_create(void *dObjectPointer,
|
::DosQAbstractItemModel *dos_qabstractitemmodel_create(void *dObjectPointer,
|
||||||
::DosQMetaObject *metaObjectPointer,
|
::DosQMetaObject *metaObjectPointer,
|
||||||
::DObjectCallback dObjectCallback,
|
::DObjectCallback dObjectCallback,
|
||||||
::RowCountCallback rowCountCallback,
|
::DosQAbstractItemModelCallbacks* callbacks)
|
||||||
::ColumnCountCallback columnCountCallback,
|
|
||||||
::DataCallback dataCallback,
|
|
||||||
::SetDataCallback setDataCallback,
|
|
||||||
::RoleNamesCallback roleNamesCallaback,
|
|
||||||
::FlagsCallback flagsCallback,
|
|
||||||
::HeaderDataCallback headerDataCallback,
|
|
||||||
::IndexCallback indexCallback,
|
|
||||||
::ParentCallback parentCallback)
|
|
||||||
{
|
{
|
||||||
auto metaObjectHolder = static_cast<DOS::DosIQMetaObjectHolder *>(metaObjectPointer);
|
auto metaObjectHolder = static_cast<DOS::DosIQMetaObjectHolder *>(metaObjectPointer);
|
||||||
auto model = new DOS::DosQAbstractItemModel(dObjectPointer,
|
auto model = new DOS::DosQAbstractItemModel(dObjectPointer,
|
||||||
metaObjectHolder->data(),
|
metaObjectHolder->data(),
|
||||||
DOS::OnSlotExecutedHandler(dObjectPointer, dObjectCallback),
|
DOS::OnSlotExecutedHandler(dObjectPointer, dObjectCallback),
|
||||||
rowCountCallback,
|
*callbacks);
|
||||||
columnCountCallback,
|
|
||||||
dataCallback,
|
|
||||||
setDataCallback,
|
|
||||||
roleNamesCallaback,
|
|
||||||
flagsCallback,
|
|
||||||
headerDataCallback,
|
|
||||||
indexCallback,
|
|
||||||
parentCallback);
|
|
||||||
QQmlEngine::setObjectOwnership(model, QQmlEngine::CppOwnership);
|
QQmlEngine::setObjectOwnership(model, QQmlEngine::CppOwnership);
|
||||||
return static_cast<QObject *>(model);
|
return static_cast<QObject *>(model);
|
||||||
}
|
}
|
||||||
|
@ -19,26 +19,10 @@ template<class T>
|
|||||||
DosQAbstractGenericModel<T>::DosQAbstractGenericModel(void *modelObject,
|
DosQAbstractGenericModel<T>::DosQAbstractGenericModel(void *modelObject,
|
||||||
DosIQMetaObjectPtr metaObject,
|
DosIQMetaObjectPtr metaObject,
|
||||||
OnSlotExecuted onSlotExecuted,
|
OnSlotExecuted onSlotExecuted,
|
||||||
RowCountCallback rowCountCallback,
|
DosQAbstractItemModelCallbacks callbacks)
|
||||||
ColumnCountCallback columnCountCallback,
|
|
||||||
DataCallback dataCallback,
|
|
||||||
SetDataCallback setDataCallback,
|
|
||||||
RoleNamesCallback roleNamesCallback,
|
|
||||||
FlagsCallback flagsCallback,
|
|
||||||
HeaderDataCallback headerDataCallback,
|
|
||||||
IndexCallback indexCallback,
|
|
||||||
ParentCallback parentCallback)
|
|
||||||
: m_impl(new DosQObjectImpl(this, ::createParentMetaCall(this), std::move(metaObject), std::move(onSlotExecuted)))
|
: m_impl(new DosQObjectImpl(this, ::createParentMetaCall(this), std::move(metaObject), std::move(onSlotExecuted)))
|
||||||
, m_modelObject(std::move(modelObject))
|
, m_modelObject(std::move(modelObject))
|
||||||
, m_rowCountCallback(std::move(rowCountCallback))
|
, m_callbacks(callbacks)
|
||||||
, m_columnCountCallback(std::move(columnCountCallback))
|
|
||||||
, m_dataCallback(std::move(dataCallback))
|
|
||||||
, m_setDataCallback(std::move(setDataCallback))
|
|
||||||
, m_roleNamesCallback(std::move(roleNamesCallback))
|
|
||||||
, m_flagsCallback(std::move(flagsCallback))
|
|
||||||
, m_headerDataCallback(std::move(headerDataCallback))
|
|
||||||
, m_indexCallback(std::move(indexCallback))
|
|
||||||
, m_parentCallback(std::move(parentCallback))
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
@ -66,7 +50,7 @@ template<class T>
|
|||||||
int DosQAbstractGenericModel<T>::rowCount(const QModelIndex &parent) const
|
int DosQAbstractGenericModel<T>::rowCount(const QModelIndex &parent) const
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
m_rowCountCallback(m_modelObject, &parent, &result);
|
m_callbacks.rowCount(m_modelObject, &parent, &result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,7 +58,7 @@ template<class T>
|
|||||||
int DosQAbstractGenericModel<T>::columnCount(const QModelIndex &parent) const
|
int DosQAbstractGenericModel<T>::columnCount(const QModelIndex &parent) const
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
m_columnCountCallback(m_modelObject, &parent, &result);
|
m_callbacks.columnCount(m_modelObject, &parent, &result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +66,7 @@ template<class T>
|
|||||||
QVariant DosQAbstractGenericModel<T>::data(const QModelIndex &index, int role) const
|
QVariant DosQAbstractGenericModel<T>::data(const QModelIndex &index, int role) const
|
||||||
{
|
{
|
||||||
QVariant result;
|
QVariant result;
|
||||||
m_dataCallback(m_modelObject, &index, role, &result);
|
m_callbacks.data(m_modelObject, &index, role, &result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +74,7 @@ template<class T>
|
|||||||
bool DosQAbstractGenericModel<T>::setData(const QModelIndex &index, const QVariant &value, int role)
|
bool DosQAbstractGenericModel<T>::setData(const QModelIndex &index, const QVariant &value, int role)
|
||||||
{
|
{
|
||||||
bool result = false;
|
bool result = false;
|
||||||
m_setDataCallback(m_modelObject, &index, &value, role, &result);
|
m_callbacks.setData(m_modelObject, &index, &value, role, &result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,7 +82,7 @@ template<class T>
|
|||||||
Qt::ItemFlags DosQAbstractGenericModel<T>::flags(const QModelIndex &index) const
|
Qt::ItemFlags DosQAbstractGenericModel<T>::flags(const QModelIndex &index) const
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
m_flagsCallback(m_modelObject, &index, &result);
|
m_callbacks.flags(m_modelObject, &index, &result);
|
||||||
return Qt::ItemFlags(result);
|
return Qt::ItemFlags(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,7 +90,7 @@ template<class T>
|
|||||||
QVariant DosQAbstractGenericModel<T>::headerData(int section, Qt::Orientation orientation, int role) const
|
QVariant DosQAbstractGenericModel<T>::headerData(int section, Qt::Orientation orientation, int role) const
|
||||||
{
|
{
|
||||||
QVariant result;
|
QVariant result;
|
||||||
m_headerDataCallback(m_modelObject, section, orientation, role, &result);
|
m_callbacks.headerData(m_modelObject, section, orientation, role, &result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,7 +98,7 @@ template<class T>
|
|||||||
QModelIndex DosQAbstractGenericModel<T>::index(int row, int column, const QModelIndex &parent) const
|
QModelIndex DosQAbstractGenericModel<T>::index(int row, int column, const QModelIndex &parent) const
|
||||||
{
|
{
|
||||||
QModelIndex result;
|
QModelIndex result;
|
||||||
m_indexCallback(m_modelObject, row, column, &parent, &result);
|
m_callbacks.index(m_modelObject, row, column, &parent, &result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,7 +106,7 @@ template<class T>
|
|||||||
QModelIndex DosQAbstractGenericModel<T>::parent(const QModelIndex &child) const
|
QModelIndex DosQAbstractGenericModel<T>::parent(const QModelIndex &child) const
|
||||||
{
|
{
|
||||||
QModelIndex result;
|
QModelIndex result;
|
||||||
m_parentCallback(m_modelObject, &child, &result);
|
m_callbacks.parent(m_modelObject, &child, &result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,7 +120,7 @@ template<class T>
|
|||||||
QHash<int, QByteArray> DosQAbstractGenericModel<T>::roleNames() const
|
QHash<int, QByteArray> DosQAbstractGenericModel<T>::roleNames() const
|
||||||
{
|
{
|
||||||
QHash<int, QByteArray> result;
|
QHash<int, QByteArray> result;
|
||||||
m_roleNamesCallback(m_modelObject, &result);
|
m_callbacks.roleNames(m_modelObject, &result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,13 +66,21 @@ namespace
|
|||||||
}
|
}
|
||||||
|
|
||||||
MockQAbstractItemModel::MockQAbstractItemModel()
|
MockQAbstractItemModel::MockQAbstractItemModel()
|
||||||
: m_vptr(dos_qabstractitemmodel_create(this, metaObject(), &onSlotCalled, &onRowCountCalled,
|
: m_vptr(nullptr, &dos_qobject_delete)
|
||||||
&onColumnCountCalled, &onDataCalled, &onSetDataCalled,
|
|
||||||
&onRoleNamesCalled, &onFlagsCalled, &onHeaderDataCalled,
|
|
||||||
&onIndexCalled, &onParentCalled), &dos_qobject_delete)
|
|
||||||
, m_names({"John", "Mary", "Andy", "Anna"})
|
, m_names({"John", "Mary", "Andy", "Anna"})
|
||||||
{
|
{
|
||||||
|
DosQAbstractItemModelCallbacks callbacks;
|
||||||
|
callbacks.rowCount = &onRowCountCalled;
|
||||||
|
callbacks.columnCount = &onColumnCountCalled;
|
||||||
|
callbacks.data = &onDataCalled;
|
||||||
|
callbacks.setData = &onSetDataCalled;
|
||||||
|
callbacks.roleNames = &onRoleNamesCalled;
|
||||||
|
callbacks.flags = &onFlagsCalled;
|
||||||
|
callbacks.headerData = &onHeaderDataCalled;
|
||||||
|
callbacks.index = &onIndexCalled;
|
||||||
|
callbacks.parent = &onParentCalled;
|
||||||
|
|
||||||
|
m_vptr.reset(dos_qabstractitemmodel_create(this, metaObject(), &onSlotCalled, &callbacks));
|
||||||
}
|
}
|
||||||
|
|
||||||
DosQMetaObject *MockQAbstractItemModel::metaObject()
|
DosQMetaObject *MockQAbstractItemModel::metaObject()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user