QGIS API Documentation 3.41.0-Master (cea29feecf2)
|
A data collection item for file based data collections (e.g. More...
#include <qgsfilebaseddataitemprovider.h>
Public Member Functions | |
QgsFileDataCollectionItem (QgsDataItem *parent, const QString &name, const QString &path, const QList< QgsProviderSublayerDetails > &sublayers, const QVariantMap &extraUriParts=QVariantMap()) | |
Constructor for QgsFileDataCollectionItem. | |
bool | canAddVectorLayers () const |
Returns true if the file is likely to support addition of vector layers. | |
QVector< QgsDataItem * > | createChildren () override |
Create children. | |
QgsAbstractDatabaseProviderConnection * | databaseConnection () const override |
For data items that represent a DB connection or one of its children, this method returns a connection. | |
QgsAbstractDatabaseProviderConnection::Capabilities | databaseConnectionCapabilities () const |
Returns the associated connection capabilities, if a databaseConnection() is available. | |
Qgis::DatabaseProviderConnectionCapabilities2 | databaseConnectionCapabilities2 () const |
Returns extended connection capabilities, if a databaseConnection() is available. | |
bool | hasDragEnabled () const override |
Returns true if the item may be dragged. | |
QgsMimeDataUtils::UriList | mimeUris () const override |
Returns mime URIs for the data item, most data providers will only return a single URI but some data collection items (e.g. | |
QList< QgsProviderSublayerDetails > | sublayers () const |
Returns the sublayers. | |
Public Member Functions inherited from QgsDataCollectionItem | |
QgsDataCollectionItem (QgsDataItem *parent, const QString &name, const QString &path=QString(), const QString &providerKey=QString()) | |
Constructor for QgsDataCollectionItem, with the specified parent item. | |
~QgsDataCollectionItem () override | |
void | addChild (QgsDataItem *item) |
Public Member Functions inherited from QgsDataItem | |
QgsDataItem (Qgis::BrowserItemType type, QgsDataItem *parent, const QString &name, const QString &path, const QString &providerKey=QString()) | |
Constructor for QgsDataItem, with the specified parent item. | |
~QgsDataItem () override | |
virtual Q_DECL_DEPRECATED bool | acceptDrop () |
Returns whether the item accepts drag and dropped layers - e.g. | |
virtual QList< QAction * > | actions (QWidget *parent) |
Returns the list of actions available for this item. | |
virtual void | addChildItem (QgsDataItem *child, bool refresh=false) |
Inserts a new child item. | |
virtual Qgis::BrowserItemCapabilities | capabilities2 () const |
Returns the capabilities for the data item. | |
QVector< QgsDataItem * > | children () const |
virtual void | deleteChildItem (QgsDataItem *child) |
Removes and deletes a child item, emitting relevant signals to the model. | |
virtual bool | equal (const QgsDataItem *other) |
Returns true if this item is equal to another item (by testing item type and path). | |
virtual bool | handleDoubleClick () |
Called when a user double clicks on the item. | |
virtual Q_DECL_DEPRECATED bool | handleDrop (const QMimeData *, Qt::DropAction) |
Attempts to process the mime data dropped on this item. | |
bool | hasChildren () |
virtual QIcon | icon () |
virtual bool | layerCollection () const |
Returns true if the data item is a collection of layers The default implementation returns false , subclasses must implement this method if their children are layers. | |
virtual QList< QMenu * > | menus (QWidget *parent) |
Returns the list of menus available for this item. | |
virtual Q_DECL_DEPRECATED QgsMimeDataUtils::Uri | mimeUri () const |
Returns mime URI for the data item. | |
void | moveToThread (QThread *targetThread) |
Move object and all its descendants to thread. | |
QString | name () const |
Returns the name of the item (the displayed text for the item). | |
virtual Q_DECL_DEPRECATED QWidget * | paramWidget () |
Returns source widget from data item for QgsBrowserPropertiesWidget. | |
QgsDataItem * | parent () const |
Gets item parent. | |
QString | path () const |
QString | providerKey () const |
Returns the provider key that created this item (e.g. | |
virtual QgsDataItem * | removeChildItem (QgsDataItem *child) |
Removes a child item and returns it without deleting it. | |
virtual Q_DECL_DEPRECATED bool | rename (const QString &name) |
Sets a new name for the item, and returns true if the item was successfully renamed. | |
int | rowCount () |
Q_DECL_DEPRECATED void | setCapabilities (int capabilities) |
virtual void | setCapabilities (Qgis::BrowserItemCapabilities capabilities) |
Sets the capabilities for the data item. | |
virtual Q_DECL_DEPRECATED bool | setCrs (const QgsCoordinateReferenceSystem &crs) |
Writes the selected crs into data source. | |
void | setIcon (const QIcon &icon) |
void | setIconName (const QString &iconName) |
void | setName (const QString &name) |
Sets the name of the item (the displayed text for the item). | |
void | setParent (QgsDataItem *parent) |
Set item parent and connect / disconnect parent to / from item signals. | |
void | setPath (const QString &path) |
void | setProviderKey (const QString &value) |
Sets the provider key that created this item (e.g. | |
void | setSortKey (const QVariant &key) |
Sets a custom sorting key for the item. | |
virtual void | setState (Qgis::BrowserItemState state) |
Set item state. | |
void | setToolTip (const QString &msg) |
virtual QVariant | sortKey () const |
Returns the sorting key for the item. | |
Qgis::BrowserItemState | state () const |
QString | toolTip () const |
Qgis::BrowserItemType | type () const |
Additional Inherited Members | |
Public Slots inherited from QgsDataItem | |
virtual void | childrenCreated () |
virtual void | deleteLater () |
Safely delete the item: | |
virtual void | depopulate () |
Remove children recursively and set as not populated. This is used when refreshing collapsed items. | |
virtual void | populate (bool foreground=false) |
virtual void | refresh () |
virtual void | refreshConnections (const QString &providerKey=QString()) |
Causes a data item provider to refresh all registered connections. | |
Signals inherited from QgsDataItem | |
void | beginInsertItems (QgsDataItem *parent, int first, int last) |
Emitted before child items are added to this data item. | |
void | beginRemoveItems (QgsDataItem *parent, int first, int last) |
Emitted before child items are removed from this data item. | |
void | connectionsChanged (const QString &providerKey=QString()) |
Emitted when the connections of the provider with the specified providerKey have changed. | |
void | dataChanged (QgsDataItem *item) |
Emitted when data changes for an item. | |
void | endInsertItems () |
Emitted after child items have been added to this data item. | |
void | endRemoveItems () |
Emitted after child items have been removed from this data item. | |
void | stateChanged (QgsDataItem *item, Qgis::BrowserItemState oldState) |
Emitted when an item's state is changed. | |
Static Public Member Functions inherited from QgsDataCollectionItem | |
static QIcon | iconDataCollection () |
Returns the standard browser data collection icon. | |
static QIcon | iconDir (const QColor &fillColor=QColor(), const QColor &strokeColor=QColor()) |
Returns the standard browser directory icon. | |
Static Public Member Functions inherited from QgsDataItem | |
static void | deleteLater (QVector< QgsDataItem * > &items) |
template<class T > | |
static QList< T * > | filteredItems (const QList< QgsDataItem * > &items) |
Returns a filtered list of data items which match the template type. | |
static int | findItem (QVector< QgsDataItem * > items, QgsDataItem *item) |
static QString | pathComponent (const QString &component) |
Create path component replacing path separators. | |
Protected Slots inherited from QgsDataItem | |
void | updateIcon () |
Will request a repaint of this icon. | |
Protected Member Functions inherited from QgsDataItem | |
bool | deferredDelete () |
The item is scheduled to be deleted. | |
virtual void | populate (const QVector< QgsDataItem * > &children) |
virtual void | refresh (const QVector< QgsDataItem * > &children) |
Refresh the items from a specified list of child items. | |
Static Protected Member Functions inherited from QgsDataCollectionItem | |
static QIcon | homeDirIcon (const QColor &fillColor=QColor(), const QColor &strokeColor=QColor()) |
Shared home directory icon. | |
static QIcon | openDirIcon (const QColor &fillColor=QColor(), const QColor &strokeColor=QColor()) |
Shared open directory icon. | |
Protected Attributes inherited from QgsDataItem | |
Qgis::BrowserItemCapabilities | mCapabilities = Qgis::BrowserItemCapability::NoCapabilities |
QVector< QgsDataItem * > | mChildren |
QIcon | mIcon |
QMap< QString, QIcon > | mIconMap |
QString | mIconName |
QString | mName |
QgsDataItem * | mParent = nullptr |
QString | mPath |
QString | mProviderKey |
QVariant | mSortKey |
Custom sort key. If invalid, name() will be used for sorting instead. | |
Qgis::BrowserItemState | mState = Qgis::BrowserItemState::NotPopulated |
QString | mToolTip |
Qgis::BrowserItemType | mType |
A data collection item for file based data collections (e.g.
NetCDF files).
This is a generic data collection item, which is created by a QgsFileBasedDataItemProvider for datasets which may potentially contain multiple sublayers.
Definition at line 119 of file qgsfilebaseddataitemprovider.h.
QgsFileDataCollectionItem::QgsFileDataCollectionItem | ( | QgsDataItem * | parent, |
const QString & | name, | ||
const QString & | path, | ||
const QList< QgsProviderSublayerDetails > & | sublayers, | ||
const QVariantMap & | extraUriParts = QVariantMap() |
||
) |
Constructor for QgsFileDataCollectionItem.
parent | parent item |
name | data item name (this should usually match the filename of the dataset) |
path | path to dataset |
sublayers | list of sublayers to initially populate the item with. If the sublayer details are incomplete (see QgsProviderUtils::sublayerDetailsAreIncomplete()) then the item will be populated in a background thread when expanded. |
extraUriParts | optional map of extra components to append to URIs generated for the path. The provider-specific encodeUri methods will be used to handle these URI additions. Since QGIS 3.40. |
Definition at line 217 of file qgsfilebaseddataitemprovider.cpp.
bool QgsFileDataCollectionItem::canAddVectorLayers | ( | ) | const |
Returns true
if the file is likely to support addition of vector layers.
This method is designed to be cheap to evaluate, so that it is safe to call within the main thread.
By default it relies solely on a basic check of the associated driver's theoretical capabilities, and does not actually open the dataset to determine whether the particular file definitely can support layer additions.
If a connection has previously been opened for this item, then the results will be updated to use the actual capabilities determined by that connection.
Definition at line 385 of file qgsfilebaseddataitemprovider.cpp.
|
overridevirtual |
Create children.
Children are not expected to have parent set.
Reimplemented from QgsDataItem.
Definition at line 233 of file qgsfilebaseddataitemprovider.cpp.
|
overridevirtual |
For data items that represent a DB connection or one of its children, this method returns a connection.
All other data items will return NULL.
Ownership of the returned objects is transferred to the caller.
Reimplemented from QgsDataCollectionItem.
Definition at line 450 of file qgsfilebaseddataitemprovider.cpp.
QgsAbstractDatabaseProviderConnection::Capabilities QgsFileDataCollectionItem::databaseConnectionCapabilities | ( | ) | const |
Returns the associated connection capabilities, if a databaseConnection() is available.
Definition at line 510 of file qgsfilebaseddataitemprovider.cpp.
Qgis::DatabaseProviderConnectionCapabilities2 QgsFileDataCollectionItem::databaseConnectionCapabilities2 | ( | ) | const |
Returns extended connection capabilities, if a databaseConnection() is available.
Definition at line 525 of file qgsfilebaseddataitemprovider.cpp.
|
overridevirtual |
Returns true
if the item may be dragged.
Default implementation returns false
. A draggable item has to implement mimeUris() that will be used to pass data.
Reimplemented from QgsDataItem.
Definition at line 380 of file qgsfilebaseddataitemprovider.cpp.
|
overridevirtual |
Returns mime URIs for the data item, most data providers will only return a single URI but some data collection items (e.g.
GPKG, OGR) may report multiple URIs (e.g. for vector and raster layer types).
Items that return valid URI will be returned in mime data when dragging a selection from browser model.
Reimplemented from QgsDataItem.
Definition at line 441 of file qgsfilebaseddataitemprovider.cpp.
QList< QgsProviderSublayerDetails > QgsFileDataCollectionItem::sublayers | ( | ) | const |
Returns the sublayers.
Definition at line 540 of file qgsfilebaseddataitemprovider.cpp.