QGIS API Documentation  2.6.0-Brighton
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Signals | Public Member Functions | Static Public Member Functions | List of all members
QgsVectorLayerJoinBuffer Class Reference

Manages joined fields for a vector layer. More...

#include <qgsvectorlayerjoinbuffer.h>

Signals

void joinedFieldsChanged ()
 Emitted whenever the list of joined fields changes (e.g.

Public Member Functions

 QgsVectorLayerJoinBuffer (QgsVectorLayer *layer=0)
 ~QgsVectorLayerJoinBuffer ()
bool addJoin (const QgsVectorJoinInfo &joinInfo)
 Joins another vector layer to this layer.
void removeJoin (const QString &joinLayerId)
 Removes a vector layer join.
void updateFields (QgsFields &fields)
 Updates field map with joined attributes.
void createJoinCaches ()
 Calls cacheJoinLayer() for all vector joins.
void writeXml (QDomNode &layer_node, QDomDocument &document) const
 Saves mVectorJoins to xml under the layer node.
void readXml (const QDomNode &layer_node)
 Reads joins from project file.
bool containsJoins () const
 Quick way to test if there is any join at all.
const QgsVectorJoinListvectorJoins () const
const QgsVectorJoinInfojoinForFieldIndex (int index, const QgsFields &fields, int &sourceFieldIndex) const
 Finds the vector join for a layer field index.
int joinedFieldsOffset (const QgsVectorJoinInfo *info, const QgsFields &fields)
 Find out what is the first index of the join within fields.
QgsVectorLayerJoinBufferclone () const
 Create a copy of the join buffer.

Static Public Member Functions

static QVector< int > joinSubsetIndices (QgsVectorLayer *joinLayer, const QStringList &joinFieldsSubset)
 Return a vector of indices for use in join based on field names from the layer.

Detailed Description

Manages joined fields for a vector layer.

Constructor & Destructor Documentation

QgsVectorLayerJoinBuffer::QgsVectorLayerJoinBuffer ( QgsVectorLayer layer = 0)
QgsVectorLayerJoinBuffer::~QgsVectorLayerJoinBuffer ( )

Member Function Documentation

bool QgsVectorLayerJoinBuffer::addJoin ( const QgsVectorJoinInfo joinInfo)

Joins another vector layer to this layer.

Parameters
joinInfojoin object containing join layer id, target and source field
Returns
(since 2.6) whether the join was successfully added
QgsVectorLayerJoinBuffer * QgsVectorLayerJoinBuffer::clone ( ) const

Create a copy of the join buffer.

Note
added in 2.6
bool QgsVectorLayerJoinBuffer::containsJoins ( ) const
inline

Quick way to test if there is any join at all.

void QgsVectorLayerJoinBuffer::createJoinCaches ( )

Calls cacheJoinLayer() for all vector joins.

void QgsVectorLayerJoinBuffer::joinedFieldsChanged ( )
signal

Emitted whenever the list of joined fields changes (e.g.

added join or joined layer's fields change)

Note
added in 2.6
int QgsVectorLayerJoinBuffer::joinedFieldsOffset ( const QgsVectorJoinInfo info,
const QgsFields fields 
)

Find out what is the first index of the join within fields.

Returns -1 if join is not present

Note
added in 2.6
const QgsVectorJoinInfo * QgsVectorLayerJoinBuffer::joinForFieldIndex ( int  index,
const QgsFields fields,
int &  sourceFieldIndex 
) const

Finds the vector join for a layer field index.

Parameters
indexthis layers attribute index
fieldsfields of the vector layer (including joined fields)
sourceFieldIndexOutput: field's index in source layer
QVector< int > QgsVectorLayerJoinBuffer::joinSubsetIndices ( QgsVectorLayer joinLayer,
const QStringList &  joinFieldsSubset 
)
static

Return a vector of indices for use in join based on field names from the layer.

Note
added in 2.6
void QgsVectorLayerJoinBuffer::readXml ( const QDomNode &  layer_node)

Reads joins from project file.

void QgsVectorLayerJoinBuffer::removeJoin ( const QString &  joinLayerId)

Removes a vector layer join.

void QgsVectorLayerJoinBuffer::updateFields ( QgsFields fields)

Updates field map with joined attributes.

Parameters
fieldsmap to append joined attributes
const QgsVectorJoinList& QgsVectorLayerJoinBuffer::vectorJoins ( ) const
inline
void QgsVectorLayerJoinBuffer::writeXml ( QDomNode &  layer_node,
QDomDocument &  document 
) const

Saves mVectorJoins to xml under the layer node.


The documentation for this class was generated from the following files: