QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsBrowserModel Class Reference

#include <qgsbrowsermodel.h>

Inheritance diagram for QgsBrowserModel:
Inheritance graph
[legend]

Public Types

enum  ItemDataRole { PathRole = Qt::UserRole, CommentRole = Qt::UserRole + 1 }
 

Public Slots

void addFavouriteDirectory (const QString &favDir)
 
void beginInsertItems (QgsDataItem *parent, int first, int last)
 
void beginRemoveItems (QgsDataItem *parent, int first, int last)
 
void endInsertItems ()
 
void endRemoveItems ()
 
void hidePath (QgsDataItem *item)
 Hide the given path in the browser model. More...
 
void itemDataChanged (QgsDataItem *item)
 
void itemStateChanged (QgsDataItem *item, QgsDataItem::State oldState)
 
void reload ()
 Reload the whole model. More...
 
void removeFavourite (const QModelIndex &index)
 
void updateProjectHome ()
 

Signals

void stateChanged (const QModelIndex &index, QgsDataItem::State oldState)
 Emitted when item children fetch was finished. More...
 

Public Member Functions

 QgsBrowserModel (QObject *parent=nullptr, bool initialize=true)
 QgsBrowserModel. More...
 
 ~QgsBrowserModel ()
 
bool canFetchMore (const QModelIndex &parent) const override
 
virtual int columnCount (const QModelIndex &parent=QModelIndex()) const override
 Provides the number of columns of data exposed by the model. More...
 
void connectItem (QgsDataItem *item)
 
virtual QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 Used to supply item data to views and delegates. More...
 
QgsDataItemdataItem (const QModelIndex &idx) const
 
virtual bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
 Handles the data supplied by a drag and drop operation that ended with the given action. More...
 
void fetchMore (const QModelIndex &parent) override
 
QModelIndex findItem (QgsDataItem *item, QgsDataItem *parent=nullptr) const
 
QModelIndex findPath (const QString &path, Qt::MatchFlag matchFlag=Qt::MatchExactly)
 Return index of item with given path. More...
 
virtual Qt::ItemFlags flags (const QModelIndex &index) const override
 Used by other components to obtain information about each item provided by the model. More...
 
bool hasChildren (const QModelIndex &parent=QModelIndex()) const override
 
virtual QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 Provides views with information to show in their headers. More...
 
virtual QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const override
 Returns the index of the item in the model specified by the given row, column and parent index. More...
 
void init ()
 Delayed initialization. More...
 
bool initialized () const
 Returns true if the model has been initialized. More...
 
virtual QMimeDatamimeData (const QModelIndexList &indexes) const override
 Returns an object that contains serialized items of data corresponding to the list of indexes specified. More...
 
virtual QStringList mimeTypes () const override
 Returns a list of mime that can describe model indexes. More...
 
virtual QModelIndex parent (const QModelIndex &index) const override
 Returns the parent of the model item with the given index. More...
 
void refresh (const QString &path)
 Refresh item specified by path. More...
 
void refresh (const QModelIndex &index=QModelIndex())
 Refresh item children. More...
 
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const override
 Provides the number of rows of data exposed by the model. More...
 
- Public Member Functions inherited from QAbstractItemModel
 QAbstractItemModel (QObject *parent)
 
virtual ~QAbstractItemModel ()
 
virtual QModelIndex buddy (const QModelIndex &index) const
 
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)
 
virtual bool insertColumns (int column, int count, const QModelIndex &parent)
 
bool insertRow (int row, const QModelIndex &parent)
 
virtual bool insertRows (int row, int count, const QModelIndex &parent)
 
virtual QMap< int, QVariantitemData (const QModelIndex &index) const
 
void layoutAboutToBeChanged ()
 
void layoutChanged ()
 
virtual QModelIndexList match (const QModelIndex &start, int role, const QVariant &value, int hits, QFlags< Qt::MatchFlag > flags) const
 
void modelAboutToBeReset ()
 
void modelReset ()
 
virtual QModelIndex parent (const QModelIndex &index) const=0
 
bool removeColumn (int column, const QModelIndex &parent)
 
virtual bool removeColumns (int column, int count, const QModelIndex &parent)
 
bool removeRow (int row, const QModelIndex &parent)
 
virtual bool removeRows (int row, int count, const QModelIndex &parent)
 
virtual void revert ()
 
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)
 
virtual bool setData (const QModelIndex &index, const QVariant &value, int role)
 
virtual bool setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role)
 
virtual bool setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles)
 
void setSupportedDragActions (QFlags< Qt::DropAction > actions)
 
QModelIndex sibling (int row, int column, const QModelIndex &index) const
 
virtual void sort (int column, Qt::SortOrder order)
 
virtual QSize span (const QModelIndex &index) const
 
virtual bool submit ()
 
Qt::DropActions supportedDragActions () const
 
virtual Qt::DropActions supportedDropActions () 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
 

Static Public Member Functions

static QModelIndex findPath (QAbstractItemModel *model, const QString &path, Qt::MatchFlag matchFlag=Qt::MatchExactly)
 
- 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

void addRootItems ()
 Populates the model. More...
 
void removeRootItems ()
 
- 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)
 

Protected Attributes

QgsFavouritesItemmFavourites
 
QgsDirectoryItemmProjectHome
 
QVector< QgsDataItem * > mRootItems
 

Additional Inherited Members

- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Definition at line 51 of file qgsbrowsermodel.h.

Member Enumeration Documentation

◆ ItemDataRole

Enumerator
PathRole 

Item path used to access path in the tree, see QgsDataItem::mPath

CommentRole 

Item comment

Definition at line 65 of file qgsbrowsermodel.h.

Constructor & Destructor Documentation

◆ QgsBrowserModel()

QgsBrowserModel::QgsBrowserModel ( QObject parent = nullptr,
bool  initialize = true 
)
explicit

QgsBrowserModel.

Parameters
parent
initializeimmediately called init, default to true

Definition at line 50 of file qgsbrowsermodel.cpp.

◆ ~QgsBrowserModel()

QgsBrowserModel::~QgsBrowserModel ( )

Definition at line 60 of file qgsbrowsermodel.cpp.

Member Function Documentation

◆ addFavouriteDirectory

void QgsBrowserModel::addFavouriteDirectory ( const QString favDir)
slot

Definition at line 534 of file qgsbrowsermodel.cpp.

◆ addRootItems()

void QgsBrowserModel::addRootItems ( )
protected

Populates the model.

Definition at line 92 of file qgsbrowsermodel.cpp.

◆ beginInsertItems

void QgsBrowserModel::beginInsertItems ( QgsDataItem parent,
int  first,
int  last 
)
slot

Definition at line 375 of file qgsbrowsermodel.cpp.

◆ beginRemoveItems

void QgsBrowserModel::beginRemoveItems ( QgsDataItem parent,
int  first,
int  last 
)
slot

Definition at line 390 of file qgsbrowsermodel.cpp.

◆ canFetchMore()

bool QgsBrowserModel::canFetchMore ( const QModelIndex parent) const
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 495 of file qgsbrowsermodel.cpp.

◆ columnCount()

int QgsBrowserModel::columnCount ( const QModelIndex parent = QModelIndex()) const
overridevirtual

Provides the number of columns of data exposed by the model.

List models do not provide this function because it is already implemented in QAbstractListModel.

Definition at line 278 of file qgsbrowsermodel.cpp.

◆ connectItem()

void QgsBrowserModel::connectItem ( QgsDataItem item)

Definition at line 421 of file qgsbrowsermodel.cpp.

◆ data()

QVariant QgsBrowserModel::data ( const QModelIndex index,
int  role = Qt::DisplayRole 
) const
overridevirtual

Used to supply item data to views and delegates.

Generally, models only need to supply data for Qt::DisplayRole and any application-specific user roles, but it is also good practice to provide data for Qt::ToolTipRole, Qt::AccessibleTextRole, and Qt::AccessibleDescriptionRole. See the Qt::ItemDataRole enum documentation for information about the types associated with each role.

Definition at line 198 of file qgsbrowsermodel.cpp.

◆ dataItem()

QgsDataItem * QgsBrowserModel::dataItem ( const QModelIndex idx) const

Definition at line 487 of file qgsbrowsermodel.cpp.

◆ dropMimeData()

bool QgsBrowserModel::dropMimeData ( const QMimeData data,
Qt::DropAction  action,
int  row,
int  column,
const QModelIndex parent 
)
overridevirtual

Handles the data supplied by a drag and drop operation that ended with the given action.

Reimplemented from QAbstractItemModel.

Definition at line 472 of file qgsbrowsermodel.cpp.

◆ endInsertItems

void QgsBrowserModel::endInsertItems ( )
slot

Definition at line 385 of file qgsbrowsermodel.cpp.

◆ endRemoveItems

void QgsBrowserModel::endRemoveItems ( )
slot

Definition at line 398 of file qgsbrowsermodel.cpp.

◆ fetchMore()

void QgsBrowserModel::fetchMore ( const QModelIndex parent)
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 503 of file qgsbrowsermodel.cpp.

◆ findItem()

QModelIndex QgsBrowserModel::findItem ( QgsDataItem item,
QgsDataItem parent = nullptr 
) const

Definition at line 358 of file qgsbrowsermodel.cpp.

◆ findPath() [1/2]

QModelIndex QgsBrowserModel::findPath ( const QString path,
Qt::MatchFlag  matchFlag = Qt::MatchExactly 
)

Return index of item with given path.

It only searches in currently fetched items, i.e. it does not fetch children.

Parameters
pathitem path
matchFlagsupported is Qt::MatchExactly and Qt::MatchStartsWith which has reverse meaning, i.e. find item with the longest match from start with path (to get as close/deep as possible to deleted item).
Returns
model index, invalid if item not found

Definition at line 284 of file qgsbrowsermodel.cpp.

◆ findPath() [2/2]

QModelIndex QgsBrowserModel::findPath ( QAbstractItemModel model,
const QString path,
Qt::MatchFlag  matchFlag = Qt::MatchExactly 
)
static
Note
not available in python bindings

Definition at line 289 of file qgsbrowsermodel.cpp.

◆ flags()

Qt::ItemFlags QgsBrowserModel::flags ( const QModelIndex index) const
overridevirtual

Used by other components to obtain information about each item provided by the model.

In many models, the combination of flags should include Qt::ItemIsEnabled and Qt::ItemIsSelectable.

Reimplemented from QAbstractItemModel.

Definition at line 181 of file qgsbrowsermodel.cpp.

◆ hasChildren()

bool QgsBrowserModel::hasChildren ( const QModelIndex parent = QModelIndex()) const
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 269 of file qgsbrowsermodel.cpp.

◆ headerData()

QVariant QgsBrowserModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
overridevirtual

Provides views with information to show in their headers.

The information is only retrieved by views that can display header information.

Reimplemented from QAbstractItemModel.

Definition at line 240 of file qgsbrowsermodel.cpp.

◆ hidePath

void QgsBrowserModel::hidePath ( QgsDataItem item)
slot

Hide the given path in the browser model.

Definition at line 549 of file qgsbrowsermodel.cpp.

◆ index()

QModelIndex QgsBrowserModel::index ( int  row,
int  column,
const QModelIndex parent = QModelIndex() 
) const
overridevirtual

Returns the index of the item in the model specified by the given row, column and parent index.

Definition at line 338 of file qgsbrowsermodel.cpp.

◆ init()

void QgsBrowserModel::init ( )

Delayed initialization.

Definition at line 578 of file qgsbrowsermodel.cpp.

◆ initialized()

bool QgsBrowserModel::initialized ( ) const
inline

Returns true if the model has been initialized.

Definition at line 139 of file qgsbrowsermodel.h.

◆ itemDataChanged

void QgsBrowserModel::itemDataChanged ( QgsDataItem item)
slot

Definition at line 403 of file qgsbrowsermodel.cpp.

◆ itemStateChanged

void QgsBrowserModel::itemStateChanged ( QgsDataItem item,
QgsDataItem::State  oldState 
)
slot

Definition at line 411 of file qgsbrowsermodel.cpp.

◆ mimeData()

QMimeData * QgsBrowserModel::mimeData ( const QModelIndexList &  indexes) const
overridevirtual

Returns an object that contains serialized items of data corresponding to the list of indexes specified.

Reimplemented from QAbstractItemModel.

Definition at line 446 of file qgsbrowsermodel.cpp.

◆ mimeTypes()

QStringList QgsBrowserModel::mimeTypes ( ) const
overridevirtual

Returns a list of mime that can describe model indexes.

Reimplemented from QAbstractItemModel.

Definition at line 437 of file qgsbrowsermodel.cpp.

◆ parent()

QModelIndex QgsBrowserModel::parent ( const QModelIndex index) const
overridevirtual

Returns the parent of the model item with the given index.

If the item has no parent, an invalid QModelIndex is returned.

Definition at line 349 of file qgsbrowsermodel.cpp.

◆ refresh() [1/2]

void QgsBrowserModel::refresh ( const QString path)

Refresh item specified by path.

Definition at line 516 of file qgsbrowsermodel.cpp.

◆ refresh() [2/2]

void QgsBrowserModel::refresh ( const QModelIndex index = QModelIndex())

Refresh item children.

Definition at line 523 of file qgsbrowsermodel.cpp.

◆ reload

void QgsBrowserModel::reload ( )
slot

Reload the whole model.

Definition at line 329 of file qgsbrowsermodel.cpp.

◆ removeFavourite

void QgsBrowserModel::removeFavourite ( const QModelIndex index)
slot

Definition at line 540 of file qgsbrowsermodel.cpp.

◆ removeRootItems()

void QgsBrowserModel::removeRootItems ( )
protected

Definition at line 170 of file qgsbrowsermodel.cpp.

◆ rowCount()

int QgsBrowserModel::rowCount ( const QModelIndex parent = QModelIndex()) const
overridevirtual

Provides the number of rows of data exposed by the model.

Definition at line 251 of file qgsbrowsermodel.cpp.

◆ stateChanged

void QgsBrowserModel::stateChanged ( const QModelIndex index,
QgsDataItem::State  oldState 
)
signal

Emitted when item children fetch was finished.

◆ updateProjectHome

void QgsBrowserModel::updateProjectHome ( )
slot

Definition at line 65 of file qgsbrowsermodel.cpp.

Member Data Documentation

◆ mFavourites

QgsFavouritesItem* QgsBrowserModel::mFavourites
protected

Definition at line 171 of file qgsbrowsermodel.h.

◆ mProjectHome

QgsDirectoryItem* QgsBrowserModel::mProjectHome
protected

Definition at line 172 of file qgsbrowsermodel.h.

◆ mRootItems

QVector<QgsDataItem*> QgsBrowserModel::mRootItems
protected

Definition at line 170 of file qgsbrowsermodel.h.


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