|
QGIS API Documentation 3.36.0-Maidenhead (09951dc0acf)
|
Defines left outer join from our vector layer to some other vector layer. More...
#include <qgsvectorlayerjoininfo.h>
Public Member Functions | |
| QgsVectorLayerJoinInfo ()=default | |
| Constructor for QgsVectorLayerJoinInfo. | |
| QgsFeature | extractJoinedFeature (const QgsFeature &feature) const |
| Extract the join feature from the target feature for the current join layer information. | |
| bool | hasCascadedDelete () const |
| Returns whether a feature deleted on the target layer has to impact the joined layer by deleting the corresponding joined feature. | |
| bool | hasSubset (bool blocklisted=true) const |
Returns true if blocklisted fields is not empty or if a subset of names has been set. | |
| bool | hasUpsertOnEdit () const |
| Returns whether a feature created on the target layer has to impact the joined layer by creating a new feature if necessary. | |
| bool | isDynamicFormEnabled () const |
| Returns whether the form has to be dynamically updated with joined fields when a feature is being created in the target layer. | |
| bool | isEditable () const |
| Returns whether joined fields may be edited through the form of the target layer. | |
| bool | isUsingMemoryCache () const |
| Returns whether values from the joined layer should be cached in memory to speed up lookups. | |
| QString | joinFieldName () const |
| Returns name of the field of joined layer that will be used for join. | |
| Q_DECL_DEPRECATED QStringList | joinFieldNamesBlackList () const |
| Returns the list of fields to ignore. | |
| QStringList | joinFieldNamesBlockList () const |
| Returns the list of fields to ignore. | |
| QStringList * | joinFieldNamesSubset () const |
| Returns the subset of fields to be used from joined layer. | |
| QgsVectorLayer * | joinLayer () const |
Returns joined layer (may be nullptr if the reference was set by layer ID and not resolved yet) | |
| QString | joinLayerId () const |
| ID of the joined layer - may be used to resolve reference to the joined layer. | |
| bool | operator== (const QgsVectorLayerJoinInfo &other) const |
| QString | prefix () const |
Returns prefix of fields from the joined layer. If nullptr, joined layer's name will be used. | |
| QString | prefixedFieldName (const QgsField &field) const |
| Returns the prefixed name of the field. | |
| void | setCascadedDelete (bool enabled) |
| Sets whether a feature deleted on the target layer has to impact the joined layer by deleting the corresponding joined feature. | |
| void | setDynamicFormEnabled (bool enabled) |
| Sets whether the form has to be dynamically updated with joined fields when a feature is being created in the target layer. | |
| void | setEditable (bool enabled) |
| Sets whether the form of the target layer allows editing joined fields. | |
| void | setJoinFieldName (const QString &fieldName) |
| Sets name of the field of joined layer that will be used for join. | |
| Q_DECL_DEPRECATED void | setJoinFieldNamesBlackList (const QStringList &blackList) |
| Sets a list of fields to ignore whatever happens. | |
| void | setJoinFieldNamesBlockList (const QStringList &list) |
| Sets a list of fields to ignore whatever happens. | |
| void | setJoinFieldNamesSubset (QStringList *fieldNamesSubset) |
| Sets the subset of fields to be used from joined layer. | |
| void | setJoinLayer (QgsVectorLayer *layer) |
| Sets weak reference to the joined layer. | |
| void | setJoinLayerId (const QString &layerId) |
| Sets ID of the joined layer. It will need to be overwritten by setJoinLayer() to a reference to real layer. | |
| void | setPrefix (const QString &prefix) |
Sets prefix of fields from the joined layer. If nullptr, joined layer's name will be used. | |
| void | setTargetFieldName (const QString &fieldName) |
| Sets name of the field of our layer that will be used for join. | |
| void | setUpsertOnEdit (bool enabled) |
| Sets whether a feature created on the target layer has to impact the joined layer by creating a new feature if necessary. | |
| void | setUsingMemoryCache (bool enabled) |
| Sets whether values from the joined layer should be cached in memory to speed up lookups. | |
| QString | targetFieldName () const |
| Returns name of the field of our layer that will be used for join. | |
Static Public Member Functions | |
| static QStringList | joinFieldNamesSubset (const QgsVectorLayerJoinInfo &info, bool blocklisted=true) |
| Returns the list of field names to use for joining considering blocklisted fields and subset. | |
| static QStringList | joinFieldNamesSubset (const QgsVectorLayerJoinInfo &info, const QgsFields &joinLayerFields, bool blocklisted=true) |
| Returns the list of field names to use for joining considering blocklisted fields and subset. | |
Protected Attributes | |
| QHash< QString, QgsAttributes > | cachedAttributes |
| Cache for joined attributes to provide fast lookup (size is 0 if no memory caching) | |
| bool | cacheDirty = true |
| True if the cached join attributes need to be updated. | |
| QStringList | mBlockList |
| bool | mCascadedDelete = false |
| bool | mDynamicForm = false |
| bool | mEditable = false |
| QString | mJoinFieldName |
| Join field in the source layer. | |
| std::shared_ptr< QStringList > | mJoinFieldsSubset |
Subset of fields to use from joined layer. nullptr = use all fields. | |
| QgsVectorLayerRef | mJoinLayerRef |
| Weak reference to the joined layer. | |
| bool | mMemoryCache = false |
| True if the join is cached in virtual memory. | |
| QString | mPrefix |
| An optional prefix. | |
| QString | mTargetFieldName |
| Join field in the target layer. | |
| bool | mUpsertOnEdit = false |
Friends | |
| class | QgsVectorLayerFeatureIterator |
| class | QgsVectorLayerJoinBuffer |
Defines left outer join from our vector layer to some other vector layer.
The join is done based on [our layer].targetField = [join layer].joinField
Definition at line 32 of file qgsvectorlayerjoininfo.h.
|
default |
Constructor for QgsVectorLayerJoinInfo.
| QgsFeature QgsVectorLayerJoinInfo::extractJoinedFeature | ( | const QgsFeature & | feature | ) | const |
Extract the join feature from the target feature for the current join layer information.
| feature | A feature from the target layer |
Definition at line 62 of file qgsvectorlayerjoininfo.cpp.
|
inline |
Returns whether a feature deleted on the target layer has to impact the joined layer by deleting the corresponding joined feature.
Definition at line 114 of file qgsvectorlayerjoininfo.h.
| bool QgsVectorLayerJoinInfo::hasSubset | ( | bool | blocklisted = true | ) | const |
Returns true if blocklisted fields is not empty or if a subset of names has been set.
Definition at line 128 of file qgsvectorlayerjoininfo.cpp.
|
inline |
Returns whether a feature created on the target layer has to impact the joined layer by creating a new feature if necessary.
Definition at line 102 of file qgsvectorlayerjoininfo.h.
|
inline |
Returns whether the form has to be dynamically updated with joined fields when a feature is being created in the target layer.
Definition at line 79 of file qgsvectorlayerjoininfo.h.
|
inline |
Returns whether joined fields may be edited through the form of the target layer.
Definition at line 91 of file qgsvectorlayerjoininfo.h.
| bool QgsVectorLayerJoinInfo::isUsingMemoryCache | ( | ) | const |
Returns whether values from the joined layer should be cached in memory to speed up lookups.
Will return false if upsertOnEdit is enabled.
Definition at line 43 of file qgsvectorlayerjoininfo.cpp.
|
inline |
Returns name of the field of joined layer that will be used for join.
Definition at line 59 of file qgsvectorlayerjoininfo.h.
|
inline |
Returns the list of fields to ignore.
Definition at line 149 of file qgsvectorlayerjoininfo.h.
|
inline |
Returns the list of fields to ignore.
Definition at line 165 of file qgsvectorlayerjoininfo.h.
|
inline |
Returns the subset of fields to be used from joined layer.
All fields will be used if nullptr is returned.
Definition at line 221 of file qgsvectorlayerjoininfo.h.
|
static |
Returns the list of field names to use for joining considering blocklisted fields and subset.
Definition at line 86 of file qgsvectorlayerjoininfo.cpp.
|
static |
Returns the list of field names to use for joining considering blocklisted fields and subset.
This method is thread safe.
Definition at line 91 of file qgsvectorlayerjoininfo.cpp.
|
inline |
Returns joined layer (may be nullptr if the reference was set by layer ID and not resolved yet)
Definition at line 44 of file qgsvectorlayerjoininfo.h.
|
inline |
ID of the joined layer - may be used to resolve reference to the joined layer.
Definition at line 49 of file qgsvectorlayerjoininfo.h.
|
inline |
Definition at line 194 of file qgsvectorlayerjoininfo.h.
|
inline |
Returns prefix of fields from the joined layer. If nullptr, joined layer's name will be used.
Definition at line 64 of file qgsvectorlayerjoininfo.h.
| QString QgsVectorLayerJoinInfo::prefixedFieldName | ( | const QgsField & | field | ) | const |
Returns the prefixed name of the field.
| field | the field |
Definition at line 21 of file qgsvectorlayerjoininfo.cpp.
|
inline |
Sets whether a feature deleted on the target layer has to impact the joined layer by deleting the corresponding joined feature.
Definition at line 120 of file qgsvectorlayerjoininfo.h.
|
inline |
Sets whether the form has to be dynamically updated with joined fields when a feature is being created in the target layer.
Definition at line 85 of file qgsvectorlayerjoininfo.h.
| void QgsVectorLayerJoinInfo::setEditable | ( | bool | enabled | ) |
Sets whether the form of the target layer allows editing joined fields.
Definition at line 51 of file qgsvectorlayerjoininfo.cpp.
|
inline |
Sets name of the field of joined layer that will be used for join.
Definition at line 57 of file qgsvectorlayerjoininfo.h.
|
inline |
Sets a list of fields to ignore whatever happens.
Definition at line 142 of file qgsvectorlayerjoininfo.h.
|
inline |
Sets a list of fields to ignore whatever happens.
Definition at line 157 of file qgsvectorlayerjoininfo.h.
|
inline |
Sets the subset of fields to be used from joined layer.
Ownership of fileNamesSubset is transferred. A fieldNameSubset of nullptr indicates that all fields should be used.
Definition at line 211 of file qgsvectorlayerjoininfo.h.
|
inline |
Sets weak reference to the joined layer.
Definition at line 42 of file qgsvectorlayerjoininfo.h.
|
inline |
Sets ID of the joined layer. It will need to be overwritten by setJoinLayer() to a reference to real layer.
Definition at line 47 of file qgsvectorlayerjoininfo.h.
|
inline |
Sets prefix of fields from the joined layer. If nullptr, joined layer's name will be used.
Definition at line 62 of file qgsvectorlayerjoininfo.h.
|
inline |
Sets name of the field of our layer that will be used for join.
Definition at line 52 of file qgsvectorlayerjoininfo.h.
|
inline |
Sets whether a feature created on the target layer has to impact the joined layer by creating a new feature if necessary.
Definition at line 108 of file qgsvectorlayerjoininfo.h.
| void QgsVectorLayerJoinInfo::setUsingMemoryCache | ( | bool | enabled | ) |
Sets whether values from the joined layer should be cached in memory to speed up lookups.
Definition at line 38 of file qgsvectorlayerjoininfo.cpp.
|
inline |
Returns name of the field of our layer that will be used for join.
Definition at line 54 of file qgsvectorlayerjoininfo.h.
|
friend |
Definition at line 245 of file qgsvectorlayerjoininfo.h.
|
friend |
Definition at line 244 of file qgsvectorlayerjoininfo.h.
|
protected |
Cache for joined attributes to provide fast lookup (size is 0 if no memory caching)
Definition at line 261 of file qgsvectorlayerjoininfo.h.
|
protected |
True if the cached join attributes need to be updated.
Definition at line 248 of file qgsvectorlayerjoininfo.h.
|
protected |
Definition at line 258 of file qgsvectorlayerjoininfo.h.
|
protected |
Definition at line 256 of file qgsvectorlayerjoininfo.h.
|
protected |
Definition at line 250 of file qgsvectorlayerjoininfo.h.
|
protected |
Definition at line 252 of file qgsvectorlayerjoininfo.h.
|
protected |
Join field in the source layer.
Definition at line 229 of file qgsvectorlayerjoininfo.h.
|
protected |
Subset of fields to use from joined layer. nullptr = use all fields.
Definition at line 240 of file qgsvectorlayerjoininfo.h.
|
protected |
Weak reference to the joined layer.
Definition at line 227 of file qgsvectorlayerjoininfo.h.
|
protected |
True if the join is cached in virtual memory.
Definition at line 237 of file qgsvectorlayerjoininfo.h.
|
protected |
An optional prefix.
If it is a Null string "{layername}_" will be used
Definition at line 234 of file qgsvectorlayerjoininfo.h.
|
protected |
Join field in the target layer.
Definition at line 225 of file qgsvectorlayerjoininfo.h.
|
protected |
Definition at line 254 of file qgsvectorlayerjoininfo.h.