MauiModel

Search for usage in LXR

#include <mauimodel.h>

Inheritance diagram for MauiModel:

Properties

int count
 
QString filter
 
QString filterRole
 
QStringList filters
 
MauiListlist
 
QString sort
 
Qt::SortOrder sortOrder
 
- Properties inherited from QSortFilterProxyModel
 autoAcceptChildRows
 
 dynamicSortFilter
 
 filterCaseSensitivity
 
 filterKeyColumn
 
 filterRegularExpression
 
 filterRole
 
 isSortLocaleAware
 
 recursiveFilteringEnabled
 
 sortCaseSensitivity
 
 sortRole
 
- Properties inherited from QAbstractProxyModel
 sourceModel
 
- Properties inherited from QObject
 objectName
 

Signals

void countChanged ()
 
void filterChanged (QString)
 
void filterRoleNameChanged (QString)
 
void filtersChanged (QStringList)
 
void listChanged ()
 
void sortChanged (QString)
 
void sortOrderChanged (Qt::SortOrder)
 

Public Slots

void clearFilters ()
 
QVariantMap get (const int &index) const
 
QVariantList getAll () const
 
int mappedFromSource (const int &index) const
 
int mappedToSource (const int &) const
 
bool move (const int &index, const int &to)
 
void setFilter (const QString &filter)
 
void setFilterRoleName (QString)
 
void setFilters (const QStringList &filters)
 
void setSort (const QString &sort)
 
void setSortOrder (const Qt::SortOrder &sortOrder)
 

Public Member Functions

 MauiModel (QObject *parent=nullptr)
 
int count () const
 
const QString getFilter () const
 
QString getFilterRoleName () const
 
const QStringList getFilters () const
 
MauiListgetList () const
 
QString getSort () const
 
Qt::SortOrder getSortOrder () const
 
bool moveRow (const QModelIndex &sourceParent, int sourceRow, const QModelIndex &destinationParent, int destinationChild)
 
bool moveRows (const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) override
 
void setList (MauiList *)
 
- Public Member Functions inherited from QSortFilterProxyModel
 QSortFilterProxyModel (QObject *parent)
 
bool autoAcceptChildRows () const const
 
void autoAcceptChildRowsChanged (bool autoAcceptChildRows)
 
QBindable< bool > bindableAutoAcceptChildRows ()
 
QBindable< bool > bindableDynamicSortFilter ()
 
QBindable< Qt::CaseSensitivitybindableFilterCaseSensitivity ()
 
QBindable< int > bindableFilterKeyColumn ()
 
QBindable< QRegularExpressionbindableFilterRegularExpression ()
 
QBindable< int > bindableFilterRole ()
 
QBindable< bool > bindableIsSortLocaleAware ()
 
QBindable< bool > bindableRecursiveFilteringEnabled ()
 
QBindable< Qt::CaseSensitivitybindableSortCaseSensitivity ()
 
QBindable< int > bindableSortRole ()
 
virtual QModelIndex buddy (const QModelIndex &index) const const override
 
virtual bool canFetchMore (const QModelIndex &parent) const const override
 
virtual int columnCount (const QModelIndex &parent) const const override
 
virtual QVariant data (const QModelIndex &index, int role) const const override
 
virtual bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
 
bool dynamicSortFilter () const const
 
virtual void fetchMore (const QModelIndex &parent) override
 
Qt::CaseSensitivity filterCaseSensitivity () const const
 
void filterCaseSensitivityChanged (Qt::CaseSensitivity filterCaseSensitivity)
 
int filterKeyColumn () const const
 
QRegularExpression filterRegularExpression () const const
 
int filterRole () const const
 
void filterRoleChanged (int filterRole)
 
virtual Qt::ItemFlags flags (const QModelIndex &index) const const override
 
virtual bool hasChildren (const QModelIndex &parent) const const override
 
virtual QVariant headerData (int section, Qt::Orientation orientation, int role) const const override
 
virtual QModelIndex index (int row, int column, const QModelIndex &parent) const const override
 
virtual bool insertColumns (int column, int count, const QModelIndex &parent) override
 
virtual bool insertRows (int row, int count, const QModelIndex &parent) override
 
void invalidate ()
 
bool isRecursiveFilteringEnabled () const const
 
bool isSortLocaleAware () const const
 
virtual QModelIndex mapFromSource (const QModelIndex &sourceIndex) const const override
 
virtual QItemSelection mapSelectionFromSource (const QItemSelection &sourceSelection) const const override
 
virtual QItemSelection mapSelectionToSource (const QItemSelection &proxySelection) const const override
 
virtual QModelIndex mapToSource (const QModelIndex &proxyIndex) const const override
 
virtual QModelIndexList match (const QModelIndex &start, int role, const QVariant &value, int hits, Qt::MatchFlags flags) const const override
 
virtual QMimeDatamimeData (const QModelIndexList &indexes) const const override
 
virtual QStringList mimeTypes () const const override
 
virtual QModelIndex parent (const QModelIndex &child) const const override
 
void recursiveFilteringEnabledChanged (bool recursiveFilteringEnabled)
 
virtual bool removeColumns (int column, int count, const QModelIndex &parent) override
 
virtual bool removeRows (int row, int count, const QModelIndex &parent) override
 
virtual int rowCount (const QModelIndex &parent) const const override
 
void setAutoAcceptChildRows (bool accept)
 
virtual bool setData (const QModelIndex &index, const QVariant &value, int role) override
 
void setDynamicSortFilter (bool enable)
 
void setFilterCaseSensitivity (Qt::CaseSensitivity cs)
 
void setFilterFixedString (const QString &pattern)
 
void setFilterKeyColumn (int column)
 
void setFilterRegularExpression (const QRegularExpression &regularExpression)
 
void setFilterRegularExpression (const QString &pattern)
 
void setFilterRole (int role)
 
void setFilterWildcard (const QString &pattern)
 
virtual bool setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role) override
 
void setRecursiveFilteringEnabled (bool recursive)
 
void setSortCaseSensitivity (Qt::CaseSensitivity cs)
 
void setSortLocaleAware (bool on)
 
void setSortRole (int role)
 
virtual void setSourceModel (QAbstractItemModel *sourceModel) override
 
virtual QModelIndex sibling (int row, int column, const QModelIndex &idx) const const override
 
virtual void sort (int column, Qt::SortOrder order) override
 
Qt::CaseSensitivity sortCaseSensitivity () const const
 
void sortCaseSensitivityChanged (Qt::CaseSensitivity sortCaseSensitivity)
 
int sortColumn () const const
 
void sortLocaleAwareChanged (bool sortLocaleAware)
 
Qt::SortOrder sortOrder () const const
 
int sortRole () const const
 
void sortRoleChanged (int sortRole)
 
virtual QSize span (const QModelIndex &index) const const override
 
virtual Qt::DropActions supportedDropActions () const const override
 
- Public Member Functions inherited from QAbstractProxyModel
 QAbstractProxyModel (QObject *parent)
 
QBindable< QAbstractItemModel * > bindableSourceModel ()
 
virtual bool canDropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const const override
 
virtual bool clearItemData (const QModelIndex &index) override
 
virtual QMap< int, QVariantitemData (const QModelIndex &proxyIndex) const const override
 
virtual void revert () override
 
virtual QHash< int, QByteArrayroleNames () const const override
 
virtual bool setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles) override
 
QAbstractItemModelsourceModel () const const
 
void sourceModelChanged ()
 
virtual bool submit () override
 
virtual Qt::DropActions supportedDragActions () const const override
 
- Public Member Functions inherited from QAbstractItemModel
 QAbstractItemModel (QObject *parent)
 
bool checkIndex (const QModelIndex &index, CheckIndexOptions options) const const
 
void columnsAboutToBeInserted (const QModelIndex &parent, int first, int last)
 
void columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn)
 
void columnsAboutToBeRemoved (const QModelIndex &parent, int first, int last)
 
void columnsInserted (const QModelIndex &parent, int first, int last)
 
void columnsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn)
 
void columnsRemoved (const QModelIndex &parent, int first, int last)
 
void dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList< int > &roles)
 
bool hasIndex (int row, int column, const QModelIndex &parent) const const
 
void headerDataChanged (Qt::Orientation orientation, int first, int last)
 
bool insertColumn (int column, const QModelIndex &parent)
 
bool insertRow (int row, const QModelIndex &parent)
 
void layoutAboutToBeChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint)
 
void layoutChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint)
 
void modelAboutToBeReset ()
 
void modelReset ()
 
bool moveColumn (const QModelIndex &sourceParent, int sourceColumn, const QModelIndex &destinationParent, int destinationChild)
 
virtual bool moveColumns (const QModelIndex &sourceParent, int sourceColumn, int count, const QModelIndex &destinationParent, int destinationChild)
 
bool moveRow (const QModelIndex &sourceParent, int sourceRow, const QModelIndex &destinationParent, int destinationChild)
 
virtual void multiData (const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const const
 
bool removeColumn (int column, const QModelIndex &parent)
 
bool removeRow (int row, const QModelIndex &parent)
 
void rowsAboutToBeInserted (const QModelIndex &parent, int start, int end)
 
void rowsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow)
 
void rowsAboutToBeRemoved (const QModelIndex &parent, int first, int last)
 
void rowsInserted (const QModelIndex &parent, int first, int last)
 
void rowsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow)
 
void rowsRemoved (const QModelIndex &parent, int first, int last)
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
QBindable< QStringbindableObjectName ()
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo () const const
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isQuickItemType () const const
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_GADGET_EXPORT (EXPORT_MACRO)
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setObjectName (QAnyStringView name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool setProperty (const char *name, QVariant &&value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType)
 
QThreadthread () const const
 

Protected Member Functions

bool filterAcceptsRow (int, const QModelIndex &) const override
 
- Protected Member Functions inherited from QSortFilterProxyModel
virtual bool filterAcceptsColumn (int source_column, const QModelIndex &source_parent) const const
 
void invalidateColumnsFilter ()
 
void invalidateFilter ()
 
void invalidateRowsFilter ()
 
virtual bool lessThan (const QModelIndex &source_left, const QModelIndex &source_right) const const
 
- Protected Member Functions inherited from QAbstractProxyModel
QModelIndex createSourceIndex (int row, int col, void *internalPtr) const const
 
- Protected Member Functions inherited from QAbstractItemModel
void beginInsertColumns (const QModelIndex &parent, int first, int last)
 
void beginInsertRows (const QModelIndex &parent, int first, int last)
 
bool beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild)
 
bool beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild)
 
void beginRemoveColumns (const QModelIndex &parent, int first, int last)
 
void beginRemoveRows (const QModelIndex &parent, int first, int last)
 
void beginResetModel ()
 
void changePersistentIndex (const QModelIndex &from, const QModelIndex &to)
 
void changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to)
 
QModelIndex createIndex (int row, int column, const void *ptr) const const
 
QModelIndex createIndex (int row, int column, quintptr id) const const
 
void endInsertColumns ()
 
void endInsertRows ()
 
void endMoveColumns ()
 
void endMoveRows ()
 
void endRemoveColumns ()
 
void endRemoveRows ()
 
void endResetModel ()
 
QModelIndexList persistentIndexList () const const
 
virtual void resetInternalData ()
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Additional Inherited Members

- Public Types inherited from QAbstractItemModel
enum  CheckIndexOption
 
enum  LayoutChangeHint
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QAbstractItemModel
typedef CheckIndexOptions
 
 DoNotUseParent
 
 HorizontalSortHint
 
 IndexIsValid
 
 NoLayoutChangeHint
 
 NoOption
 
 ParentIsInvalid
 
 VerticalSortHint
 
- Public Attributes inherited from QObject
typedef QObjectList
 

Detailed Description

The MauiModel class.

The MauiModel is a template model to be uses with MauiList, it aims to be a simple data model to quickly setup string based models using the FMH::MODEL_LIST and FMH::MODEL_KEY types.

Note
This class is exposed as the type BaseModel to the QML engine.
Maui.BaseModel
{
}

The idea is that the sorting and filtering is independent to the data list - MauiList. Now, to get the right items keep in mind: MauiList::get() gets the item at the original list index, while MauiModel::get() will get the item at the model index, if it is filtered or sorted, then that's the item you'd get.

If you want to get a item from the source list and the model has been filtered or sorted you will need to use the MauiModel::mappedToSource() to map the index to the right index from the source list.

Now, if you have a index from the source list and the model has been filtered or ordered you will use MauiModel::mappedFromSource() to get the right index from the model.

You can find a more complete example at this link.

Definition at line 53 of file mauimodel.h.

Property Documentation

◆ count

int MauiModel::count
read

Definition at line 98 of file mauimodel.h.

◆ filter

QString MauiModel::filter
readwrite

Definition at line 69 of file mauimodel.h.

◆ filterRole

QString MauiModel::filterRole
readwrite

Definition at line 81 of file mauimodel.h.

◆ filters

QStringList MauiModel::filters
readwrite

Definition at line 75 of file mauimodel.h.

◆ list

MauiList * MauiModel::list
readwrite

Definition at line 63 of file mauimodel.h.

◆ sort

QString MauiModel::sort
readwrite

Definition at line 93 of file mauimodel.h.

◆ sortOrder

Qt::SortOrder MauiModel::sortOrder
readwrite

Definition at line 88 of file mauimodel.h.

Constructor & Destructor Documentation

◆ MauiModel()

MauiModel::MauiModel ( QObject * parent = nullptr)

Definition at line 25 of file mauimodel.cpp.

Member Function Documentation

◆ clearFilters

void MauiModel::clearFilters ( )
slot

Restores the model if filtered, and clears all the filters set with the filter and filters properties.

Definition at line 98 of file mauimodel.cpp.

◆ count()

int MauiModel::count ( ) const

Definition at line 152 of file mauimodel.cpp.

◆ filterAcceptsRow()

bool MauiModel::filterAcceptsRow ( int sourceRow,
const QModelIndex & sourceParent ) const
overrideprotectedvirtual

Reimplemented from QSortFilterProxyModel.

Definition at line 177 of file mauimodel.cpp.

◆ get

QVariantMap MauiModel::get ( const int & index) const
slot

Returns an item in the model.

This method correctly maps the given index in case the model has been sorted or filtered.

Parameters
indexthe position index of the item in the list
Returns
a convenient QVariantMap that can be parsed on QML easily

Definition at line 32 of file mauimodel.cpp.

◆ getAll

QVariantList MauiModel::getAll ( ) const
slot

Returns all the items in the list represented as a QVariantList to be able to be used in QML.

This operation performs a transformation from FMH::MODEL_LIST to QVariantList

Returns
all the items in the list

Definition at line 45 of file mauimodel.cpp.

◆ getFilter()

const QString MauiModel::getFilter ( ) const

Definition at line 67 of file mauimodel.cpp.

◆ getFilterRoleName()

QString MauiModel::getFilterRoleName ( ) const

Definition at line 116 of file mauimodel.cpp.

◆ getFilters()

const QStringList MauiModel::getFilters ( ) const

Definition at line 93 of file mauimodel.cpp.

◆ getList()

MauiList * MauiModel::getList ( ) const

Definition at line 198 of file mauimodel.cpp.

◆ getSort()

QString MauiModel::getSort ( ) const

Definition at line 147 of file mauimodel.cpp.

◆ getSortOrder()

Qt::SortOrder MauiModel::getSortOrder ( ) const

Definition at line 131 of file mauimodel.cpp.

◆ mappedFromSource

int MauiModel::mappedFromSource ( const int & index) const
slot

Maps a given index from the base list to the model, in case the model has been filtered or sorted, this gives you the right mapped index.

Parameters
indexthe original position index in the list
Returns
the mapped index in the model

Definition at line 157 of file mauimodel.cpp.

◆ mappedToSource

int MauiModel::mappedToSource ( const int & index) const
slot

Given an index from the filtered or sorted model it returns the mapped index to the original list index.

Parameters
indexthe model index
Returns
the original position index in the list

Definition at line 162 of file mauimodel.cpp.

◆ move

bool MauiModel::move ( const int & index,
const int & to )
slot

Definition at line 403 of file mauimodel.cpp.

◆ moveRow()

bool MauiModel::moveRow ( const QModelIndex & sourceParent,
int sourceRow,
const QModelIndex & destinationParent,
int destinationChild )

Definition at line 443 of file mauimodel.cpp.

◆ moveRows()

bool MauiModel::moveRows ( const QModelIndex & sourceParent,
int sourceRow,
int count,
const QModelIndex & destinationParent,
int destinationChild )
overridevirtual

ListModel::moveRows.

Must be reimplemented, because moving rows should be possible

Parameters
sourceParent
sourceRow
count
destinationParent
destinationChild
Returns

Reimplemented from QAbstractItemModel.

Definition at line 430 of file mauimodel.cpp.

◆ setFilter

void MauiModel::setFilter ( const QString & filter)
slot

Definition at line 54 of file mauimodel.cpp.

◆ setFilterRoleName

void MauiModel::setFilterRoleName ( QString filter)
slot

Definition at line 167 of file mauimodel.cpp.

◆ setFilters

void MauiModel::setFilters ( const QStringList & filters)
slot

Definition at line 72 of file mauimodel.cpp.

◆ setList()

void MauiModel::setList ( MauiList * value)

Definition at line 304 of file mauimodel.cpp.

◆ setSort

void MauiModel::setSort ( const QString & sort)
slot

Definition at line 136 of file mauimodel.cpp.

◆ setSortOrder

void MauiModel::setSortOrder ( const Qt::SortOrder & sortOrder)
slot

Definition at line 121 of file mauimodel.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri May 17 2024 11:56:16 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.