QGIS API Documentation 3.36.0-Maidenhead (09951dc0acf)
Loading...
Searching...
No Matches
Public Member Functions | List of all members
QgsFileDataCollectionItem Class Referencefinal

A data collection item for file based data collections (e.g. More...

#include <qgsfilebaseddataitemprovider.h>

Inheritance diagram for QgsFileDataCollectionItem:
Inheritance graph
[legend]

Public Member Functions

 QgsFileDataCollectionItem (QgsDataItem *parent, const QString &name, const QString &path, const QList< QgsProviderSublayerDetails > &sublayers)
 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.
 
QgsAbstractDatabaseProviderConnectiondatabaseConnection () 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< QgsProviderSublayerDetailssublayers () 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.
 
QgsDataItemparent () const
 Gets item parent.
 
QString path () const
 
QString providerKey () const
 Returns the provider key that created this item (e.g.
 
virtual QgsDataItemremoveChildItem (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)
 
void beginRemoveItems (QgsDataItem *parent, int first, int last)
 
void connectionsChanged (const QString &providerKey=QString())
 Emitted when the connections of the provider with the specified providerKey have changed.
 
void dataChanged (QgsDataItem *item)
 
void endInsertItems ()
 
void endRemoveItems ()
 
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)
 
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
 
QgsDataItemmParent = 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
 

Detailed Description

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.

Since
QGIS 3.22

Definition at line 119 of file qgsfilebaseddataitemprovider.h.

Constructor & Destructor Documentation

◆ QgsFileDataCollectionItem()

QgsFileDataCollectionItem::QgsFileDataCollectionItem ( QgsDataItem parent,
const QString &  name,
const QString &  path,
const QList< QgsProviderSublayerDetails > &  sublayers 
)

Constructor for QgsFileDataCollectionItem.

Parameters
parentparent item
namedata item name (this should usually match the filename of the dataset)
pathpath to dataset
sublayerslist 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.

Definition at line 216 of file qgsfilebaseddataitemprovider.cpp.

Member Function Documentation

◆ canAddVectorLayers()

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.

Since
QGIS 3.32

Definition at line 354 of file qgsfilebaseddataitemprovider.cpp.

◆ createChildren()

QVector< QgsDataItem * > QgsFileDataCollectionItem::createChildren ( )
overridevirtual

Create children.

Children are not expected to have parent set.

Warning
This method MUST BE THREAD SAFE.

Reimplemented from QgsDataItem.

Definition at line 231 of file qgsfilebaseddataitemprovider.cpp.

◆ databaseConnection()

QgsAbstractDatabaseProviderConnection * QgsFileDataCollectionItem::databaseConnection ( ) const
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.

Since
QGIS 3.16

Reimplemented from QgsDataCollectionItem.

Definition at line 419 of file qgsfilebaseddataitemprovider.cpp.

◆ databaseConnectionCapabilities()

QgsAbstractDatabaseProviderConnection::Capabilities QgsFileDataCollectionItem::databaseConnectionCapabilities ( ) const

Returns the associated connection capabilities, if a databaseConnection() is available.

See also
databaseConnectionCapabilities2()
Since
QGIS 3.32

Definition at line 479 of file qgsfilebaseddataitemprovider.cpp.

◆ databaseConnectionCapabilities2()

Qgis::DatabaseProviderConnectionCapabilities2 QgsFileDataCollectionItem::databaseConnectionCapabilities2 ( ) const

Returns extended connection capabilities, if a databaseConnection() is available.

See also
databaseConnectionCapabilities()
Since
QGIS 3.32

Definition at line 494 of file qgsfilebaseddataitemprovider.cpp.

◆ hasDragEnabled()

bool QgsFileDataCollectionItem::hasDragEnabled ( ) const
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.

See also
mimeUris()

Reimplemented from QgsDataItem.

Definition at line 349 of file qgsfilebaseddataitemprovider.cpp.

◆ mimeUris()

QgsMimeDataUtils::UriList QgsFileDataCollectionItem::mimeUris ( ) const
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.

Since
QGIS 3.18

Reimplemented from QgsDataItem.

Definition at line 410 of file qgsfilebaseddataitemprovider.cpp.

◆ sublayers()

QList< QgsProviderSublayerDetails > QgsFileDataCollectionItem::sublayers ( ) const

Returns the sublayers.

Since
QGIS 3.38

Definition at line 509 of file qgsfilebaseddataitemprovider.cpp.


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