QGIS API Documentation 3.41.0-Master (45a0abf3bec)
|
A directory: contains subdirectories and layers. More...
#include <qgsdirectoryitem.h>
Public Slots | |
void | childrenCreated () override |
void | directoryChanged () |
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. | |
Public Member Functions | |
QgsDirectoryItem (QgsDataItem *parent, const QString &name, const QString &dirPath, const QString &path, const QString &providerKey=QString()) | |
Constructor for QgsDirectoryItem, with the specified parent item. | |
QgsDirectoryItem (QgsDataItem *parent, const QString &name, const QString &path) | |
Constructor for QgsDirectoryItem, with the specified parent item. | |
QVector< QgsDataItem * > | createChildren () override |
Create children. | |
QString | dirPath () const |
Returns the full path to the directory the item represents. | |
bool | equal (const QgsDataItem *other) override |
Returns true if this item is equal to another item (by testing item type and path). | |
bool | hasDragEnabled () const override |
Returns true if the item may be dragged. | |
QIcon | icon () override |
QColor | iconColor () const |
Returns the directory's icon color. | |
bool | isMonitored () const |
Returns true if the directory is currently being monitored for changes and the item auto-refreshed when these occur. | |
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. | |
Qgis::BrowserDirectoryMonitoring | monitoring () const |
Returns the monitoring setting for this directory item. | |
Q_DECL_DEPRECATED QWidget * | paramWidget () override |
Returns source widget from data item for QgsBrowserPropertiesWidget. | |
void | reevaluateMonitoring () |
Re-evaluate whether the directory item should be monitored for changes. | |
void | setIconColor (const QColor &color) |
Sets the directory's icon color. | |
void | setMonitoring (Qgis::BrowserDirectoryMonitoring monitoring) |
Sets the monitoring setting for this directory. | |
void | setState (Qgis::BrowserItemState state) override |
Set item state. | |
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) |
QgsAbstractDatabaseProviderConnection * | databaseConnection () const override |
For data items that represent a DB connection or one of its children, this method returns a connection. | |
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 | 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 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). | |
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. | |
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 |
Static Public Member Functions | |
static bool | hiddenPath (const QString &path) |
Check if the given path is hidden from the browser model. | |
static Qgis::BrowserDirectoryMonitoring | monitoringForPath (const QString &path) |
Returns the monitoring setting for a directory path. | |
static bool | pathShouldByMonitoredByDefault (const QString &path) |
Returns true if a directory path should be monitored by default. | |
static void | setCustomColor (const QString &directory, const QColor &color) |
Sets a custom icon color to use for the items for the corresponding directory path. | |
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 Attributes | |
QString | mDirPath |
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 |
Friends | |
class | TestQgsDataItem |
Additional Inherited Members | |
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. | |
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. | |
A directory: contains subdirectories and layers.
Definition at line 33 of file qgsdirectoryitem.h.
QgsDirectoryItem::QgsDirectoryItem | ( | QgsDataItem * | parent, |
const QString & | name, | ||
const QString & | path | ||
) |
Constructor for QgsDirectoryItem, with the specified parent item.
The name argument specifies the text to show in the model for the item. This is usually the directory name, but in certain cases may differ for special directories (e.g. "Home"). If a non-directory-name text is used, it should be a translated string when appropriate.
The path argument specifies the directory path in the file system (e.g. "/home/gsherman/stuff"). A valid directory path must be specified.
Definition at line 39 of file qgsdirectoryitem.cpp.
QgsDirectoryItem::QgsDirectoryItem | ( | QgsDataItem * | parent, |
const QString & | name, | ||
const QString & | dirPath, | ||
const QString & | path, | ||
const QString & | providerKey = QString() |
||
) |
Constructor for QgsDirectoryItem, with the specified parent item.
The name argument specifies the text to show in the model for the item. This is usually the directory name, but in certain cases may differ for special directories (e.g. "Home"). If a non-directory-name text is used, it should be a translated string when appropriate.
The dirPath argument specifies the directory path in the file system (e.g. "/home/gsherman/stuff"). A valid directory path must be specified.
The path argument gives the item path in the browser tree. The path string can take any form, but is usually the same as dirPath or dirPath with a prefix, e.g. "favorites:/home/gsherman/Downloads"). QgsDirectoryItem items pointing to different dirPaths should always use a different item path.
The optional providerKey string can be used to specify the key for the QgsDataItemProvider that created this item.
Definition at line 46 of file qgsdirectoryitem.cpp.
|
overrideslot |
Definition at line 468 of file qgsdirectoryitem.cpp.
|
overridevirtual |
Create children.
Children are not expected to have parent set.
Reimplemented from QgsDataItem.
Definition at line 256 of file qgsdirectoryitem.cpp.
|
slot |
Definition at line 386 of file qgsdirectoryitem.cpp.
|
inline |
Returns the full path to the directory the item represents.
Definition at line 86 of file qgsdirectoryitem.h.
|
overridevirtual |
Returns true
if this item is equal to another item (by testing item type and path).
Reimplemented from QgsDataItem.
Definition at line 488 of file qgsdirectoryitem.cpp.
|
inlineoverridevirtual |
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 124 of file qgsdirectoryitem.h.
|
static |
Check if the given path is hidden from the browser model.
Definition at line 414 of file qgsdirectoryitem.cpp.
|
overridevirtual |
Reimplemented from QgsDataItem.
Reimplemented in QgsProjectHomeItem.
Definition at line 162 of file qgsdirectoryitem.cpp.
QColor QgsDirectoryItem::iconColor | ( | ) | const |
Returns the directory's icon color.
An invalid color will be returned if the default icon color is used.
Definition at line 135 of file qgsdirectoryitem.cpp.
|
inline |
Returns true
if the directory is currently being monitored for changes and the item auto-refreshed when these occur.
Definition at line 169 of file qgsdirectoryitem.h.
|
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 507 of file qgsdirectoryitem.cpp.
Qgis::BrowserDirectoryMonitoring QgsDirectoryItem::monitoring | ( | ) | const |
Returns the monitoring setting for this directory item.
Definition at line 187 of file qgsdirectoryitem.cpp.
|
static |
Returns the monitoring setting for a directory path.
This method returns the monitoring setting for path only. If no explicit monitoring setting is in place for the path then Qgis::BrowserDirectoryMonitoring::Default is returned.
This method does not consider the monitoring setting of parent directories.
Definition at line 423 of file qgsdirectoryitem.cpp.
|
overridevirtual |
Returns source widget from data item for QgsBrowserPropertiesWidget.
Use QgsDataItemGuiProvider::createParamWidget() instead
Reimplemented from QgsDataItem.
Definition at line 502 of file qgsdirectoryitem.cpp.
|
static |
Returns true
if a directory path should be monitored by default.
In the absence of any other settings this will dictate whether the directory is monitored. This method does not consider an explicit monitoring setting set for the path, which can be determined by calling monitoringForPath().
All parent directories will be checked to determine whether they have monitoring manually enabled or disabled. As soon as a parent directory is found which has monitoring manually enabled or disabled then the corresponding value will be returned.
If no explicit setting is in place for a parent directory, then a check will be made to determine whether the path resides on a known slow drive. If so, monitoring is disabled by default and false
will be returned. Otherwise paths are monitored by default and the function will return true
.
Definition at line 433 of file qgsdirectoryitem.cpp.
void QgsDirectoryItem::reevaluateMonitoring | ( | ) |
Re-evaluate whether the directory item should be monitored for changes.
Should be called whenever the parent directory item's monitoring is overridden.
Definition at line 94 of file qgsdirectoryitem.cpp.
|
static |
Sets a custom icon color to use for the items for the corresponding directory path.
If color is an invalid color then the default icon color will be used.
Definition at line 149 of file qgsdirectoryitem.cpp.
void QgsDirectoryItem::setIconColor | ( | const QColor & | color | ) |
Sets the directory's icon color.
Setting an invalid color will cause the default icon color to be used.
This is a transient property, and will not permanently alter the directory's colors in future QGIS sessions. Use setCustomColor() to permanently set the directory's color.
Definition at line 140 of file qgsdirectoryitem.cpp.
void QgsDirectoryItem::setMonitoring | ( | Qgis::BrowserDirectoryMonitoring | monitoring | ) |
Sets the monitoring setting for this directory.
This is a persistent setting, which is saved in QSettings.
Definition at line 192 of file qgsdirectoryitem.cpp.
|
overridevirtual |
Set item state.
It also take care about starting/stopping loading icon animation.
state |
Reimplemented from QgsDataItem.
Definition at line 362 of file qgsdirectoryitem.cpp.
|
friend |
Definition at line 222 of file qgsdirectoryitem.h.
|
protected |
Definition at line 204 of file qgsdirectoryitem.h.