20 #include <QFileSystemWatcher> 21 #include <QFutureWatcher> 28 #include <QTreeWidget> 68 virtual QVector<QgsDataItem*> createChildren();
81 virtual void setState(
State state );
88 virtual void addChildItem(
QgsDataItem *child,
bool refresh =
false );
91 virtual void deleteChildItem(
QgsDataItem * child );
102 virtual QList<QAction*>
actions() {
return QList<QAction*>(); }
108 virtual bool handleDrop(
const QMimeData * , Qt::DropAction ) {
return false; }
121 { Q_UNUSED( crs );
return false; }
128 virtual void setCapabilities( Capabilities capabilities ) { mCapabilities = capabilities; }
133 static int findItem( QVector<QgsDataItem*> items,
QgsDataItem * item );
145 QVector<QgsDataItem*>
children()
const {
return mChildren; }
146 virtual QIcon icon();
147 QString
name()
const {
return mName; }
148 void setName(
const QString &name ) { mName = name; }
149 QString
path()
const {
return mPath; }
150 void setPath(
const QString &path ) { mPath = path; }
152 static QString pathComponent(
const QString &component );
158 void setIconName(
const QString & iconName ) { mIconName = iconName; }
164 static void deleteLater( QVector<QgsDataItem*> &items );
167 void moveToThread( QThread * targetThread );
170 virtual void populate( QVector<QgsDataItem*> children );
171 virtual void refresh( QVector<QgsDataItem*> children );
207 virtual void deleteLater();
211 virtual void populate(
bool foreground =
false );
214 virtual void depopulate();
216 virtual void refresh();
218 void emitBeginInsertItems(
QgsDataItem* parent,
int first,
int last );
219 void emitEndInsertItems();
220 void emitBeginRemoveItems(
QgsDataItem* parent,
int first,
int last );
221 void emitEndRemoveItems();
223 void emitDataChanged( );
225 virtual void childrenCreated();
226 void setPopulatingIcon();
229 void beginInsertItems(
QgsDataItem* parent,
int first,
int last );
230 void endInsertItems();
231 void beginRemoveItems(
QgsDataItem* parent,
int first,
int last );
232 void endRemoveItems();
237 static QVector<QgsDataItem*> runCreateChildren(
QgsDataItem* item );
240 bool mDeferredDelete;
241 QFutureWatcher< QVector <QgsDataItem*> > *mFutureWatcher;
243 static int mPopulatingCount;
244 static QMovie * mPopulatingMovie;
245 static QIcon mPopulatingIcon;
248 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsDataItem::Capabilities )
268 QgsLayerItem( QgsDataItem* parent, QString name, QString path, QString uri,
LayerType layerType, QString providerKey );
272 virtual bool equal(
const QgsDataItem *other )
override;
280 QString
uri() {
return mUri; }
304 static const QIcon &iconPoint();
305 static const QIcon &iconLine();
306 static const QIcon &iconPolygon();
307 static const QIcon &iconTable();
308 static const QIcon &iconRaster();
309 static const QIcon &iconDefault();
325 static const QIcon &iconDir();
326 static const QIcon &iconDataCollection();
361 virtual QIcon
icon()
override;
370 void directoryChanged();
377 QFileSystemWatcher * mFileSystemWatcher;
405 void mousePressEvent( QMouseEvent* event )
override;
408 void showHideColumn();
421 void addDirectory( QString favIcon );
424 static const QIcon &iconFavourites();
443 const QStringList & getZipFileList();
454 static const QIcon &iconZip();
460 #endif // QGSDATAITEM_H A Collection: logical collection of layers or subcollections, e.g.
QStringList mSupportFormats
Contains various Favourites directories.
virtual void childrenCreated()
static QMap< QString, QIcon > mIconMap
QVector< QgsDataItem * > children() const
virtual Capabilities capabilities2() const
QgsDataItem * parent() const
Get item parent.
virtual bool handleDrop(const QMimeData *, Qt::DropAction)
void addChild(QgsDataItem *item)
QString qgsVsiPrefix(QString path)
Abstract base class for spatial data provider implementations.
virtual QWidget * paramWidget()
A zip file: contains layers, using GDAL/OGR VSIFILE mechanism.
virtual bool equal(const QgsDataItem *other)
QStringList mSupportedCRS
static QString vsiPrefix(QString uri)
LayerType
Layers enum defining the types of layers that can be added to a map.
virtual void setCapabilities(Capabilities capabilities)
Children not yet created.
Creating children in separate thread (populating or refreshing)
Data item that can be used to report problems (e.g.
static QStringList mProviderNames
A directory: contains subdirectories and layers.
Base class for all items in the model.
QStringList supportedCRS()
Returns the supported CRS.
Capabilities mCapabilities
virtual void setState(State state)
Set item state.
void setName(const QString &name)
static QVector< dataItem_t * > mDataItemPtr
virtual Q_DECL_DEPRECATED Capability capabilities()
static QVector< QLibrary * > mLibraries
virtual QString layerName() const
Class for storing a coordinate reference system (CRS)
bool deferredDelete()
The item is scheduled to be deleted.
void setToolTip(QString msg)
virtual QVector< QgsDataItem * > createChildren()
Create children.
Item that represents a layer that can be opened with one of the providers.
QgsDataItem * dataItem_t(QString, QgsDataItem *)
QVector< QgsDataItem * > mChildren
QStringList supportedFormats()
Returns the supported formats.
virtual QList< QAction * > actions()
void setPath(const QString &path)
virtual bool acceptDrop()
void setIconName(const QString &iconName)