21 #include "qgis_core.h"
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 );
168 virtual void deleteChildItem(
QgsDataItem *child );
198 virtual QList<QAction *> actions( QWidget *parent );
208 virtual QList<QMenu *> menus( QWidget *parent );
236 virtual bool handleDoubleClick();
286 Q_DECL_DEPRECATED
virtual bool rename(
const QString &name )
SIP_DEPRECATED;
295 virtual Qgis::BrowserItemCapabilities
capabilities2()
const {
return mCapabilities; }
302 virtual void setCapabilities( Qgis::BrowserItemCapabilities capabilities )
SIP_PYNAME( setCapabilitiesV2 ) { mCapabilities = capabilities; }
307 Q_DECL_DEPRECATED
void setCapabilities(
int capabilities )
SIP_DEPRECATED;
312 static int findItem( QVector<QgsDataItem *> items,
QgsDataItem *item );
329 QVector<QgsDataItem *>
children()
const {
return mChildren; }
330 virtual QIcon icon();
337 QString
name()
const {
return mName; }
344 void setName(
const QString &name );
346 QString
path()
const {
return mPath; }
347 void setPath(
const QString &path ) { mPath = path; }
357 QString providerKey()
const;
367 void setProviderKey(
const QString &value );
370 static QString pathComponent(
const QString &component );
382 virtual QVariant sortKey()
const;
389 void setSortKey(
const QVariant &key );
395 void setIcon(
const QIcon &icon ) { mIcon = icon; }
396 void setIconName(
const QString &iconName ) { mIconName = iconName; }
402 static void deleteLater( QVector<QgsDataItem *> &items );
405 void moveToThread( QThread *targetThread );
419 virtual
void populate( const QVector<
QgsDataItem *> &children );
424 virtual
void refresh( const QVector<
QgsDataItem *> &children );
434 bool deferredDelete() {
return mDeferredDelete; }
467 virtual void deleteLater();
471 virtual void populate(
bool foreground =
false );
474 virtual void depopulate();
476 virtual void refresh();
484 virtual void refreshConnections(
const QString &providerKey = QString() );
486 virtual void childrenCreated();
519 static QVector<QgsDataItem *> runCreateChildren(
QgsDataItem *item );
522 bool mDeferredDelete =
false;
523 QFutureWatcher< QVector <QgsDataItem *> > *mFutureWatcher =
nullptr;
540 SIP_PYOBJECT __repr__();
542 QString
str = QStringLiteral(
"<QgsErrorItem: \"%1\" %2>" ).arg( sipCpp->name(), sipCpp->path() );
543 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
BrowserItemState
Browser item states.
@ NotPopulated
Children not yet created.
@ NoCapabilities
Item has no capabilities.
BrowserItemType
Browser item types.
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)
QVector< QgsDataItem * > children() const
void beginRemoveItems(QgsDataItem *parent, int first, int last)
QgsDataItem * parent() const
Gets item parent.
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)
virtual void setCapabilities(Qgis::BrowserItemCapabilities capabilities)
Sets the capabilities for the data item.
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)
virtual Qgis::BrowserItemCapabilities capabilities2() const
Returns the capabilities for the data item.
Data item that can be used to report problems (e.g.
QList< QgsMimeDataUtils::Uri > UriList
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
#define SIP_VIRTUAL_CATCHER_CODE(code)
QgsDataItem * dataItem_t(QString, QgsDataItem *)
const QgsCoordinateReferenceSystem & crs