25#include <QFutureWatcher>
58 if ( qobject_cast<QgsLayerItem *>( sipCpp ) )
59 sipType = sipType_QgsLayerItem;
60 else if ( qobject_cast<QgsErrorItem *>( sipCpp ) )
61 sipType = sipType_QgsErrorItem;
62 else if ( qobject_cast<QgsDirectoryItem *>( sipCpp ) )
63 sipType = sipType_QgsDirectoryItem;
64 else if ( qobject_cast<QgsFavoritesItem *>( sipCpp ) )
65 sipType = sipType_QgsFavoritesItem;
66 else if ( qobject_cast<QgsZipItem *>( sipCpp ) )
67 sipType = sipType_QgsZipItem;
68 else if ( qobject_cast<QgsDataCollectionItem *>( sipCpp ) )
69 sipType = sipType_QgsDataCollectionItem;
70 else if ( qobject_cast<QgsProjectItem *>( sipCpp ) )
71 sipType = sipType_QgsProjectItem;
97 SIP_PYOBJECT __repr__();
99 QString str = QStringLiteral(
"<QgsDataItem: \"%1\" %2>" ).arg( sipCpp->name(), sipCpp->path() );
100 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
111 virtual bool layerCollection()
const;
122 PyObject *sipResObj = sipCallMethod( 0, sipMethod,
"" );
125 sipIsErr = !sipResObj || sipParseResult( 0, sipMethod, sipResObj,
"H5", sipType_QVector_0101QgsDataItem, &sipRes ) < 0;
130 PyObject *pyItem = sipGetPyObject( item, sipType_QgsDataItem );
131 if ( pyItem != NULL )
134 sipTransferTo( pyItem, Py_None );
138 if ( sipResObj != NULL )
140 Py_DECREF( sipResObj );
166 virtual void deleteChildItem(
QgsDataItem *child );
196 virtual QList<QAction *> actions( QWidget *parent );
205 virtual QList<QMenu *> menus( QWidget *parent );
218#pragma clang diagnostic push
219#pragma clang diagnostic ignored "-Woverloaded-virtual"
232#pragma clang diagnostic pop
240 virtual bool handleDoubleClick();
288 Q_DECL_DEPRECATED virtual
bool rename( const QString &name )
SIP_DEPRECATED;
297 virtual
Qgis::BrowserItemCapabilities capabilities2()
const {
return mCapabilities; }
309 Q_DECL_DEPRECATED
void setCapabilities(
int capabilities )
SIP_DEPRECATED;
314 static int findItem( QVector<QgsDataItem *> items,
QgsDataItem *item );
327 result.reserve( items.size() );
330 if ( T *matchedItem = qobject_cast< T * >( item ) )
331 result << matchedItem;
352 QVector<QgsDataItem *>
children()
const {
return mChildren; }
353 virtual QIcon icon();
360 QString
name()
const {
return mName; }
367 void setName(
const QString &name );
369 QString
path()
const {
return mPath; }
370 void setPath(
const QString &path ) { mPath = path; }
380 QString providerKey()
const;
390 void setProviderKey(
const QString &value );
393 static QString pathComponent(
const QString &component );
404 virtual QVariant sortKey()
const;
410 void setSortKey(
const QVariant &key );
416 void setIcon(
const QIcon &icon ) { mIcon = icon; }
417 void setIconName(
const QString &iconName ) { mIconName = iconName; }
423 static void deleteLater( QVector<QgsDataItem *> &items );
426 void moveToThread( QThread *targetThread );
440 virtual
void populate( const QVector<
QgsDataItem *> &children );
445 virtual
void refresh( const QVector<
QgsDataItem *> &children );
455 bool deferredDelete() {
return mDeferredDelete; }
488 virtual void deleteLater();
492 virtual void populate(
bool foreground =
false );
495 virtual void depopulate();
497 virtual void refresh();
505 virtual void refreshConnections(
const QString &providerKey = QString() );
507 virtual void childrenCreated();
583 static QVector<QgsDataItem *> runCreateChildren(
QgsDataItem *item );
586 bool mDeferredDelete =
false;
587 QFutureWatcher< QVector <QgsDataItem *> > *mFutureWatcher =
nullptr;
604 SIP_PYOBJECT __repr__();
606 QString str = QStringLiteral(
"<QgsErrorItem: \"%1\" %2>" ).arg( sipCpp->name(), sipCpp->path() );
607 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
The Qgis class provides global constants for use throughout the application.
BrowserItemState
Browser item states.
@ NotPopulated
Children not yet created.
@ NoCapabilities
Item has no capabilities.
BrowserItemType
Browser item types.
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
The QgsAbstractDatabaseProviderConnection class provides common functionality for DB based connection...
Animated icon is keeping an animation running if there are listeners connected to frameChanged.
This class represents a coordinate reference system (CRS).
Base class for all items in the model.
void stateChanged(QgsDataItem *item, Qgis::BrowserItemState oldState)
Emitted when an item's state is changed.
Qgis::BrowserItemType mType
QVector< QgsDataItem * > mChildren
void setToolTip(const QString &msg)
virtual Q_DECL_DEPRECATED bool handleDrop(const QMimeData *, Qt::DropAction)
Attempts to process the mime data dropped on this item.
void dataChanged(QgsDataItem *item)
Emitted when data changes for an item.
void endRemoveItems()
Emitted after child items have been removed from this data item.
QVector< QgsDataItem * > children() const
void beginRemoveItems(QgsDataItem *parent, int first, int last)
Emitted before child items are removed from this data item.
virtual Q_DECL_DEPRECATED bool acceptDrop()
Returns whether the item accepts drag and dropped layers - e.g.
Qgis::BrowserItemType type() const
QMap< QString, QIcon > mIconMap
virtual bool hasDragEnabled() const
Returns true if the item may be dragged.
QVariant mSortKey
Custom sort key. If invalid, name() will be used for sorting instead.
void connectionsChanged(const QString &providerKey=QString())
Emitted when the connections of the provider with the specified providerKey have changed.
QString name() const
Returns the name of the item (the displayed text for the item).
void beginInsertItems(QgsDataItem *parent, int first, int last)
Emitted before child items are added to this data item.
virtual void setCapabilities(Qgis::BrowserItemCapabilities capabilities)
Sets the capabilities for the data item.
QgsDataItem * parent() const
Gets item parent.
virtual Q_DECL_DEPRECATED QWidget * paramWidget()
Returns source widget from data item for QgsBrowserPropertiesWidget.
void setIcon(const QIcon &icon)
void setIconName(const QString &iconName)
void setPath(const QString &path)
void endInsertItems()
Emitted after child items have been added to this data item.
static QList< T * > filteredItems(const QList< QgsDataItem * > &items)
Returns a filtered list of data items which match the template type.
Data item that can be used to report problems (e.g.
Contains utility functions for working with MIME data.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
#define SIP_VIRTUAL_CATCHER_CODE(code)
QgsDataItem * dataItem_t(QString, QgsDataItem *)
const QgsCoordinateReferenceSystem & crs