21 #include "qgis_core.h" 22 #include <QFileSystemWatcher> 23 #include <QFutureWatcher> 28 #include <QTreeWidget> 54 if ( qobject_cast<QgsLayerItem *>( sipCpp ) )
55 sipType = sipType_QgsLayerItem;
56 else if ( qobject_cast<QgsErrorItem *>( sipCpp ) )
57 sipType = sipType_QgsErrorItem;
58 else if ( qobject_cast<QgsDirectoryItem *>( sipCpp ) )
59 sipType = sipType_QgsDirectoryItem;
60 else if ( qobject_cast<QgsFavoritesItem *>( sipCpp ) )
61 sipType = sipType_QgsFavoritesItem;
62 else if ( qobject_cast<QgsZipItem *>( sipCpp ) )
63 sipType = sipType_QgsZipItem;
64 else if ( qobject_cast<QgsDataCollectionItem *>( sipCpp ) )
65 sipType = sipType_QgsDataCollectionItem;
66 else if ( qobject_cast<QgsProjectItem *>( sipCpp ) )
67 sipType = sipType_QgsProjectItem;
111 virtual QVector<QgsDataItem *> createChildren()
SIP_FACTORY;
129 virtual void setState(
State state );
144 virtual void deleteChildItem(
QgsDataItem *child );
174 virtual QList<QAction *> actions( QWidget *parent );
184 virtual QList<QMenu *> menus( QWidget *parent );
212 virtual bool handleDoubleClick();
267 Q_DECL_DEPRECATED
virtual bool rename(
const QString &name )
SIP_DEPRECATED;
283 virtual void setCapabilities( Capabilities capabilities ) { mCapabilities = capabilities; }
288 static int findItem( QVector<QgsDataItem *> items,
QgsDataItem *item );
303 QVector<QgsDataItem *>
children()
const {
return mChildren; }
304 virtual QIcon icon();
311 QString
name()
const {
return mName; }
318 void setName(
const QString &name );
320 QString
path()
const {
return mPath; }
321 void setPath(
const QString &path ) { mPath = path; }
331 QString providerKey()
const;
341 void setProviderKey(
const QString &value );
344 static QString pathComponent(
const QString &component );
356 virtual QVariant sortKey()
const;
363 void setSortKey(
const QVariant &key );
369 void setIcon(
const QIcon &icon ) { mIcon = icon; }
370 void setIconName(
const QString &iconName ) { mIconName = iconName; }
376 static void deleteLater( QVector<QgsDataItem *> &items );
379 void moveToThread( QThread *targetThread );
382 virtual void populate(
const QVector<QgsDataItem *> &children );
387 virtual void refresh(
const QVector<QgsDataItem *> &children );
428 virtual void deleteLater();
432 virtual void populate(
bool foreground =
false );
435 virtual void depopulate();
437 virtual void refresh();
440 virtual void refreshConnections();
442 virtual void childrenCreated();
445 void beginInsertItems(
QgsDataItem *parent,
int first,
int last );
446 void endInsertItems();
447 void beginRemoveItems(
QgsDataItem *parent,
int first,
int last );
448 void endRemoveItems();
458 void connectionsChanged();
470 static QVector<QgsDataItem *> runCreateChildren(
QgsDataItem *item );
473 bool mDeferredDelete;
474 QFutureWatcher< QVector <QgsDataItem *> > *mFutureWatcher;
479 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsDataItem::Capabilities )
507 QgsLayerItem( QgsDataItem *parent,
const QString &name,
const QString &path,
const QString &uri,
LayerType layerType,
const QString &providerKey );
511 bool equal(
const QgsDataItem *other )
override;
529 QString
uri()
const {
return mUri; }
550 virtual QString
comments()
const {
return QString(); }
556 static QString layerTypeAsString(
LayerType layerType );
562 static QString iconName(
LayerType layerType );
583 static QIcon iconPoint();
584 static QIcon iconLine();
585 static QIcon iconPolygon();
586 static QIcon iconTable();
587 static QIcon iconRaster();
588 static QIcon iconDefault();
590 static QIcon iconMesh();
627 static QIcon iconDir();
633 static QIcon iconDataCollection();
641 static QIcon openDirIcon();
647 static QIcon homeDirIcon();
691 QgsDirectoryItem(
QgsDataItem *parent SIP_TRANSFERTHIS,
const QString &name,
const QString &dirPath,
const QString &path,
const QString &providerKey = QString() );
703 QIcon
icon()
override;
709 static bool hiddenPath(
const QString &path );
713 void directoryChanged();
720 QFileSystemWatcher *mFileSystemWatcher =
nullptr;
778 void mousePressEvent( QMouseEvent *event )
override;
781 void showHideColumn();
810 void addDirectory(
const QString &directory,
const QString &name = QString() );
821 void renameFavorite(
const QString &path,
const QString &name );
824 static QIcon iconFavorites();
826 QVariant
sortKey()
const override;
829 QVector<QgsDataItem *>
createChildren(
const QString &favDir,
const QString &name );
850 QgsZipItem(
QgsDataItem *parent,
const QString &name,
const QString &filePath,
const QString &path,
const QString &providerKey = QString() );
853 QStringList getZipFileList();
856 static QVector<dataItem_t *> sDataItemPtr
SIP_SKIP;
870 static QgsDataItem *itemFromPath(
QgsDataItem *parent,
const QString &filePath,
const QString &name,
const QString &path ) SIP_FACTORY
SIP_PYNAME( itemFromFilePath );
872 static QIcon iconZip();
893 QgsProjectHomeItem(
QgsDataItem *parent,
const QString &name,
const QString &dirPath,
const QString &path );
895 QIcon
icon()
override;
896 QVariant
sortKey()
const override;
912 QgsFavoriteItem(
QgsFavoritesItem *parent,
const QString &name,
const QString &dirPath,
const QString &path );
914 bool rename(
const QString &name )
override;
925 #endif // QGSDATAITEM_H A Collection: logical collection of layers or subcollections, e.g.
virtual QVariant sortKey() const
Returns the sorting key for the item.
QStringList mSupportFormats
The list of supported formats.
Base class for all map layer types.
virtual void childrenCreated()
virtual QString layerName() const
QString providerKey() const
Returns provider key.
QString name() const
Returns the name of the item (the displayed text for the item).
QVariant mSortKey
Custom sort key. If invalid, name() will be used for sorting instead.
void addChild(QgsDataItem *item)
#define Q_NOWARN_DEPRECATED_PUSH
void setIcon(const QIcon &icon)
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.
Manages storage of a set of bookmarks.
Abstract base class for spatial data provider implementations.
void setToolTip(const QString &msg)
const QgsCoordinateReferenceSystem & crs
A zip file: contains layers, using GDAL/OGR VSIFILE mechanism.
virtual bool equal(const QgsDataItem *other)
Returns true if this item is equal to another item (by testing item type and path).
QStringList mSupportedCRS
The list of supported CRS.
QgsDataItem * parent() const
Gets item parent.
virtual void setCapabilities(Capabilities capabilities)
Sets the capabilities for the data item.
Children not yet created.
virtual Q_DECL_DEPRECATED bool acceptDrop()
Returns whether the item accepts drag and dropped layers - e.g.
Creating children in separate thread (populating or refreshing)
Data item that can be used to report problems (e.g.
virtual bool hasDragEnabled() const
Returns true if the item may be dragged.
virtual QgsMimeDataUtils::Uri mimeUri() const
Returns mime URI for the data item.
A directory: contains subdirectories and layers.
static QStringList sProviderNames
Base class for all items in the model.
virtual Q_DECL_DEPRECATED QWidget * paramWidget()
Returns source widget from data item for QgsBrowserPropertiesWidget.
Capabilities mCapabilities
virtual void setState(State state)
Set item state.
QVector< QgsDataItem * > children() const
bool hasDragEnabled() const override
Returns true if the item may be dragged.
#define Q_NOWARN_DEPRECATED_POP
bool hasDragEnabled() const override
Returns true if the item may be dragged.
Contains various Favorites directories.
QStringList supportedFormats() const
Returns the supported formats.
QString qgsVsiPrefix(const QString &path)
This class represents a coordinate reference system (CRS).
Animated icon is keeping an animation running if there are listeners connected to frameChanged...
QString uri() const
Returns layer uri or empty string if layer cannot be created.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
bool deferredDelete()
The item is scheduled to be deleted.
QString dirPath() const
Returns the full path to the directory the item represents.
virtual QVector< QgsDataItem * > createChildren()
Create children.
Represents a QGIS project.
Item that represents a layer that can be opened with one of the providers.
virtual Q_DECL_DEPRECATED bool handleDrop(const QMimeData *, Qt::DropAction)
Attempts to process the mime data dropped on this item.
QgsDataItem * dataItem_t(QString, QgsDataItem *)
QgsMapLayerType
Types of layers that can be added to a map.
Data item that can be used to represent QGIS projects.
void setPath(const QString &path)
LayerType mLayerType
The layer type.
QVector< QgsDataItem * > mChildren
virtual QString comments() const
Returns comments of the layer.
bool hasDragEnabled() const override
Returns true if the item may be dragged.
Represents a favorite item.
QStringList supportedCrs() const
Returns the supported CRS.
void setIconName(const QString &iconName)
static QString vsiPrefix(const QString &uri)
QMap< QString, QIcon > mIconMap
virtual Capabilities capabilities2() const
Returns the capabilities for the data item.