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();
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() );
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
Symbol layer flags.
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)
Data item that can be used to report problems (e.g.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
#define SIP_VIRTUAL_CATCHER_CODE(code)
QgsDataItem * dataItem_t(QString, QgsDataItem *)
const QgsCoordinateReferenceSystem & crs