QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
Base class for all items in the model. More...
#include <qgsdataitem.h>
Public Types | |
enum | Capability { NoCapabilities = 0, SetCrs = 1 << 0, Fertile = 1 << 1, Fast = 1 << 2, Collapse = 1 << 3 } |
enum | State { NotPopulated, Populating, Populated } |
enum | Type { Collection, Directory, Layer, Error, Favourites, Project } |
Public Slots | |
virtual void | childrenCreated () |
virtual void | deleteLater () |
Safely delete the item: More... | |
virtual void | depopulate () |
Remove children recursively and set as not populated. More... | |
void | emitBeginInsertItems (QgsDataItem *parent, int first, int last) |
void | emitBeginRemoveItems (QgsDataItem *parent, int first, int last) |
void | emitDataChanged (QgsDataItem *item) |
void | emitDataChanged () |
void | emitEndInsertItems () |
void | emitEndRemoveItems () |
void | emitStateChanged (QgsDataItem *item, QgsDataItem::State oldState) |
virtual void | populate (bool foreground=false) |
virtual void | refresh () |
Signals | |
void | beginInsertItems (QgsDataItem *parent, int first, int last) |
void | beginRemoveItems (QgsDataItem *parent, int first, int last) |
void | dataChanged (QgsDataItem *item) |
void | endInsertItems () |
void | endRemoveItems () |
void | stateChanged (QgsDataItem *item, QgsDataItem::State oldState) |
Public Member Functions | |
QgsDataItem (QgsDataItem::Type type, QgsDataItem *parent, const QString &name, const QString &path) | |
Create new data item. More... | |
virtual | ~QgsDataItem () |
virtual bool | acceptDrop () |
Returns whether the item accepts drag and dropped layers - e.g. More... | |
virtual QList< QAction * > | actions () |
Returns the list of actions available for this item. More... | |
virtual void | addChildItem (QgsDataItem *child, bool refresh=false) |
Inserts a new child item. More... | |
virtual Q_DECL_DEPRECATED Capability | capabilities () |
virtual Capabilities | capabilities2 () const |
QVector< QgsDataItem * > | children () const |
virtual QVector< QgsDataItem * > | createChildren () |
Create children. More... | |
virtual void | deleteChildItem (QgsDataItem *child) |
Removes and deletes a child item, emitting relevant signals to the model. More... | |
virtual bool | equal (const QgsDataItem *other) |
Returns true if this item is equal to another item (by testing item type and path). More... | |
virtual bool | handleDrop (const QMimeData *, Qt::DropAction) |
Attempts to process the mime data dropped on this item. More... | |
bool | hasChildren () |
virtual QIcon | icon () |
Q_DECL_DEPRECATED bool | isPopulated () |
void | moveToThread (QThread *targetThread) |
Move object and all its descendants to thread. More... | |
QString | name () const |
virtual QWidget * | paramWidget () |
QgsDataItem * | parent () const |
Get item parent. More... | |
QString | path () const |
virtual QgsDataItem * | removeChildItem (QgsDataItem *child) |
Removes a child item and returns it without deleting it. More... | |
int | rowCount () |
virtual void | setCapabilities (const Capabilities &capabilities) |
virtual bool | setCrs (QgsCoordinateReferenceSystem crs) |
void | setIcon (const QIcon &icon) |
void | setIconName (const QString &iconName) |
void | setName (const QString &name) |
void | setParent (QgsDataItem *parent) |
Set item parent and connect / disconnect parent to / from item signals. More... | |
void | setPath (const QString &path) |
virtual void | setState (State state) |
Set item state. More... | |
void | setToolTip (const QString &msg) |
State | state () const |
QString | toolTip () const |
Type | type () const |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
QObject (QObject *parent, const char *name) | |
virtual | ~QObject () |
bool | blockSignals (bool block) |
QObject * | child (const char *objName, const char *inheritsClass, bool recursiveSearch) const |
const QObjectList & | children () const |
const char * | className () const |
bool | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const QObject *receiver, const char *method) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) |
void | dumpObjectInfo () |
void | dumpObjectTree () |
QList< QByteArray > | dynamicPropertyNames () const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name) const |
QList< T > | findChildren (const QRegExp ®Exp) const |
QList< T > | findChildren (const QString &name) const |
bool | inherits (const char *className) const |
void | insertChild (QObject *object) |
void | installEventFilter (QObject *filterObj) |
bool | isA (const char *className) const |
bool | isWidgetType () const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const |
void | moveToThread (QThread *targetThread) |
const char * | name () const |
const char * | name (const char *defaultName) const |
QString | objectName () const |
QObject * | parent () const |
QVariant | property (const char *name) const |
void | removeChild (QObject *object) |
void | removeEventFilter (QObject *obj) |
void | setName (const char *name) |
void | setObjectName (const QString &name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | signalsBlocked () const |
int | startTimer (int interval) |
QThread * | thread () const |
Static Public Member Functions | |
static void | deleteLater (QVector< QgsDataItem *> &items) |
static int | findItem (QVector< QgsDataItem *> items, QgsDataItem *item) |
static QString | pathComponent (const QString &component) |
Create path component replacing path separators. More... | |
Static Public Member Functions inherited from QObject | |
bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
Protected Member Functions | |
bool | deferredDelete () |
The item is scheduled to be deleted. More... | |
virtual void | populate (const QVector< QgsDataItem *> &children) |
virtual void | refresh (QVector< QgsDataItem *> children) |
Protected Member Functions inherited from QObject | |
bool | checkConnectArgs (const char *signal, const QObject *object, const char *method) |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const char *signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const char *signal) |
int | receivers (const char *signal) const |
QObject * | sender () const |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *event) |
Protected Attributes | |
Capabilities | mCapabilities |
QVector< QgsDataItem * > | mChildren |
QIcon | mIcon |
QMap< QString, QIcon > | mIconMap |
QString | mIconName |
QString | mName |
QgsDataItem * | mParent |
QString | mPath |
bool | mPopulated |
State | mState |
QString | mToolTip |
Type | mType |
Additional Inherited Members | |
Static Protected Member Functions inherited from QObject | |
QByteArray | normalizeSignalSlot (const char *signalSlot) |
Properties inherited from QObject | |
objectName | |
Base class for all items in the model.
Parent/children hierarchy is not based on QObject.
Definition at line 79 of file qgsdataitem.h.
Enumerator | |
---|---|
NoCapabilities | |
SetCrs | Can set CRS on layer or group of layers. |
Fertile | Can create children. Even items without this capability may have children, but cannot create them, it means that children are created by item ancestors. |
Fast | createChildren() is fast enough to be run in main thread when refreshing items, most root items (wms,wfs,wcs,postgres...) are considered fast because they are reading data only from QSettings |
Collapse | The collapse/expand status for this items children should be ignored in order to avoid undesired network connections (wms etc.) |
Definition at line 168 of file qgsdataitem.h.
enum QgsDataItem::State |
Enumerator | |
---|---|
NotPopulated | Children not yet created. |
Populating | Creating children in separate thread (populating or refreshing) |
Populated | children created |
Definition at line 107 of file qgsdataitem.h.
enum QgsDataItem::Type |
Enumerator | |
---|---|
Collection | |
Directory | |
Layer | |
Error | |
Favourites | |
Project | Represents a QGIS project. |
Definition at line 85 of file qgsdataitem.h.
QgsDataItem::QgsDataItem | ( | QgsDataItem::Type | type, |
QgsDataItem * | parent, | ||
const QString & | name, | ||
const QString & | path | ||
) |
Create new data item.
Definition at line 208 of file qgsdataitem.cpp.
|
virtual |
Definition at line 223 of file qgsdataitem.cpp.
|
inlinevirtual |
Returns whether the item accepts drag and dropped layers - e.g.
for importing a dataset to a provider. Subclasses should override this and handleDrop() to accept dropped layers.
Definition at line 160 of file qgsdataitem.h.
Returns the list of actions available for this item.
This is usually used for the popup menu on right-clicking the item. Subclasses should override this to provide actions.
Definition at line 154 of file qgsdataitem.h.
|
virtual |
Inserts a new child item.
The child will be inserted at a position using an alphabetical order based on mName.
child | child item to insert. Ownership is transferred, and item parent will be set and relevant connections made. |
refresh | - set to true to refresh populated item, emitting relevant signals to the model |
Definition at line 549 of file qgsdataitem.cpp.
|
signal |
|
signal |
|
inlinevirtual |
Definition at line 183 of file qgsdataitem.h.
|
inlinevirtual |
Definition at line 185 of file qgsdataitem.h.
|
inline |
Definition at line 204 of file qgsdataitem.h.
|
virtualslot |
Definition at line 399 of file qgsdataitem.cpp.
|
virtual |
Create children.
Children are not expected to have parent set. This method MUST BE THREAD SAFE.
Reimplemented in QgsZipItem, QgsFavouritesItem, and QgsDirectoryItem.
Definition at line 349 of file qgsdataitem.cpp.
|
signal |
|
inlineprotected |
The item is scheduled to be deleted.
E.g. if deleteLater() is called when item is in Populating state (createChildren() running in another thread), the deferredDelete() returns true and item will be deleted once Populating finished. Items with slow reateChildren() (for example network or database based) may check during createChildren() if deferredDelete() returns true and return from createChildren() immediately because result will be useless.
Definition at line 237 of file qgsdataitem.h.
|
virtual |
Removes and deletes a child item, emitting relevant signals to the model.
child | child to remove. Item must exist as a current child. |
Definition at line 585 of file qgsdataitem.cpp.
|
static |
Definition at line 273 of file qgsdataitem.cpp.
|
virtualslot |
Safely delete the item:
Definition at line 250 of file qgsdataitem.cpp.
|
virtualslot |
Remove children recursively and set as not populated.
This is used when refreshing collapsed items.
Definition at line 436 of file qgsdataitem.cpp.
|
slot |
Definition at line 314 of file qgsdataitem.cpp.
|
slot |
Definition at line 322 of file qgsdataitem.cpp.
|
slot |
Definition at line 331 of file qgsdataitem.cpp.
|
slot |
Definition at line 336 of file qgsdataitem.cpp.
|
slot |
Definition at line 318 of file qgsdataitem.cpp.
|
slot |
Definition at line 326 of file qgsdataitem.cpp.
|
slot |
Definition at line 341 of file qgsdataitem.cpp.
|
signal |
|
signal |
|
virtual |
Returns true if this item is equal to another item (by testing item type and path).
Reimplemented in QgsDirectoryItem, and QgsLayerItem.
Definition at line 625 of file qgsdataitem.cpp.
|
static |
Definition at line 613 of file qgsdataitem.cpp.
|
inlinevirtual |
Attempts to process the mime data dropped on this item.
Subclasses must override this and acceptDrop() if they accept dropped layers.
Definition at line 166 of file qgsdataitem.h.
bool QgsDataItem::hasChildren | ( | ) |
Definition at line 520 of file qgsdataitem.cpp.
|
virtual |
Reimplemented in QgsDirectoryItem.
Definition at line 298 of file qgsdataitem.cpp.
|
inline |
Definition at line 124 of file qgsdataitem.h.
void QgsDataItem::moveToThread | ( | QThread * | targetThread | ) |
Move object and all its descendants to thread.
Definition at line 284 of file qgsdataitem.cpp.
|
inline |
Definition at line 206 of file qgsdataitem.h.
|
inlinevirtual |
Reimplemented in QgsDirectoryItem.
Definition at line 149 of file qgsdataitem.h.
|
inline |
Get item parent.
QgsDataItem maintains its own items hierarchy, it does not use QObject hierarchy.
Definition at line 200 of file qgsdataitem.h.
|
inline |
Definition at line 208 of file qgsdataitem.h.
Create path component replacing path separators.
Definition at line 245 of file qgsdataitem.cpp.
|
protectedvirtual |
Definition at line 422 of file qgsdataitem.cpp.
|
virtualslot |
Definition at line 354 of file qgsdataitem.cpp.
|
protectedvirtual |
Definition at line 472 of file qgsdataitem.cpp.
|
virtualslot |
Definition at line 449 of file qgsdataitem.cpp.
|
virtual |
Removes a child item and returns it without deleting it.
Emits relevant signals to model as required.
child | child to remove |
Definition at line 596 of file qgsdataitem.cpp.
int QgsDataItem::rowCount | ( | ) |
Definition at line 516 of file qgsdataitem.cpp.
|
inlinevirtual |
Definition at line 187 of file qgsdataitem.h.
|
inlinevirtual |
Definition at line 179 of file qgsdataitem.h.
|
inline |
Definition at line 216 of file qgsdataitem.h.
|
inline |
Definition at line 217 of file qgsdataitem.h.
|
inline |
Definition at line 207 of file qgsdataitem.h.
void QgsDataItem::setParent | ( | QgsDataItem * | parent | ) |
Set item parent and connect / disconnect parent to / from item signals.
It does not add itself to parents children (mChildren)
Definition at line 525 of file qgsdataitem.cpp.
|
inline |
Definition at line 209 of file qgsdataitem.h.
|
virtual |
Set item state.
It also take care about starting/stopping loading icon animation.
state |
Reimplemented in QgsDirectoryItem.
Definition at line 644 of file qgsdataitem.cpp.
|
inline |
Definition at line 219 of file qgsdataitem.h.
QgsDataItem::State QgsDataItem::state | ( | ) | const |
Definition at line 635 of file qgsdataitem.cpp.
|
signal |
|
inline |
Definition at line 220 of file qgsdataitem.h.
|
inline |
Definition at line 196 of file qgsdataitem.h.
|
protected |
Definition at line 240 of file qgsdataitem.h.
|
protected |
Definition at line 242 of file qgsdataitem.h.
|
protected |
Definition at line 254 of file qgsdataitem.h.
Definition at line 255 of file qgsdataitem.h.
|
protected |
Definition at line 253 of file qgsdataitem.h.
|
protected |
Definition at line 246 of file qgsdataitem.h.
|
protected |
Definition at line 241 of file qgsdataitem.h.
|
protected |
Definition at line 251 of file qgsdataitem.h.
|
protected |
Definition at line 245 of file qgsdataitem.h.
|
protected |
Definition at line 243 of file qgsdataitem.h.
|
protected |
Definition at line 252 of file qgsdataitem.h.
|
protected |
Definition at line 239 of file qgsdataitem.h.