mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			256 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			256 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/qgsvectorlayerjoinbuffer.h                                  *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
typedef QList< QgsVectorLayerJoinInfo > QgsVectorJoinList;
 | 
						|
 | 
						|
 | 
						|
class QgsVectorLayerJoinBuffer : QObject, QgsFeatureSink
 | 
						|
{
 | 
						|
%Docstring
 | 
						|
Manages joined fields for a vector layer.
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsvectorlayerjoinbuffer.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
    QgsVectorLayerJoinBuffer( QgsVectorLayer *layer = 0 );
 | 
						|
 | 
						|
    bool addJoin( const QgsVectorLayerJoinInfo &joinInfo );
 | 
						|
%Docstring
 | 
						|
Joins another vector layer to this layer
 | 
						|
 | 
						|
:param joinInfo: join object containing join layer id, target and source field
 | 
						|
 | 
						|
:return: (since 2.6) whether the join was successfully added
 | 
						|
%End
 | 
						|
 | 
						|
    bool removeJoin( const QString &joinLayerId );
 | 
						|
%Docstring
 | 
						|
Removes a vector layer join
 | 
						|
 | 
						|
:return: ``True`` if join was found and successfully removed
 | 
						|
%End
 | 
						|
 | 
						|
    void updateFields( QgsFields &fields );
 | 
						|
%Docstring
 | 
						|
Updates field map with joined attributes
 | 
						|
 | 
						|
:param fields: map to append joined attributes
 | 
						|
%End
 | 
						|
 | 
						|
    void createJoinCaches();
 | 
						|
%Docstring
 | 
						|
Calls :py:func:`~QgsVectorLayerJoinBuffer.cacheJoinLayer` for all vector joins
 | 
						|
%End
 | 
						|
 | 
						|
    void writeXml( QDomNode &layer_node, QDomDocument &document ) const;
 | 
						|
%Docstring
 | 
						|
Saves mVectorJoins to xml under the layer node
 | 
						|
%End
 | 
						|
 | 
						|
    void readXml( const QDomNode &layer_node );
 | 
						|
%Docstring
 | 
						|
Reads joins from project file.
 | 
						|
Does not resolve layer IDs to layers - call :py:func:`~QgsVectorLayerJoinBuffer.resolveReferences` afterwards
 | 
						|
%End
 | 
						|
 | 
						|
    void resolveReferences( QgsProject *project );
 | 
						|
%Docstring
 | 
						|
Resolves layer IDs of joined layers using given project's available layers
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    bool containsJoins() const;
 | 
						|
%Docstring
 | 
						|
Quick way to test if there is any join at all
 | 
						|
%End
 | 
						|
 | 
						|
    const QgsVectorJoinList &vectorJoins() const;
 | 
						|
 | 
						|
    const QgsVectorLayerJoinInfo *joinForFieldIndex( int index, const QgsFields &fields, int &sourceFieldIndex /Out/ ) const;
 | 
						|
%Docstring
 | 
						|
Finds the vector join for a layer field index.
 | 
						|
 | 
						|
:param index: this layers attribute index
 | 
						|
:param fields: fields of the vector layer (including joined fields)
 | 
						|
 | 
						|
:return: - the vector layer join info
 | 
						|
         - sourceFieldIndex: Output: field's index in source layer
 | 
						|
%End
 | 
						|
 | 
						|
    int joinedFieldsOffset( const QgsVectorLayerJoinInfo *info, const QgsFields &fields );
 | 
						|
%Docstring
 | 
						|
Find out what is the first index of the join within fields. Returns -1 if join is not present
 | 
						|
 | 
						|
.. versionadded:: 2.6
 | 
						|
%End
 | 
						|
 | 
						|
    static QVector<int> joinSubsetIndices( QgsVectorLayer *joinLayer, const QStringList &joinFieldsSubset );
 | 
						|
%Docstring
 | 
						|
Returns a vector of indices for use in join based on field names from the layer
 | 
						|
 | 
						|
.. versionadded:: 2.6
 | 
						|
%End
 | 
						|
 | 
						|
    QList<const QgsVectorLayerJoinInfo *> joinsWhereFieldIsId( const QgsField &field ) const;
 | 
						|
%Docstring
 | 
						|
Returns joins where the field of a target layer is considered as an id.
 | 
						|
 | 
						|
:param field: the field of a target layer
 | 
						|
 | 
						|
:return: a list of vector joins
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    QgsFeature joinedFeatureOf( const QgsVectorLayerJoinInfo *info, const QgsFeature &feature ) const;
 | 
						|
%Docstring
 | 
						|
Returns the joined feature corresponding to the feature.
 | 
						|
 | 
						|
:param info: the vector join information
 | 
						|
:param feature: the feature of the target layer
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    QgsFeature targetedFeatureOf( const QgsVectorLayerJoinInfo *info, const QgsFeature &feature ) const;
 | 
						|
%Docstring
 | 
						|
Returns the targeted feature corresponding to the joined feature.
 | 
						|
 | 
						|
:param info: the vector join information
 | 
						|
:param feature: the feature of the joined layer
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    bool isAuxiliaryJoin( const QgsVectorLayerJoinInfo &info ) const;
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if the join information is about auxiliary layer, ``False`` otherwise
 | 
						|
 | 
						|
:param info: The join information
 | 
						|
 | 
						|
:return: ``True`` if the join information is about auxiliary layer, ``False`` otherwise
 | 
						|
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    QgsVectorLayerJoinBuffer *clone() const /Factory/;
 | 
						|
%Docstring
 | 
						|
Create a copy of the join buffer
 | 
						|
 | 
						|
.. versionadded:: 2.6
 | 
						|
%End
 | 
						|
 | 
						|
    virtual bool addFeatures( QgsFeatureList &features, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() );
 | 
						|
 | 
						|
%Docstring
 | 
						|
Adds a list of features in joined layers. Features given in parameter
 | 
						|
are those added in target layer. If a corresponding joined feature yet
 | 
						|
exists in a joined layer, then this feature is just updated. Note that
 | 
						|
if a corresponding joined feature has only empty fields, then it's not
 | 
						|
created nor added.
 | 
						|
 | 
						|
:param features: The list of features added in the target layer
 | 
						|
:param flags: Unused parameter
 | 
						|
 | 
						|
:return: ``False`` if an error happened, ``True`` otherwise
 | 
						|
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    bool changeAttributeValue( QgsFeatureId fid, int field, const QVariant &newValue, const QVariant &oldValue = QVariant() );
 | 
						|
%Docstring
 | 
						|
Changes attribute value in joined layers. The feature id given in
 | 
						|
parameter is the one added in target layer. If the corresponding joined
 | 
						|
feature does not exist in a joined layer, then it's automatically
 | 
						|
created if its fields are not empty.
 | 
						|
 | 
						|
:param fid: The feature id
 | 
						|
:param field: The field to update
 | 
						|
:param newValue: The new value of the attribute
 | 
						|
:param oldValue: The old value of the attribute
 | 
						|
 | 
						|
:return: ``False`` if an error happened, ``True`` otherwise
 | 
						|
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    bool changeAttributeValues( QgsFeatureId fid, const QgsAttributeMap &newValues, const QgsAttributeMap &oldValues = QgsAttributeMap() );
 | 
						|
%Docstring
 | 
						|
Changes attributes' values in joined layers. The feature id given in
 | 
						|
parameter is the one added in target layer. If the corresponding joined
 | 
						|
feature does not exist in a joined layer, then it's automatically
 | 
						|
created if its fields are not empty.
 | 
						|
 | 
						|
:param fid: The feature id
 | 
						|
:param newValues: The new values for attributes
 | 
						|
:param oldValues: The old values for attributes
 | 
						|
 | 
						|
:return: ``False`` if an error happened, ``True`` otherwise
 | 
						|
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    bool deleteFeature( QgsFeatureId fid, QgsVectorLayer::DeleteContext *context = 0 ) const;
 | 
						|
%Docstring
 | 
						|
Deletes a feature from joined layers. The feature id given in
 | 
						|
parameter is the one coming from the target layer.
 | 
						|
 | 
						|
:param fid: The feature id from the target layer to delete
 | 
						|
:param context: The chain of features which will be deleted for feedback and to avoid infinite recursions. Can be ``None``.
 | 
						|
 | 
						|
:return: ``False`` if an error happened, ``True`` otherwise
 | 
						|
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    bool deleteFeatures( const QgsFeatureIds &fids, QgsVectorLayer::DeleteContext *context = 0 ) const;
 | 
						|
%Docstring
 | 
						|
Deletes a list of features from joined layers. Feature ids given
 | 
						|
in a parameter are those coming from the target layer.
 | 
						|
 | 
						|
:param fids: Feature ids from the target layer to delete
 | 
						|
:param context: The chain of features who will be deleted for feedback and to avoid infinite recursions. Can be ``None``.
 | 
						|
 | 
						|
:return: ``False`` if an error happened, ``True`` otherwise
 | 
						|
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
  signals:
 | 
						|
 | 
						|
    void joinedFieldsChanged();
 | 
						|
%Docstring
 | 
						|
Emitted whenever the list of joined fields changes (e.g. added join or joined layer's fields change)
 | 
						|
 | 
						|
.. versionadded:: 2.6
 | 
						|
%End
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/qgsvectorlayerjoinbuffer.h                                  *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 |