Ignition Gui

API Reference

5.0.0

Customize the proxy model to display search results. More...

#include <SearchModel.hh>

Public Member Functions

bool filterAcceptsRow (const int _srcRow, const QModelIndex &_srcParent) const
 Overloaded Qt method. Customize so we accept rows where: More...
 
bool FilterAcceptsRowItself (const int _srcRow, const QModelIndex &_srcParent, const QString &_word) const
 Check if row contains the word on itself. More...
 
bool HasAcceptedChildren (const int _srcRow, const QModelIndex &_srcParent) const
 Check if any of the children is fully accepted. More...
 
bool HasChildAcceptsItself (const QModelIndex &_srcParent, const QString &_word) const
 Check if any of the children accepts a specific word. More...
 
void SetSearch (const QString &_search)
 Set a new search value. More...
 
- Public Member Functions inherited from QSortFilterProxyModel
 QSortFilterProxyModel (QObject *parent)
 
 ~QSortFilterProxyModel ()
 
virtual QModelIndex buddy (const QModelIndex &index) const
 
virtual bool canFetchMore (const QModelIndex &parent) const
 
void clear ()
 
virtual int columnCount (const QModelIndex &parent) const
 
virtual QVariant data (const QModelIndex &index, int role) const
 
virtual bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
 
bool dynamicSortFilter () const
 
virtual void fetchMore (const QModelIndex &parent)
 
Qt::CaseSensitivity filterCaseSensitivity () const
 
int filterKeyColumn () const
 
QRegExp filterRegExp () const
 
int filterRole () const
 
virtual Qt::ItemFlags flags (const QModelIndex &index) const
 
virtual bool hasChildren (const QModelIndex &parent) const
 
virtual QVariant headerData (int section, Qt::Orientation orientation, int role) const
 
virtual QModelIndex index (int row, int column, const QModelIndex &parent) const
 
virtual bool insertColumns (int column, int count, const QModelIndex &parent)
 
virtual bool insertRows (int row, int count, const QModelIndex &parent)
 
void invalidate ()
 
bool isSortLocaleAware () const
 
virtual QModelIndex mapFromSource (const QModelIndex &sourceIndex) const
 
virtual QItemSelection mapSelectionFromSource (const QItemSelection &sourceSelection) const
 
virtual QItemSelection mapSelectionToSource (const QItemSelection &proxySelection) const
 
virtual QModelIndex mapToSource (const QModelIndex &proxyIndex) const
 
virtual QModelIndexList match (const QModelIndex &start, int role, const QVariant &value, int hits, QFlags< Qt::MatchFlag > flags) const
 
virtual QMimeDatamimeData (const QModelIndexList &indexes) const
 
virtual QStringList mimeTypes () const
 
virtual QModelIndex parent (const QModelIndex &child) const
 
virtual bool removeColumns (int column, int count, const QModelIndex &parent)
 
virtual bool removeRows (int row, int count, const QModelIndex &parent)
 
virtual int rowCount (const QModelIndex &parent) const
 
virtual bool setData (const QModelIndex &index, const QVariant &value, int role)
 
void setDynamicSortFilter (bool enable)
 
void setFilterCaseSensitivity (Qt::CaseSensitivity cs)
 
void setFilterFixedString (const QString &pattern)
 
void setFilterKeyColumn (int column)
 
void setFilterRegExp (const QRegExp &regExp)
 
void setFilterRegExp (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)
 
void setSortCaseSensitivity (Qt::CaseSensitivity cs)
 
void setSortLocaleAware (bool on)
 
void setSortRole (int role)
 
virtual void setSourceModel (QAbstractItemModel *sourceModel)
 
virtual void sort (int column, Qt::SortOrder order)
 
Qt::CaseSensitivity sortCaseSensitivity () const
 
int sortColumn () const
 
Qt::SortOrder sortOrder () const
 
int sortRole () const
 
virtual QSize span (const QModelIndex &index) const
 
virtual Qt::DropActions supportedDropActions () const
 
- Public Member Functions inherited from QAbstractProxyModel
 QAbstractProxyModel (QObject *parent)
 
 ~QAbstractProxyModel ()
 
virtual QMap< int, QVariantitemData (const QModelIndex &proxyIndex) const
 
virtual QModelIndex mapFromSource (const QModelIndex &sourceIndex) const=0
 
virtual QModelIndex mapToSource (const QModelIndex &proxyIndex) const=0
 
virtual void revert ()
 
virtual bool setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles)
 
QAbstractItemModelsourceModel () const
 
virtual bool submit ()
 
- Public Member Functions inherited from QAbstractItemModel
 QAbstractItemModel (QObject *parent)
 
virtual ~QAbstractItemModel ()
 
virtual int columnCount (const QModelIndex &parent) const=0
 
void columnsAboutToBeInserted (const QModelIndex &parent, int start, int end)
 
void columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn)
 
void columnsAboutToBeRemoved (const QModelIndex &parent, int start, int end)
 
void columnsInserted (const QModelIndex &parent, int start, int end)
 
void columnsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn)
 
void columnsRemoved (const QModelIndex &parent, int start, int end)
 
virtual QVariant data (const QModelIndex &index, int role) const=0
 
void dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight)
 
bool hasIndex (int row, int column, const QModelIndex &parent) const
 
void headerDataChanged (Qt::Orientation orientation, int first, int last)
 
virtual QModelIndex index (int row, int column, const QModelIndex &parent) const=0
 
bool insertColumn (int column, const QModelIndex &parent)
 
bool insertRow (int row, const QModelIndex &parent)
 
void layoutAboutToBeChanged ()
 
void layoutChanged ()
 
void modelAboutToBeReset ()
 
void modelReset ()
 
virtual QModelIndex parent (const QModelIndex &index) const=0
 
bool removeColumn (int column, const QModelIndex &parent)
 
bool removeRow (int row, const QModelIndex &parent)
 
const QHash< int, QByteArray > & roleNames () const
 
virtual int rowCount (const QModelIndex &parent) const=0
 
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 start, int end)
 
void rowsInserted (const QModelIndex &parent, int start, int end)
 
void rowsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow)
 
void rowsRemoved (const QModelIndex &parent, int start, int end)
 
void setSupportedDragActions (QFlags< Qt::DropAction > actions)
 
QModelIndex sibling (int row, int column, const QModelIndex &index) const
 
Qt::DropActions supportedDragActions () const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
virtual ~QObject ()
 
bool blockSignals (bool block)
 
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArraydynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObjectparent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThreadthread () const
 

Public Attributes

QString search
 Full search string. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
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)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Protected Member Functions inherited from QSortFilterProxyModel
virtual bool filterAcceptsColumn (int source_column, const QModelIndex &source_parent) const
 
void filterChanged ()
 
void invalidateFilter ()
 
virtual bool lessThan (const QModelIndex &left, const QModelIndex &right) 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, void *ptr) const
 
QModelIndex createIndex (int row, int column, int id) const
 
QModelIndex createIndex (int row, int column, quint32 id) const
 
void endInsertColumns ()
 
void endInsertRows ()
 
void endMoveColumns ()
 
void endMoveRows ()
 
void endRemoveColumns ()
 
void endRemoveRows ()
 
void endResetModel ()
 
QModelIndexList persistentIndexList () const
 
void reset ()
 
void resetInternalData ()
 
void setRoleNames (const QHash< int, QByteArray > &roleNames)
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QSortFilterProxyModel
 dynamicSortFilter
 
 filterCaseSensitivity
 
 filterKeyColumn
 
 filterRegExp
 
 filterRole
 
 isSortLocaleAware
 
 sortCaseSensitivity
 
 sortRole
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Customize the proxy model to display search results.

Features:

  • This has been tested with QTreeView and QTableView.
  • Manages expansion of nested items through DataRole::TO_EXPAND when applicable
  • Items with DataRole::TYPE == "title" are ignored

Member Function Documentation

◆ filterAcceptsRow()

bool filterAcceptsRow ( const int  _srcRow,
const QModelIndex _srcParent 
) const
virtual

Overloaded Qt method. Customize so we accept rows where:

  1. Each of the words can be found in its ancestors or itself, but not necessarily all words on the same row, or
  2. One of its descendants matches rule 1, or
  3. One of its ancestors matches rule 1.

For example this structure:

  • a – b – c — d
  • A search of "a" will display all rows.
  • A search of "b" or "a b" will display "a" and "b".
  • A search of "c", "d", "a c", "a d", "a c d" or "c d" will display "a", "c" and "d".
  • A search of "a b c d", "b c" or "b d" will display nothing.
Parameters
[in]_srcRowRow on the source model.
[in]_srcParentParent on the source model.
Returns
True if row is accepted.

Reimplemented from QSortFilterProxyModel.

◆ FilterAcceptsRowItself()

bool FilterAcceptsRowItself ( const int  _srcRow,
const QModelIndex _srcParent,
const QString _word 
) const

Check if row contains the word on itself.

Parameters
[in]_srcRowRow on the source model.
[in]_srcParentParent on the source model.
[in]_wordWord to be checked.
Returns
True if row matches.

◆ HasAcceptedChildren()

bool HasAcceptedChildren ( const int  _srcRow,
const QModelIndex _srcParent 
) const

Check if any of the children is fully accepted.

Parameters
[in]_srcRowRow on the source model.
[in]_srcParentParent on the source model.
Returns
True if any of the children match.

◆ HasChildAcceptsItself()

bool HasChildAcceptsItself ( const QModelIndex _srcParent,
const QString _word 
) const

Check if any of the children accepts a specific word.

Parameters
[in]_srcParentParent on the source model.
[in]_wordWord to be checked.
Returns
True if any of the children match.

◆ SetSearch()

void SetSearch ( const QString _search)

Set a new search value.

Parameters
[in]_searchFull search string.

Member Data Documentation

◆ search

QString search

Full search string.


The documentation for this class was generated from the following file: