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 );
221 #pragma clang diagnostic push
222 #pragma clang diagnostic ignored "-Woverloaded-virtual"
235 #pragma clang diagnostic pop
244 virtual bool handleDoubleClick();
294 Q_DECL_DEPRECATED virtual
bool rename( const QString &name )
SIP_DEPRECATED;
303 virtual
Qgis::BrowserItemCapabilities capabilities2()
const {
return mCapabilities; }
310 virtual void setCapabilities( Qgis::BrowserItemCapabilities capabilities )
SIP_PYNAME( setCapabilitiesV2 ) { mCapabilities = capabilities; }
315 Q_DECL_DEPRECATED
void setCapabilities(
int capabilities )
SIP_DEPRECATED;
320 static int findItem( QVector<QgsDataItem *> items,
QgsDataItem *item );
337 QVector<QgsDataItem *>
children()
const {
return mChildren; }
338 virtual QIcon icon();
345 QString
name()
const {
return mName; }
352 void setName(
const QString &name );
354 QString
path()
const {
return mPath; }
355 void setPath(
const QString &path ) { mPath = path; }
365 QString providerKey()
const;
375 void setProviderKey(
const QString &value );
378 static QString pathComponent(
const QString &component );
390 virtual QVariant sortKey()
const;
397 void setSortKey(
const QVariant &key );
403 void setIcon(
const QIcon &icon ) { mIcon = icon; }
404 void setIconName(
const QString &iconName ) { mIconName = iconName; }
410 static void deleteLater( QVector<QgsDataItem *> &items );
413 void moveToThread( QThread *targetThread );
427 virtual
void populate( const QVector<
QgsDataItem *> &children );
432 virtual
void refresh( const QVector<
QgsDataItem *> &children );
442 bool deferredDelete() {
return mDeferredDelete; }
475 virtual void deleteLater();
479 virtual void populate(
bool foreground =
false );
482 virtual void depopulate();
484 virtual void refresh();
492 virtual void refreshConnections(
const QString &providerKey = QString() );
494 virtual void childrenCreated();
497 void beginInsertItems(
QgsDataItem *parent,
int first,
int last );
498 void endInsertItems();
499 void beginRemoveItems(
QgsDataItem *parent,
int first,
int last );
500 void endRemoveItems();
515 void connectionsChanged(
const QString &providerKey = QString() );
527 static QVector<QgsDataItem *> runCreateChildren(
QgsDataItem *item );
530 bool mDeferredDelete =
false;
531 QFutureWatcher< QVector <QgsDataItem *> > *mFutureWatcher =
nullptr;
548 SIP_PYOBJECT __repr__();
550 QString
str = QStringLiteral(
"<QgsErrorItem: \"%1\" %2>" ).arg( sipCpp->name(), sipCpp->path() );
551 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
557 #endif // QGSDATAITEM_H