QGIS API Documentation 3.30.0-'s-Hertogenbosch (f186b8efe0)
Public Member Functions | List of all members
QgsDataItemProvider Class Referenceabstract

This is the interface for those who want to add custom data items to the browser tree. More...

#include <qgsdataitemprovider.h>

Inheritance diagram for QgsDataItemProvider:
Inheritance graph
[legend]

Public Member Functions

virtual ~QgsDataItemProvider ()=default
 
virtual int capabilities () const =0
 Returns combination of flags from QgsDataProvider::DataCapabilities. More...
 
virtual QgsDataItemcreateDataItem (const QString &path, QgsDataItem *parentItem)=0
 Create a new instance of QgsDataItem (or nullptr) for given path and parent item. More...
 
virtual QVector< QgsDataItem * > createDataItems (const QString &path, QgsDataItem *parentItem)
 Create a vector of instances of QgsDataItem (or nullptr) for given path and parent item. More...
 
virtual QString dataProviderKey () const
 Returns the data provider key (if the data item provider is associated with a data provider), the default implementation returns an empty string. More...
 
virtual bool handlesDirectoryPath (const QString &path)
 Returns true if the provider will handle the directory at the specified path. More...
 
virtual QString name ()=0
 Human-readable name of the provider name. More...
 

Detailed Description

This is the interface for those who want to add custom data items to the browser tree.

The method createDataItem() is ever called only if capabilities() return non-zero value. There are two occasions when createDataItem() is called:

to create root items (passed path is empty, parent item is \c nullptr).

to create items in directory structure. For this capabilities have to return at least

of the following: QgsDataProvider::Dir or QgsDataProvider::File. Passed path is the file or directory being inspected, parent item is a valid QgsDirectoryItem

Since
QGIS 2.10

Definition at line 44 of file qgsdataitemprovider.h.

Constructor & Destructor Documentation

◆ ~QgsDataItemProvider()

virtual QgsDataItemProvider::~QgsDataItemProvider ( )
virtualdefault

Member Function Documentation

◆ capabilities()

virtual int QgsDataItemProvider::capabilities ( ) const
pure virtual

Returns combination of flags from QgsDataProvider::DataCapabilities.

Implemented in QgsFileBasedDataItemProvider.

◆ createDataItem()

virtual QgsDataItem * QgsDataItemProvider::createDataItem ( const QString &  path,
QgsDataItem parentItem 
)
pure virtual

Create a new instance of QgsDataItem (or nullptr) for given path and parent item.

Caller takes responsibility of deleting created items.

Implemented in QgsFileBasedDataItemProvider.

◆ createDataItems()

QVector< QgsDataItem * > QgsDataItemProvider::createDataItems ( const QString &  path,
QgsDataItem parentItem 
)
virtual

Create a vector of instances of QgsDataItem (or nullptr) for given path and parent item.

Caller takes responsibility of deleting created items.

Definition at line 20 of file qgsdataitemprovider.cpp.

◆ dataProviderKey()

virtual QString QgsDataItemProvider::dataProviderKey ( ) const
inlinevirtual

Returns the data provider key (if the data item provider is associated with a data provider), the default implementation returns an empty string.

Since
QGIS 3.14

Definition at line 58 of file qgsdataitemprovider.h.

◆ handlesDirectoryPath()

bool QgsDataItemProvider::handlesDirectoryPath ( const QString &  path)
virtual

Returns true if the provider will handle the directory at the specified path.

If the provider indicates that it will handle the directory, the default creation and population of directory items for the path will be avoided and it is left to the provider to correctly populate relevant entries for the path.

The default implementation returns false for all paths.

Since
QGIS 3.0

Reimplemented in QgsFileBasedDataItemProvider.

Definition at line 27 of file qgsdataitemprovider.cpp.

◆ name()

virtual QString QgsDataItemProvider::name ( )
pure virtual

Human-readable name of the provider name.

Implemented in QgsFileBasedDataItemProvider.


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