QGIS API Documentation  2.2.0-Valmiera
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Slots | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsBrowserModel Class Reference

#include <qgsbrowsermodel.h>

Collaboration diagram for QgsBrowserModel:
Collaboration graph
[legend]

Public Slots

void reload ()
void beginInsertItems (QgsDataItem *parent, int first, int last)
void endInsertItems ()
void beginRemoveItems (QgsDataItem *parent, int first, int last)
void endRemoveItems ()
void addFavouriteDirectory (QString favDir)
void removeFavourite (const QModelIndex &index)
void updateProjectHome ()

Public Member Functions

 QgsBrowserModel (QObject *parent=0)
 ~QgsBrowserModel ()
virtual Qt::ItemFlags flags (const QModelIndex &index) const
 Used by other components to obtain information about each item provided by the model.
virtual QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const
 Used to supply item data to views and delegates.
virtual QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
 Provides views with information to show in their headers.
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const
 Provides the number of rows of data exposed by the model.
virtual int columnCount (const QModelIndex &parent=QModelIndex()) const
 Provides the number of columns of data exposed by the model.
virtual QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const
 Returns the index of the item in the model specified by the given row, column and parent index.
QModelIndex findItem (QgsDataItem *item, QgsDataItem *parent=0) const
virtual QModelIndex parent (const QModelIndex &index) const
 Returns the parent of the model item with the given index.
virtual QStringList mimeTypes () const
 Returns a list of mime that can describe model indexes.
virtual QMimeData * mimeData (const QModelIndexList &indexes) const
 Returns an object that contains serialized items of data corresponding to the list of indexes specified.
virtual bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
 Handles the data supplied by a drag and drop operation that ended with the given action.
QgsDataItemdataItem (const QModelIndex &idx) const
bool hasChildren (const QModelIndex &parent=QModelIndex()) const
void refresh (QString path)
void refresh (const QModelIndex &index=QModelIndex())
QModelIndex findPath (QString path)
 return index of a path
void connectItem (QgsDataItem *item)
bool canFetchMore (const QModelIndex &parent) const
void fetchMore (const QModelIndex &parent)

Protected Member Functions

void addRootItems ()
void removeRootItems ()

Protected Attributes

QVector< QgsDataItem * > mRootItems
QgsFavouritesItemmFavourites
QgsDirectoryItemmProjectHome

Detailed Description

Definition at line 24 of file qgsbrowsermodel.h.

Constructor & Destructor Documentation

QgsBrowserModel::QgsBrowserModel ( QObject *  parent = 0)
explicit

Definition at line 37 of file qgsbrowsermodel.cpp.

References addRootItems(), QgsProject::instance(), and updateProjectHome().

QgsBrowserModel::~QgsBrowserModel ( )

Definition at line 47 of file qgsbrowsermodel.cpp.

References removeRootItems().

Member Function Documentation

void QgsBrowserModel::addFavouriteDirectory ( QString  favDir)
slot

Definition at line 477 of file qgsbrowsermodel.cpp.

References QgsFavouritesItem::addDirectory(), and mFavourites.

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

Definition at line 373 of file qgsbrowsermodel.cpp.

References findItem(), QgsDataItem::path(), and QgsDebugMsg.

Referenced by connectItem().

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

Definition at line 388 of file qgsbrowsermodel.cpp.

References findItem(), QgsDataItem::path(), and QgsDebugMsg.

Referenced by connectItem().

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

Definition at line 461 of file qgsbrowsermodel.cpp.

References dataItem(), and QgsDataItem::isPopulated().

int QgsBrowserModel::columnCount ( const QModelIndex &  parent = QModelIndex()) const
virtual

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 268 of file qgsbrowsermodel.cpp.

void QgsBrowserModel::connectItem ( QgsDataItem item)
QVariant QgsBrowserModel::data ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
) const
virtual

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 202 of file qgsbrowsermodel.cpp.

References dataItem(), QgsDataItem::icon(), QgsDataItem::name(), and QgsDataItem::toolTip().

QgsDataItem * QgsBrowserModel::dataItem ( const QModelIndex &  idx) const
bool QgsBrowserModel::dropMimeData ( const QMimeData *  data,
Qt::DropAction  action,
int  row,
int  column,
const QModelIndex &  parent 
)
virtual

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

Definition at line 438 of file qgsbrowsermodel.cpp.

References dataItem(), QgsDataItem::handleDrop(), and QgsDebugMsg.

void QgsBrowserModel::endInsertItems ( )
slot

Definition at line 383 of file qgsbrowsermodel.cpp.

References QgsDebugMsg.

Referenced by connectItem().

void QgsBrowserModel::endRemoveItems ( )
slot

Definition at line 396 of file qgsbrowsermodel.cpp.

References QgsDebugMsg.

Referenced by connectItem().

void QgsBrowserModel::fetchMore ( const QModelIndex &  parent)
QModelIndex QgsBrowserModel::findItem ( QgsDataItem item,
QgsDataItem parent = 0 
) const

Definition at line 345 of file qgsbrowsermodel.cpp.

References QgsDataItem::children(), and mRootItems.

Referenced by beginInsertItems(), beginRemoveItems(), and parent().

QModelIndex QgsBrowserModel::findPath ( QString  path)

return index of a path

Definition at line 274 of file qgsbrowsermodel.cpp.

References dataItem(), index(), QgsDataItem::path(), QgsDebugMsg, and rowCount().

Referenced by refresh().

Qt::ItemFlags QgsBrowserModel::flags ( const QModelIndex &  index) const
virtual

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.

Definition at line 185 of file qgsbrowsermodel.cpp.

References QgsDataItem::acceptDrop(), QgsDataItem::Layer, and QgsDataItem::type().

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

Definition at line 259 of file qgsbrowsermodel.cpp.

References dataItem(), and QgsDataItem::hasChildren().

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

Provides views with information to show in their headers.

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

Definition at line 231 of file qgsbrowsermodel.cpp.

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

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

Definition at line 328 of file qgsbrowsermodel.cpp.

References QgsDataItem::children(), dataItem(), and mRootItems.

Referenced by findPath(), and mimeData().

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

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

Definition at line 422 of file qgsbrowsermodel.cpp.

References QgsMimeDataUtils::encodeUriList(), index(), QgsDataItem::Layer, and QgsDataItem::type().

QStringList QgsBrowserModel::mimeTypes ( ) const
virtual

Returns a list of mime that can describe model indexes.

Definition at line 413 of file qgsbrowsermodel.cpp.

QModelIndex QgsBrowserModel::parent ( const QModelIndex &  index) const
virtual

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 336 of file qgsbrowsermodel.cpp.

References dataItem(), findItem(), and QgsDataItem::parent().

void QgsBrowserModel::refresh ( QString  path)

Definition at line 317 of file qgsbrowsermodel.cpp.

References dataItem(), findPath(), and QgsDataItem::refresh().

void QgsBrowserModel::refresh ( const QModelIndex &  index = QModelIndex())
void QgsBrowserModel::reload ( )
slot

Definition at line 309 of file qgsbrowsermodel.cpp.

References addRootItems(), and removeRootItems().

void QgsBrowserModel::removeFavourite ( const QModelIndex &  index)
slot
void QgsBrowserModel::removeRootItems ( )
protected

Definition at line 174 of file qgsbrowsermodel.cpp.

References mRootItems.

Referenced by reload(), and ~QgsBrowserModel().

int QgsBrowserModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
virtual

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

Definition at line 242 of file qgsbrowsermodel.cpp.

References dataItem(), mRootItems, and QgsDataItem::rowCount().

Referenced by findPath().

void QgsBrowserModel::updateProjectHome ( )
slot

Member Data Documentation

QgsFavouritesItem* QgsBrowserModel::mFavourites
protected

Definition at line 111 of file qgsbrowsermodel.h.

Referenced by addFavouriteDirectory(), addRootItems(), and removeFavourite().

QgsDirectoryItem* QgsBrowserModel::mProjectHome
protected

Definition at line 112 of file qgsbrowsermodel.h.

Referenced by updateProjectHome().

QVector<QgsDataItem*> QgsBrowserModel::mRootItems
protected

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