QGIS API Documentation  2.5.0-Master
 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>

Inheritance diagram for QgsBrowserModel:
Inheritance graph
[legend]
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. More...
 
virtual QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const
 Used to supply item data to views and delegates. More...
 
virtual QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
 Provides views with information to show in their headers. More...
 
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const
 Provides the number of rows of data exposed by the model. More...
 
virtual int columnCount (const QModelIndex &parent=QModelIndex()) const
 Provides the number of columns of data exposed by the model. More...
 
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. More...
 
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. More...
 
virtual QStringList mimeTypes () const
 Returns a list of mime that can describe model indexes. More...
 
virtual QMimeData * mimeData (const QModelIndexList &indexes) const
 Returns an object that contains serialized items of data corresponding to the list of indexes specified. More...
 
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. More...
 
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 More...
 
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 478 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 374 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 389 of file qgsbrowsermodel.cpp.

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

Referenced by connectItem().

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

Definition at line 462 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 439 of file qgsbrowsermodel.cpp.

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

void QgsBrowserModel::endInsertItems ( )
slot

Definition at line 384 of file qgsbrowsermodel.cpp.

References QgsDebugMsg.

Referenced by connectItem().

void QgsBrowserModel::endRemoveItems ( )
slot

Definition at line 397 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 346 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 329 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 423 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 414 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 337 of file qgsbrowsermodel.cpp.

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

void QgsBrowserModel::refresh ( QString  path)

Definition at line 318 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: