diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 0e606e0..5b3da6f 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -19,13 +19,13 @@ set(HEADERS_LIST include/DOtherSide/DOtherSide.h include/DOtherSide/DosQDeclarative.h include/DOtherSide/DosQObjectWrapper.h - include/DOtherSide/DosQAbstractListModelWrapper.h + include/DOtherSide/DosQAbstractItemModelWrapper.h include/DOtherSide/DosQObject.h include/DOtherSide/DosQObjectImpl.h include/DOtherSide/DosIQObjectImpl.h include/DOtherSide/OnSlotExecutedHandler.h include/DOtherSide/DosQMetaObject.h - include/DOtherSide/DosQAbstractListModel.h + include/DOtherSide/DosQAbstractItemModel.h include/DOtherSide/Utils.h ) @@ -37,7 +37,7 @@ set(SRC_LIST src/DosQObject.cpp src/DOtherSideTypesCpp.cpp src/DosQObjectImpl.cpp - src/DosQAbstractListModel.cpp + src/DosQAbstractItemModel.cpp ) include_directories(include include/Qt) diff --git a/lib/include/DOtherSide/DOtherSide.h b/lib/include/DOtherSide/DOtherSide.h index 0a37b1d..07ca0f8 100644 --- a/lib/include/DOtherSide/DOtherSide.h +++ b/lib/include/DOtherSide/DOtherSide.h @@ -372,28 +372,28 @@ DOS_API void DOS_CALL dos_qmetaobject_delete(DosQMetaObject *vptr); /// @} -/// \defgroup QAbstractListModel QAbstractListModel -/// \brief Functions related to the QAbstractListModel class +/// \defgroup QAbstractItemModel QAbstractItemModel +/// \brief Functions related to the QAbstractItemModel class /// @{ -/// \brief Return QMetaObject associated to the QAbstractListModel class -/// \return The QMetaObject of the QAbstractListModel class +/// \brief Return QMetaObject associated to the QAbstractItemModel class +/// \return The QMetaObject of the QAbstractItemModel class /// \note The returned QMetaObject should be freed using dos_qmetaobject_delete(). -DOS_API DosQMetaObject *DOS_CALL dos_qabstractlistmodel_qmetaobject(); +DOS_API DosQMetaObject *DOS_CALL dos_qabstractitemmodel_qmetaobject(); -/// \brief Create a new QAbstractListModel -/// \param callbackObject The pointer of QAbstractListModel in the binded language -/// \param metaObject The QMetaObject for this QAbstractListModel +/// \brief Create a new QAbstractItemModel +/// \param callbackObject The pointer of QAbstractItemModel in the binded language +/// \param metaObject The QMetaObject for this QAbstractItemModel /// \param dObjectCallback The callback for handling the properties read/write and slots execution -/// \param rowCountCallback The callback for handling the QAbstractListModel::rowCount() execution -/// \param columnCountCallback The callback for handling the QAbstractListModel::columnCount() execution -/// \param dataCallback The callback for handling the QAbstractListModel::data() execution -/// \param setDataCallback The callback for handling the QAbstractListModel::setData() execution -/// \param roleNamesCallback The callback for handling the QAbstractListModel::roleNames() execution -/// \param flagsCallback The callback for handling the QAbstractListModel::flags() execution -/// \param headerDataCallback The callback for handling the QAbstractListModel::headerData() execution -DOS_API DosQAbstractListModel *DOS_CALL dos_qabstractlistmodel_create(void *callbackObject, +/// \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 +DOS_API DosQAbstractItemModel *DOS_CALL dos_qabstractitemmodel_create(void *callbackObject, DosQMetaObject *metaObject, DObjectCallback dObjectCallback, RowCountCallback rowCountCallback, @@ -404,46 +404,46 @@ DOS_API DosQAbstractListModel *DOS_CALL dos_qabstractlistmodel_create(void *call FlagsCallback flagsCallback, HeaderDataCallback headerDataCallback); -/// \brief Calls the QAbstractListModel::beginInsertRows() function -/// \param vptr The QAbstractListModel +/// \brief Calls the QAbstractItemModel::beginInsertRows() function +/// \param vptr The QAbstractItemModel /// \param parent The parent QModelIndex /// \param first The first row in the range /// \param last The last row in the range /// \note The \p parent QModelIndex is owned by the caller thus it will not be deleted -DOS_API void DOS_CALL dos_qabstractlistmodel_beginInsertRows(DosQAbstractListModel *vptr, DosQModelIndex *parent, int first, int last); +DOS_API void DOS_CALL dos_qabstractitemmodel_beginInsertRows(DosQAbstractItemModel *vptr, DosQModelIndex *parent, int first, int last); -/// \brief Calls the QAbstractListModel::endInsertRows() function -/// \param vptr The QAbstractListModel -DOS_API void DOS_CALL dos_qabstractlistmodel_endInsertRows(DosQAbstractListModel *vptr); +/// \brief Calls the QAbstractItemModel::endInsertRows() function +/// \param vptr The QAbstractItemModel +DOS_API void DOS_CALL dos_qabstractitemmodel_endInsertRows(DosQAbstractItemModel *vptr); -/// \brief Calls the QAbstractListModel::beginRemovetRows() function -/// \param vptr The QAbstractListModel +/// \brief Calls the QAbstractItemModel::beginRemovetRows() function +/// \param vptr The QAbstractItemModel /// \param parent The parent QModelIndex /// \param first The first column in the range /// \param last The last column in the range /// \note The \p parent QModelIndex is owned by the caller thus it will not be deleted -DOS_API void DOS_CALL dos_qabstractlistmodel_beginRemoveRows(DosQAbstractListModel *vptr, DosQModelIndex *parent, int first, int last); +DOS_API void DOS_CALL dos_qabstractitemmodel_beginRemoveRows(DosQAbstractItemModel *vptr, DosQModelIndex *parent, int first, int last); -/// \brief Calls the QAbstractListModel::endRemoveRows() function -/// \param vptr The QAbstractListModel -DOS_API void DOS_CALL dos_qabstractlistmodel_endRemoveRows(DosQAbstractListModel *vptr); +/// \brief Calls the QAbstractItemModel::endRemoveRows() function +/// \param vptr The QAbstractItemModel +DOS_API void DOS_CALL dos_qabstractitemmodel_endRemoveRows(DosQAbstractItemModel *vptr); -/// \brief Calls the QAbstractListModel::beginResetModel() function -/// \param vptr The QAbstractListModel -DOS_API void DOS_CALL dos_qabstractlistmodel_beginResetModel(DosQAbstractListModel *vptr); +/// \brief Calls the QAbstractItemModel::beginResetModel() function +/// \param vptr The QAbstractItemModel +DOS_API void DOS_CALL dos_qabstractitemmodel_beginResetModel(DosQAbstractItemModel *vptr); -/// \brief Calls the QAbstractListModel::endResetModel() function -/// \param vptr The QAbstractListModel -DOS_API void DOS_CALL dos_qabstractlistmodel_endResetModel(DosQAbstractListModel *vptr); +/// \brief Calls the QAbstractItemModel::endResetModel() function +/// \param vptr The QAbstractItemModel +DOS_API void DOS_CALL dos_qabstractitemmodel_endResetModel(DosQAbstractItemModel *vptr); /// \brief Emit the dataChanged signal -/// \param vptr The DosQAbstractListModel pointer +/// \param vptr The DosQAbstractItemModel pointer /// \param topLeft The topLeft DosQModelIndex /// \param bottomRight The bottomright DosQModelIndex /// \param rolesPtr The roles array /// \param rolesLength The roles array length /// \note The \p topLeft, \p bottomRight and \p rolesPtr arguments are owned by the caller thus they will not be deleted -DOS_API void DOS_CALL dos_qabstractlistmodel_dataChanged(DosQAbstractListModel *vptr, +DOS_API void DOS_CALL dos_qabstractitemmodel_dataChanged(DosQAbstractItemModel *vptr, const DosQModelIndex *topLeft, const DosQModelIndex *bottomRight, int *rolesPtr, int rolesLength); diff --git a/lib/include/DOtherSide/DOtherSideTypes.h b/lib/include/DOtherSide/DOtherSideTypes.h index 39a0745..5b6464f 100644 --- a/lib/include/DOtherSide/DOtherSideTypes.h +++ b/lib/include/DOtherSide/DOtherSideTypes.h @@ -31,8 +31,8 @@ typedef void DosQVariant; /// A pointer to a QModelIndex typedef void DosQModelIndex; -/// A pointer to a QAbstractListModel -typedef void DosQAbstractListModel; +/// A pointer to a QAbstractItemModel +typedef void DosQAbstractItemModel; /// A pointer to a QQmlApplicationEngine typedef void DosQQmlApplicationEngine; @@ -68,40 +68,40 @@ typedef void DosQObject; /// \note The \p argv array is owned by the library thus it \b shouldn't be deleted typedef void (DOS_CALL *DObjectCallback)(void *self, DosQVariant *slotName, int argc, DosQVariant **argv); -/// Called when the QAbstractListModel::rowCount method must be executed -/// \param self The pointer of the QAbstractListModel in the binded language +/// Called when the QAbstractItemModel::rowCount method must be executed +/// \param self The pointer of the QAbstractItemModel in the binded language /// \param index The parent DosQModelIndex /// \param[out] result The rowCount result. This must be deferenced and filled from the binded language /// \note The \p parent QModelIndex is owned by the DOtherSide library thus it \b shouldn't be deleted /// \note The \p result arg is an out parameter so it should be deleted typedef void (DOS_CALL *RowCountCallback)(void *self, const DosQModelIndex *parent, int *result); -/// Called when the QAbstractListModel::columnCount method must be executed -/// \param self The pointer to the QAbstractListModel in the binded language +/// Called when the QAbstractItemModel::columnCount method must be executed +/// \param self The pointer to the QAbstractItemModel in the binded language /// \param index The parent DosQModelIndex /// \param[out] result The rowCount result. This must be deferenced and filled from the binded language /// \note The \p parent QModelIndex is owned by the DOtherSide library thus it \b shouldn't be deleted /// \note The \p result arg is an out parameter so it should be deleted typedef void (DOS_CALL *ColumnCountCallback)(void *self, const DosQModelIndex *parent, int *result); -/// Called when the QAbstractListModel::data method must be executed -/// \param self The pointer to the QAbstractListModel in the binded language +/// Called when the QAbstractItemModel::data method must be executed +/// \param self The pointer to the QAbstractItemModel in the binded language /// \param index The DosQModelIndex to which we request the data /// \param[out] result The DosQVariant result. This must be deferenced and filled from the binded language. /// \note The \p index QModelIndex is owned by the DOtherSide library thus it \b shouldn't be deleted /// \note The \p result arg is an out parameter so it should be deleted typedef void (DOS_CALL *DataCallback)(void *self, const DosQModelIndex *index, int role, DosQVariant *result); -/// Called when the QAbstractListModel::setData method must be executed +/// Called when the QAbstractItemModel::setData method must be executed typedef void (DOS_CALL *SetDataCallback)(void *self, const DosQModelIndex *index, const DosQVariant *value, int role, bool *result); -/// Called when the QAbstractListModel::roleNames method must be executed +/// Called when the QAbstractItemModel::roleNames method must be executed typedef void (DOS_CALL *RoleNamesCallback)(void *self, DosQHashIntQByteArray *result); -/// Called when the QAbstractListModel::flags method must be called +/// Called when the QAbstractItemModel::flags method must be called typedef void (DOS_CALL *FlagsCallback)(void *self, const DosQModelIndex *index, int *result); -/// Called when the QAbstractListModel::headerData method must be called +/// Called when the QAbstractItemModel::headerData method must be called typedef void (DOS_CALL *HeaderDataCallback)(void *self, int section, int orientation, int role, DosQVariant *result); /// Callback called from QML for creating a registered type diff --git a/lib/include/DOtherSide/DosIQAbstractListModelImpl.h b/lib/include/DOtherSide/DosIQAbstractItemModelImpl.h similarity index 94% rename from lib/include/DOtherSide/DosIQAbstractListModelImpl.h rename to lib/include/DOtherSide/DosIQAbstractItemModelImpl.h index a19d4b9..62ba237 100644 --- a/lib/include/DOtherSide/DosIQAbstractListModelImpl.h +++ b/lib/include/DOtherSide/DosIQAbstractItemModelImpl.h @@ -11,11 +11,11 @@ namespace DOS { -class DosIQAbstractListModelImpl : public DosIQObjectImpl +class DosIQAbstractItemModelImpl : public DosIQObjectImpl { public: /// Destructor - virtual ~DosIQAbstractListModelImpl() = default; + virtual ~DosIQAbstractItemModelImpl() = default; /// @see QAbstractListModel::rowCount virtual int rowCount(const QModelIndex &parent = QModelIndex()) const = 0; diff --git a/lib/include/DOtherSide/DosQAbstractListModel.h b/lib/include/DOtherSide/DosQAbstractItemModel.h similarity index 93% rename from lib/include/DOtherSide/DosQAbstractListModel.h rename to lib/include/DOtherSide/DosQAbstractItemModel.h index 94c1ed1..e4f146a 100644 --- a/lib/include/DOtherSide/DosQAbstractListModel.h +++ b/lib/include/DOtherSide/DosQAbstractItemModel.h @@ -1,19 +1,19 @@ #pragma once // Qt -#include +#include // DOtherSide #include "DOtherSide/DOtherSideTypes.h" -#include "DOtherSide/DosIQAbstractListModelImpl.h" +#include "DOtherSide/DosIQAbstractItemModelImpl.h" #include "DOtherSide/OnSlotExecutedHandler.h" namespace DOS { -class DosQAbstractListModel : public QAbstractListModel, public DosIQAbstractListModelImpl +class DosQAbstractItemModel : public QAbstractItemModel, public DosIQAbstractItemModelImpl { public: /// Constructor - DosQAbstractListModel(void *modelObject, + DosQAbstractItemModel(void *modelObject, DosIQMetaObjectPtr metaObject, OnSlotExecuted onSlotExecuted, RowCountCallback rowCountCallback, diff --git a/lib/include/DOtherSide/DosQAbstractListModelWrapper.h b/lib/include/DOtherSide/DosQAbstractItemModelWrapper.h similarity index 89% rename from lib/include/DOtherSide/DosQAbstractListModelWrapper.h rename to lib/include/DOtherSide/DosQAbstractItemModelWrapper.h index 1d342a2..2d349c7 100644 --- a/lib/include/DOtherSide/DosQAbstractListModelWrapper.h +++ b/lib/include/DOtherSide/DosQAbstractItemModelWrapper.h @@ -1,11 +1,11 @@ #pragma once -#include "DOtherSide/DosQAbstractListModel.h" +#include "DOtherSide/DosQAbstractItemModel.h" #include "DOtherSide/DosQMetaObject.h" namespace DOS { template -class DosQAbstractListModelWrapper : public QAbstractListModel, public DosIQAbstractListModelImpl +class DosQAbstractListModelWrapper : public QAbstractListModel, public DosIQAbstractItemModelImpl { public: static const QMetaObject staticMetaObject; @@ -83,7 +83,7 @@ public: private: void *m_dObject; - DosQAbstractListModel *m_impl; + DosQAbstractItemModel *m_impl; static int m_id; static QmlRegisterType m_data; }; @@ -106,24 +106,24 @@ DosQAbstractListModelWrapper::DosQAbstractListModelWrapper(QObject *parent void *impl = nullptr; m_data.createDObject(m_id, static_cast(this), &m_dObject, &impl); beginResetModel(); - m_impl = dynamic_cast(static_cast(impl)); - QObject::connect(m_impl, &DosQAbstractListModel::rowsAboutToBeInserted, this, &DosQAbstractListModelWrapper::beginInsertRows); - QObject::connect(m_impl, &DosQAbstractListModel::rowsInserted, this, &DosQAbstractListModelWrapper::endInsertRows); - QObject::connect(m_impl, &DosQAbstractListModel::rowsAboutToBeRemoved, this, &DosQAbstractListModelWrapper::beginRemoveRows); - QObject::connect(m_impl, &DosQAbstractListModel::rowsRemoved, this, &DosQAbstractListModelWrapper::endRemoveRows); - QObject::connect(m_impl, &DosQAbstractListModel::rowsAboutToBeMoved, this, &DosQAbstractListModelWrapper::beginMoveRows); - QObject::connect(m_impl, &DosQAbstractListModel::rowsMoved, this, &DosQAbstractListModelWrapper::endMoveRows); - QObject::connect(m_impl, &DosQAbstractListModel::columnsAboutToBeInserted, this, &DosQAbstractListModelWrapper::beginInsertColumns); - QObject::connect(m_impl, &DosQAbstractListModel::columnsInserted, this, &DosQAbstractListModelWrapper::endInsertColumns); - QObject::connect(m_impl, &DosQAbstractListModel::columnsAboutToBeRemoved, this, &DosQAbstractListModelWrapper::beginRemoveColumns); - QObject::connect(m_impl, &DosQAbstractListModel::columnsRemoved, this, &DosQAbstractListModelWrapper::endRemoveColumns); - QObject::connect(m_impl, &DosQAbstractListModel::columnsAboutToBeMoved, this, &DosQAbstractListModelWrapper::beginMoveColumns); - QObject::connect(m_impl, &DosQAbstractListModel::columnsMoved, this, &DosQAbstractListModelWrapper::endMoveColumns); - QObject::connect(m_impl, &DosQAbstractListModel::modelAboutToBeReset, this, &DosQAbstractListModelWrapper::beginResetModel); - QObject::connect(m_impl, &DosQAbstractListModel::modelReset, this, &DosQAbstractListModelWrapper::endResetModel); - QObject::connect(m_impl, &DosQAbstractListModel::dataChanged, this, &DosQAbstractListModelWrapper::dataChanged); - QObject::connect(m_impl, &DosQAbstractListModel::layoutAboutToBeChanged, this, &DosQAbstractListModelWrapper::layoutAboutToBeChanged); - QObject::connect(m_impl, &DosQAbstractListModel::layoutChanged, this, &DosQAbstractListModelWrapper::layoutChanged); + m_impl = dynamic_cast(static_cast(impl)); + QObject::connect(m_impl, &DosQAbstractItemModel::rowsAboutToBeInserted, this, &DosQAbstractListModelWrapper::beginInsertRows); + QObject::connect(m_impl, &DosQAbstractItemModel::rowsInserted, this, &DosQAbstractListModelWrapper::endInsertRows); + QObject::connect(m_impl, &DosQAbstractItemModel::rowsAboutToBeRemoved, this, &DosQAbstractListModelWrapper::beginRemoveRows); + QObject::connect(m_impl, &DosQAbstractItemModel::rowsRemoved, this, &DosQAbstractListModelWrapper::endRemoveRows); + QObject::connect(m_impl, &DosQAbstractItemModel::rowsAboutToBeMoved, this, &DosQAbstractListModelWrapper::beginMoveRows); + QObject::connect(m_impl, &DosQAbstractItemModel::rowsMoved, this, &DosQAbstractListModelWrapper::endMoveRows); + QObject::connect(m_impl, &DosQAbstractItemModel::columnsAboutToBeInserted, this, &DosQAbstractListModelWrapper::beginInsertColumns); + QObject::connect(m_impl, &DosQAbstractItemModel::columnsInserted, this, &DosQAbstractListModelWrapper::endInsertColumns); + QObject::connect(m_impl, &DosQAbstractItemModel::columnsAboutToBeRemoved, this, &DosQAbstractListModelWrapper::beginRemoveColumns); + QObject::connect(m_impl, &DosQAbstractItemModel::columnsRemoved, this, &DosQAbstractListModelWrapper::endRemoveColumns); + QObject::connect(m_impl, &DosQAbstractItemModel::columnsAboutToBeMoved, this, &DosQAbstractListModelWrapper::beginMoveColumns); + QObject::connect(m_impl, &DosQAbstractItemModel::columnsMoved, this, &DosQAbstractListModelWrapper::endMoveColumns); + QObject::connect(m_impl, &DosQAbstractItemModel::modelAboutToBeReset, this, &DosQAbstractListModelWrapper::beginResetModel); + QObject::connect(m_impl, &DosQAbstractItemModel::modelReset, this, &DosQAbstractListModelWrapper::endResetModel); + QObject::connect(m_impl, &DosQAbstractItemModel::dataChanged, this, &DosQAbstractListModelWrapper::dataChanged); + QObject::connect(m_impl, &DosQAbstractItemModel::layoutAboutToBeChanged, this, &DosQAbstractListModelWrapper::layoutAboutToBeChanged); + QObject::connect(m_impl, &DosQAbstractItemModel::layoutChanged, this, &DosQAbstractListModelWrapper::layoutChanged); endResetModel(); Q_ASSERT(m_dObject); Q_ASSERT(m_impl); diff --git a/lib/include/DOtherSide/DosQMetaObject.h b/lib/include/DOtherSide/DosQMetaObject.h index 715f01d..66410f6 100644 --- a/lib/include/DOtherSide/DosQMetaObject.h +++ b/lib/include/DOtherSide/DosQMetaObject.h @@ -50,10 +50,10 @@ public: }; /// This is the DosQMetaObject for a QAbstractListModel -class DosQAbstractListModelMetaObject : public BaseDosQMetaObject +class DosQAbstractItemModelMetaObject : public BaseDosQMetaObject { public: - DosQAbstractListModelMetaObject(); + DosQAbstractItemModelMetaObject(); }; /// This the generic version used by subclasses of QObject or QAbstractListModels diff --git a/lib/src/DOtherSide.cpp b/lib/src/DOtherSide.cpp index 231c675..4a370dd 100644 --- a/lib/src/DOtherSide.cpp +++ b/lib/src/DOtherSide.cpp @@ -18,7 +18,7 @@ #include "DOtherSide/DosQMetaObject.h" #include "DOtherSide/DosQObject.h" #include "DOtherSide/DosQObjectImpl.h" -#include "DOtherSide/DosQAbstractListModel.h" +#include "DOtherSide/DosQAbstractItemModel.h" #include "DOtherSide/DosQDeclarative.h" char *convert_to_cstring(const QByteArray &array) @@ -588,12 +588,12 @@ void dos_qmetaobject_delete(::DosQMetaObject *vptr) delete factory; } -::DosQMetaObject *dos_qabstractlistmodel_qmetaobject() +::DosQMetaObject *dos_qabstractitemmodel_qmetaobject() { - return new DOS::DosIQMetaObjectHolder(std::make_shared()); + return new DOS::DosIQMetaObjectHolder(std::make_shared()); } -::DosQAbstractListModel *dos_qabstractlistmodel_create(void *dObjectPointer, +::DosQAbstractItemModel *dos_qabstractitemmodel_create(void *dObjectPointer, ::DosQMetaObject *metaObjectPointer, ::DObjectCallback dObjectCallback, ::RowCountCallback rowCountCallback, @@ -605,7 +605,7 @@ void dos_qmetaobject_delete(::DosQMetaObject *vptr) ::HeaderDataCallback headerDataCallback) { auto metaObjectHolder = static_cast(metaObjectPointer); - auto model = new DOS::DosQAbstractListModel(dObjectPointer, + auto model = new DOS::DosQAbstractItemModel(dObjectPointer, metaObjectHolder->data(), DOS::OnSlotExecutedHandler(dObjectPointer, dObjectCallback), rowCountCallback, @@ -619,58 +619,58 @@ void dos_qmetaobject_delete(::DosQMetaObject *vptr) return static_cast(model); } -void dos_qabstractlistmodel_beginInsertRows(::DosQAbstractListModel *vptr, ::DosQModelIndex *parentIndex, int first, int last) +void dos_qabstractitemmodel_beginInsertRows(::DosQAbstractItemModel *vptr, ::DosQModelIndex *parentIndex, int first, int last) { auto object = static_cast(vptr); - auto model = dynamic_cast(object); + auto model = dynamic_cast(object); auto index = static_cast(parentIndex); model->publicBeginInsertRows(*index, first, last); } -void dos_qabstractlistmodel_endInsertRows(::DosQAbstractListModel *vptr) +void dos_qabstractitemmodel_endInsertRows(::DosQAbstractItemModel *vptr) { auto object = static_cast(vptr); - auto model = dynamic_cast(object); + auto model = dynamic_cast(object); model->publicEndInsertRows(); } -void dos_qabstractlistmodel_beginRemoveRows(::DosQAbstractListModel *vptr, ::DosQModelIndex *parentIndex, int first, int last) +void dos_qabstractitemmodel_beginRemoveRows(::DosQAbstractItemModel *vptr, ::DosQModelIndex *parentIndex, int first, int last) { auto object = static_cast(vptr); - auto model = dynamic_cast(object); + auto model = dynamic_cast(object); auto index = static_cast(parentIndex); model->publicBeginRemoveRows(*index, first, last); } -void dos_qabstractlistmodel_endRemoveRows(::DosQAbstractListModel *vptr) +void dos_qabstractitemmodel_endRemoveRows(::DosQAbstractItemModel *vptr) { auto object = static_cast(vptr); - auto model = dynamic_cast(object); + auto model = dynamic_cast(object); model->publicEndRemoveRows(); } -void dos_qabstractlistmodel_beginResetModel(::DosQAbstractListModel *vptr) +void dos_qabstractitemmodel_beginResetModel(::DosQAbstractItemModel *vptr) { auto object = static_cast(vptr); - auto model = dynamic_cast(object); + auto model = dynamic_cast(object); model->publicBeginResetModel(); } -void dos_qabstractlistmodel_endResetModel(::DosQAbstractListModel *vptr) +void dos_qabstractitemmodel_endResetModel(::DosQAbstractItemModel *vptr) { auto object = static_cast(vptr); - auto model = dynamic_cast(object); + auto model = dynamic_cast(object); model->publicEndResetModel(); } -void dos_qabstractlistmodel_dataChanged(::DosQAbstractListModel *vptr, +void dos_qabstractitemmodel_dataChanged(::DosQAbstractItemModel *vptr, const ::DosQModelIndex *topLeftIndex, const ::DosQModelIndex *bottomRightIndex, int *rolesArrayPtr, int rolesArrayLength) { auto object = static_cast(vptr); - auto model = dynamic_cast(object); + auto model = dynamic_cast(object); auto topLeft = static_cast(topLeftIndex); auto bottomRight = static_cast(bottomRightIndex); auto roles = QVector::fromStdVector(std::vector(rolesArrayPtr, rolesArrayPtr + rolesArrayLength)); diff --git a/lib/src/DosQAbstractListModel.cpp b/lib/src/DosQAbstractItemModel.cpp similarity index 70% rename from lib/src/DosQAbstractListModel.cpp rename to lib/src/DosQAbstractItemModel.cpp index 6606132..4c333e4 100644 --- a/lib/src/DosQAbstractListModel.cpp +++ b/lib/src/DosQAbstractItemModel.cpp @@ -1,18 +1,18 @@ -#include "DOtherSide/DosQAbstractListModel.h" +#include "DOtherSide/DosQAbstractItemModel.h" #include "DOtherSide/DosQObjectImpl.h" namespace { -DOS::DosQObjectImpl::ParentMetaCall createParentMetaCall(QAbstractListModel *parent) +DOS::DosQObjectImpl::ParentMetaCall createParentMetaCall(QAbstractItemModel *parent) { return [parent](QMetaObject::Call callType, int index, void **args)->int { - return parent->QAbstractListModel::qt_metacall(callType, index, args); + return parent->QAbstractItemModel::qt_metacall(callType, index, args); }; } } namespace DOS { -DosQAbstractListModel::DosQAbstractListModel(void *modelObject, +DosQAbstractItemModel::DosQAbstractItemModel(void *modelObject, DosIQMetaObjectPtr metaObject, OnSlotExecuted onSlotExecuted, RowCountCallback rowCountCallback, @@ -33,109 +33,109 @@ DosQAbstractListModel::DosQAbstractListModel(void *modelObject, , m_headerDataCallback(std::move(headerDataCallback)) {} -bool DosQAbstractListModel::emitSignal(QObject *emitter, const QString &name, const std::vector &argumentsValues) +bool DosQAbstractItemModel::emitSignal(QObject *emitter, const QString &name, const std::vector &argumentsValues) { Q_ASSERT(m_impl); return m_impl->emitSignal(emitter, name, argumentsValues); } -const QMetaObject *DosQAbstractListModel::metaObject() const +const QMetaObject *DosQAbstractItemModel::metaObject() const { Q_ASSERT(m_impl); return m_impl->metaObject(); } -int DosQAbstractListModel::qt_metacall(QMetaObject::Call call, int index, void **args) +int DosQAbstractItemModel::qt_metacall(QMetaObject::Call call, int index, void **args) { Q_ASSERT(m_impl); return m_impl->qt_metacall(call, index, args); } -int DosQAbstractListModel::rowCount(const QModelIndex &parent) const +int DosQAbstractItemModel::rowCount(const QModelIndex &parent) const { int result; m_rowCountCallback(m_modelObject, &parent, &result); return result; } -int DosQAbstractListModel::columnCount(const QModelIndex &parent) const +int DosQAbstractItemModel::columnCount(const QModelIndex &parent) const { int result; m_columnCountCallback(m_modelObject, &parent, &result); return result; } -QVariant DosQAbstractListModel::data(const QModelIndex &index, int role) const +QVariant DosQAbstractItemModel::data(const QModelIndex &index, int role) const { QVariant result; m_dataCallback(m_modelObject, &index, role, &result); return result; } -bool DosQAbstractListModel::setData(const QModelIndex &index, const QVariant &value, int role) +bool DosQAbstractItemModel::setData(const QModelIndex &index, const QVariant &value, int role) { bool result = false; m_setDataCallback(m_modelObject, &index, &value, role, &result); return result; } -Qt::ItemFlags DosQAbstractListModel::flags(const QModelIndex &index) const +Qt::ItemFlags DosQAbstractItemModel::flags(const QModelIndex &index) const { int result; m_flagsCallback(m_modelObject, &index, &result); return Qt::ItemFlags(result); } -QVariant DosQAbstractListModel::headerData(int section, Qt::Orientation orientation, int role) const +QVariant DosQAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const { QVariant result; m_headerDataCallback(m_modelObject, section, orientation, role, &result); return result; } -void *DosQAbstractListModel::modelObject() +void *DosQAbstractItemModel::modelObject() { return m_modelObject; } -QHash DosQAbstractListModel::roleNames() const +QHash DosQAbstractItemModel::roleNames() const { QHash result; m_roleNamesCallback(m_modelObject, &result); return result; } -void DOS::DosQAbstractListModel::publicBeginInsertRows(const QModelIndex &index, int first, int last) +void DOS::DosQAbstractItemModel::publicBeginInsertRows(const QModelIndex &index, int first, int last) { beginInsertRows(index, first, last); } -void DOS::DosQAbstractListModel::publicEndInsertRows() +void DOS::DosQAbstractItemModel::publicEndInsertRows() { endInsertRows(); } -void DOS::DosQAbstractListModel::publicBeginRemoveRows(const QModelIndex &index, int first, int last) +void DOS::DosQAbstractItemModel::publicBeginRemoveRows(const QModelIndex &index, int first, int last) { beginRemoveRows(index, first, last); } -void DOS::DosQAbstractListModel::publicEndRemoveRows() +void DOS::DosQAbstractItemModel::publicEndRemoveRows() { endRemoveRows(); } -void DOS::DosQAbstractListModel::publicBeginResetModel() +void DOS::DosQAbstractItemModel::publicBeginResetModel() { beginResetModel(); } -void DOS::DosQAbstractListModel::publicEndResetModel() +void DOS::DosQAbstractItemModel::publicEndResetModel() { endResetModel(); } -void DOS::DosQAbstractListModel::publicDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector &roles) +void DOS::DosQAbstractItemModel::publicDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector &roles) { emit dataChanged(topLeft, bottomRight, roles); } diff --git a/lib/src/DosQDeclarative.cpp b/lib/src/DosQDeclarative.cpp index b9768cc..aa1900f 100644 --- a/lib/src/DosQDeclarative.cpp +++ b/lib/src/DosQDeclarative.cpp @@ -1,6 +1,6 @@ #include "DOtherSide/DosQDeclarative.h" #include "DOtherSide/DosQObjectWrapper.h" -#include "DOtherSide/DosQAbstractListModelWrapper.h" +#include "DOtherSide/DosQAbstractItemModelWrapper.h" namespace DOS { diff --git a/lib/src/DosQMetaObject.cpp b/lib/src/DosQMetaObject.cpp index 9bcc746..d97f278 100644 --- a/lib/src/DosQMetaObject.cpp +++ b/lib/src/DosQMetaObject.cpp @@ -49,11 +49,11 @@ QMetaObject *createDynamicQObjectMetaObject() return builder.toMetaObject(); } -QMetaObject *createDynamicQAbstractListModelMetaObject() +QMetaObject *createDynamicQAbstractItemModelMetaObject() { QMetaObjectBuilder builder; - builder.setClassName("DosQAbstractListModel"); - builder.setSuperClass(&QAbstractListModel::staticMetaObject); + builder.setClassName("DosQAbstractItemModel"); + builder.setSuperClass(&QAbstractItemModel::staticMetaObject); return builder.toMetaObject(); } @@ -94,8 +94,8 @@ DosQObjectMetaObject::DosQObjectMetaObject() : BaseDosQMetaObject(::createDynamicQObjectMetaObject()) {} -DosQAbstractListModelMetaObject::DosQAbstractListModelMetaObject() - : BaseDosQMetaObject(::createDynamicQAbstractListModelMetaObject()) +DosQAbstractItemModelMetaObject::DosQAbstractItemModelMetaObject() + : BaseDosQMetaObject(::createDynamicQAbstractItemModelMetaObject()) {} DosQMetaObject::DosQMetaObject(DosIQMetaObjectPtr superClassMetaObject, diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 5dce4a1..66e097d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -15,7 +15,7 @@ find_package(Qt5QuickTest REQUIRED) add_executable(${PROJECT_NAME} Resources.qrc test_dotherside.cpp MockQObject.cpp - MockQAbstractListModel.cpp + MockQAbstractItemModel.cpp Global.h main.qml testQObject.qml diff --git a/test/MockQAbstractListModel.cpp b/test/MockQAbstractItemModel.cpp similarity index 79% rename from test/MockQAbstractListModel.cpp rename to test/MockQAbstractItemModel.cpp index 8f0a71a..ab82abe 100644 --- a/test/MockQAbstractListModel.cpp +++ b/test/MockQAbstractItemModel.cpp @@ -1,4 +1,4 @@ -#include "MockQAbstractListModel.h" +#include "MockQAbstractItemModel.h" #include using namespace std; @@ -63,7 +63,7 @@ namespace } } -MockQAbstractListModel::MockQAbstractListModel() +MockQAbstractItemModel::MockQAbstractItemModel() : m_vptr(dos_qabstractlistmodel_create(this, metaObject(), &onSlotCalled, &onRowCountCalled, &onColumnCountCalled, &onDataCalled, &onSetDataCalled, &onRoleNamesCalled, &onFlagsCalled, &onHeaderDataCalled), &dos_qobject_delete) @@ -72,34 +72,34 @@ MockQAbstractListModel::MockQAbstractListModel() } -DosQMetaObject *MockQAbstractListModel::metaObject() +DosQMetaObject *MockQAbstractItemModel::metaObject() { static VoidPointer result = initializeMetaObject(); return result.get(); } -DosQObject *MockQAbstractListModel::data() +DosQObject *MockQAbstractItemModel::data() { return m_vptr.get(); } -string MockQAbstractListModel::objectName() const +string MockQAbstractItemModel::objectName() const { CharPointer result (dos_qobject_objectName(m_vptr.get()), &dos_chararray_delete); return string(result.get()); } -void MockQAbstractListModel::setObjectName(const string &objectName) +void MockQAbstractItemModel::setObjectName(const string &objectName) { dos_qobject_setObjectName(m_vptr.get(), objectName.c_str()); } -string MockQAbstractListModel::name() const +string MockQAbstractItemModel::name() const { return m_name; } -void MockQAbstractListModel::setName(const string &name) +void MockQAbstractItemModel::setName(const string &name) { if (m_name == name) return; @@ -107,7 +107,7 @@ void MockQAbstractListModel::setName(const string &name) nameChanged(name); } -void MockQAbstractListModel::nameChanged(const string &name) +void MockQAbstractItemModel::nameChanged(const string &name) { int argc = 1; DosQVariant* argv[1]; @@ -116,9 +116,9 @@ void MockQAbstractListModel::nameChanged(const string &name) dos_qvariant_delete(argv[0]); } -void MockQAbstractListModel::onSlotCalled(void *selfVPtr, DosQVariant *dosSlotNameVariant, int dosSlotArgc, DosQVariant **dosSlotArgv) +void MockQAbstractItemModel::onSlotCalled(void *selfVPtr, DosQVariant *dosSlotNameVariant, int dosSlotArgc, DosQVariant **dosSlotArgv) { - auto self = static_cast(selfVPtr); + auto self = static_cast(selfVPtr); string slotName = toStringFromQVariant(dosSlotNameVariant); if (slotName == "name") { @@ -133,21 +133,21 @@ void MockQAbstractListModel::onSlotCalled(void *selfVPtr, DosQVariant *dosSlotNa } } -void MockQAbstractListModel::onRowCountCalled(void *selfVPtr, const DosQModelIndex *index, int *result) +void MockQAbstractItemModel::onRowCountCalled(void *selfVPtr, const DosQModelIndex *index, int *result) { - auto self = static_cast(selfVPtr); + auto self = static_cast(selfVPtr); *result = self->m_names.size(); } -void MockQAbstractListModel::onColumnCountCalled(void *selfVPtr, const DosQModelIndex *index, int *result) +void MockQAbstractItemModel::onColumnCountCalled(void *selfVPtr, const DosQModelIndex *index, int *result) { - auto self = static_cast(selfVPtr); + auto self = static_cast(selfVPtr); *result = 1; } -void MockQAbstractListModel::onDataCalled(void *selfVPtr, const DosQModelIndex *index, int role, DosQVariant *result) +void MockQAbstractItemModel::onDataCalled(void *selfVPtr, const DosQModelIndex *index, int role, DosQVariant *result) { - auto self = static_cast(selfVPtr); + auto self = static_cast(selfVPtr); if (!dos_qmodelindex_isValid(index)) return; @@ -161,9 +161,9 @@ void MockQAbstractListModel::onDataCalled(void *selfVPtr, const DosQModelIndex * dos_qvariant_setString(result, self->m_names[row].c_str()); } -void MockQAbstractListModel::onSetDataCalled(void *selfVPtr, const DosQModelIndex *index, const DosQVariant *value, int role, bool *result) +void MockQAbstractItemModel::onSetDataCalled(void *selfVPtr, const DosQModelIndex *index, const DosQVariant *value, int role, bool *result) { - auto self = static_cast(selfVPtr); + auto self = static_cast(selfVPtr); *result = false; if (!dos_qmodelindex_isValid(index)) @@ -181,17 +181,17 @@ void MockQAbstractListModel::onSetDataCalled(void *selfVPtr, const DosQModelInde *result = true; } -void MockQAbstractListModel::onRoleNamesCalled(void *selfVPtr, DosQHashIntQByteArray *result) +void MockQAbstractItemModel::onRoleNamesCalled(void *selfVPtr, DosQHashIntQByteArray *result) { } -void MockQAbstractListModel::onFlagsCalled(void *selfVPtr, const DosQModelIndex *index, int *result) +void MockQAbstractItemModel::onFlagsCalled(void *selfVPtr, const DosQModelIndex *index, int *result) { } -void MockQAbstractListModel::onHeaderDataCalled(void *selfVPtr, int section, int orientation, int role, DosQVariant *result) +void MockQAbstractItemModel::onHeaderDataCalled(void *selfVPtr, int section, int orientation, int role, DosQVariant *result) { } diff --git a/test/MockQAbstractListModel.h b/test/MockQAbstractItemModel.h similarity index 95% rename from test/MockQAbstractListModel.h rename to test/MockQAbstractItemModel.h index a4f54b1..20e6b84 100644 --- a/test/MockQAbstractListModel.h +++ b/test/MockQAbstractItemModel.h @@ -4,10 +4,10 @@ #include #include -class MockQAbstractListModel +class MockQAbstractItemModel { public: - MockQAbstractListModel(); + MockQAbstractItemModel(); DosQMetaObject *metaObject(); DosQObject *data(); diff --git a/test/test_dotherside.cpp b/test/test_dotherside.cpp index 30cbd45..2e1e078 100644 --- a/test/test_dotherside.cpp +++ b/test/test_dotherside.cpp @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include "MockQObject.h" #include "MockQAbstractListModel.h" @@ -433,7 +433,7 @@ class TestQAbstractListModel : public QObject private slots: void init() { - testObject.reset(new MockQAbstractListModel()); + testObject.reset(new MockQAbstractItemModel()); testObject->setObjectName("testObject"); testObject->setName("foo"); @@ -516,7 +516,7 @@ private slots: private: QString value; - unique_ptr testObject; + unique_ptr testObject; unique_ptr engine; };