Quantum GIS API Documentation
1.7.4
|
Vector layer backed by a data source provider. More...
#include <qgsvectorlayer.h>
Classes | |
struct | RangeData |
Public Types | |
enum | EditType { LineEdit, UniqueValues, UniqueValuesEditable, ValueMap, Classification, EditRange, SliderRange, CheckBox, FileName, Enumeration, Immutable, Hidden, TextEdit, Calendar, DialRange } |
enum | VertexMarkerType { SemiTransparentCircle, Cross, NoMarker } |
Editing vertex markers. More... | |
Public Slots | |
void | select (int featureId, bool emitSignal=true) |
Select feature by its ID, optionally emit signal selectionChanged() | |
void | deselect (int featureId, bool emitSignal=true) |
Deselect feature by its ID, optionally emit signal selectionChanged() | |
void | removeSelection (bool emitSignal=true) |
Clear selection. | |
void | triggerRepaint () |
virtual void | updateExtents () |
Update the extents for the layer. | |
void | checkJoinLayerRemove (QString theLayerId) |
Check if there is a join with a layer that will be removed. | |
Signals | |
void | selectionChanged () |
This signal is emited when selection was changed. | |
void | layerModified (bool onlyGeometry) |
This signal is emitted when modifications has been done on layer. | |
void | editingStarted () |
void | editingStopped () |
void | attributeAdded (int idx) |
void | attributeDeleted (int idx) |
void | featureAdded (int fid) |
void | featureDeleted (int fid) |
void | layerDeleted () |
void | attributeValueChanged (int fid, int idx, const QVariant &) |
void | committedAttributesDeleted (const QString &layerId, const QgsAttributeIds &deletedAttributeIds) |
Signals emitted after committing changes. | |
void | committedAttributesAdded (const QString &layerId, const QList< QgsField > &addedAttributes) |
void | committedFeaturesAdded (const QString &layerId, const QgsFeatureList &addedFeatures) |
void | committedFeaturesRemoved (const QString &layerId, const QgsFeatureIds &deletedFeatureIds) |
void | committedAttributeValuesChanges (const QString &layerId, const QgsChangedAttributesMap &changedAttributesValues) |
void | committedGeometriesChanges (const QString &layerId, const QgsGeometryMap &changedGeometries) |
Public Member Functions | |
QgsVectorLayer (QString path=QString::null, QString baseName=QString::null, QString providerLib=QString::null, bool loadDefaultStyleFlag=true) | |
Constructor. | |
virtual | ~QgsVectorLayer () |
Destructor. | |
QString | storageType () const |
Returns the permanent storage type for this layer as a friendly name. | |
QString | capabilitiesString () const |
Capabilities for this layer in a friendly format. | |
QString | dataComment () const |
Returns a comment for the data in the layer. | |
void | setDisplayField (QString fldName="") |
Set the primary display field to be used in the identify results dialog. | |
const QString | displayField () const |
Returns the primary display field name used in the identify results dialog. | |
QgsVectorDataProvider * | dataProvider () |
Returns the data provider. | |
const QgsVectorDataProvider * | dataProvider () const |
Returns the data provider in a const-correct manner. | |
void | setProviderEncoding (const QString &encoding) |
Sets the textencoding of the data provider. | |
void | setCoordinateSystem () |
Setup the coordinate system tranformation for the layer. | |
void | addJoin (QgsVectorJoinInfo joinInfo) |
Joins another vector layer to this layer. | |
void | removeJoin (const QString &joinLayerId) |
Removes a vector layer join. | |
const QList< QgsVectorJoinInfo > & | vectorJoins () const |
QgsLabel * | label () |
Get the label object associated with this layer. | |
const QgsLabel * | label () const |
QgsAttributeAction * | actions () |
int | selectedFeatureCount () |
The number of features that are selected in this layer. | |
void | select (QgsRectangle &rect, bool lock) |
Select features found within the search rectangle (in layer's coordinates) | |
void | invertSelection () |
Select not selected features and deselect selected ones. | |
void | invertSelectionInRectangle (QgsRectangle &rect) |
Invert selection of features found within the search rectangle (in layer's coordinates) | |
QgsFeatureList | selectedFeatures () |
Get a copy of the user-selected features. | |
const QgsFeatureIds & | selectedFeaturesIds () const |
Return reference to identifiers of selected features. | |
void | setSelectedFeatures (const QgsFeatureIds &ids) |
Change selection to the new set of features. | |
QgsRectangle | boundingBoxOfSelected () |
Returns the bounding box of the selected features. | |
bool | copySymbologySettings (const QgsMapLayer &other) |
Copies the symbology settings from another layer. | |
bool | hasCompatibleSymbology (const QgsMapLayer &other) const |
Returns true if this layer can be in the same symbology group with another layer. | |
const QgsRenderer * | renderer () const |
Returns a pointer to the renderer. | |
void | setRenderer (QgsRenderer *r) |
Sets the renderer. | |
void | setDiagramRenderer (QgsDiagramRendererV2 *r) |
Sets diagram rendering object (takes ownership) | |
const QgsDiagramRendererV2 * | diagramRenderer () const |
void | setDiagramLayerSettings (const QgsDiagramLayerSettings &s) |
const QgsDiagramLayerSettings * | diagramLayerSettings () const |
QgsFeatureRendererV2 * | rendererV2 () |
Return renderer V2. | |
void | setRendererV2 (QgsFeatureRendererV2 *r) |
Set renderer V2. | |
bool | isUsingRendererV2 () |
Return whether using renderer V2. | |
void | setUsingRendererV2 (bool usingRendererV2) |
set whether to use renderer V2 for drawing. | |
void | drawRendererV2 (QgsRenderContext &rendererContext, bool labeling) |
Draw layer with renderer V2. | |
void | drawRendererV2Levels (QgsRenderContext &rendererContext, bool labeling) |
Draw layer with renderer V2 using symbol levels. | |
QGis::GeometryType | geometryType () const |
Returns point, line or polygon. | |
bool | hasGeometryType () const |
Returns true if this is a geometry layer and false in case of NoGeometry (table only) or UnknownGeometry. | |
QGis::WkbType | wkbType () const |
Returns the WKBType or WKBUnknown in case of error. | |
QString | providerType () const |
Return the provider type for this layer. | |
virtual bool | readXml (QDomNode &layer_node) |
reads vector layer specific state from project file Dom node. | |
virtual bool | writeXml (QDomNode &layer_node, QDomDocument &doc) |
write vector layer specific state to project file Dom node. | |
bool | readSymbology (const QDomNode &node, QString &errorMessage) |
Read the symbology for the current layer from the Dom node supplied. | |
bool | writeSymbology (QDomNode &node, QDomDocument &doc, QString &errorMessage) const |
Write the symbology for the layer into the docment provided. | |
virtual long | featureCount () const |
Number of features in the layer. | |
virtual long | updateFeatureCount () const |
This function does nothing useful, it's kept only for compatibility. | |
virtual bool | setSubsetString (QString subset) |
Set the string (typically sql) used to define a subset of the layer. | |
virtual QString | subsetString () |
Get the string (typically sql) used to define a subset of the layer. | |
void | select (QgsAttributeList fetchAttributes, QgsRectangle rect=QgsRectangle(), bool fetchGeometry=true, bool useIntersect=false) |
Select features with or without attributes in a given window. | |
bool | nextFeature (QgsFeature &feature) |
fetch a feature (after select) | |
bool | featureAtId (int featureId, QgsFeature &f, bool fetchGeometries=true, bool fetchAttributes=true) |
Gets the feature at the given feature id. | |
bool | addFeature (QgsFeature &f, bool alsoUpdateExtent=true) |
Adds a feature. | |
bool | insertVertex (double x, double y, int atFeatureId, int beforeVertex) |
Insert a new vertex before the given vertex number, in the given ring, item (first number is index 0), and feature Not meaningful for Point geometries. | |
bool | moveVertex (double x, double y, int atFeatureId, int atVertex) |
Moves the vertex at the given position number, ring and item (first number is index 0), and feature to the given coordinates. | |
bool | deleteVertex (int atFeatureId, int atVertex) |
Deletes a vertex from a feature. | |
bool | deleteSelectedFeatures () |
Deletes the selected features. | |
int | addRing (const QList< QgsPoint > &ring) |
Adds a ring to polygon/multipolygon features. | |
int | addIsland (const QList< QgsPoint > &ring) |
Adds a new island polygon to a multipolygon feature. | |
int | translateFeature (int featureId, double dx, double dy) |
Translates feature by dx, dy. | |
int | splitFeatures (const QList< QgsPoint > &splitLine, bool topologicalEditing=false) |
Splits features cut by the given line. | |
int | removePolygonIntersections (QgsGeometry *geom) |
Changes the specified geometry such that it has no intersections with other polygon (or multipolygon) geometries in this vector layer. | |
int | addTopologicalPoints (QgsGeometry *geom) |
Adds topological points for every vertex of the geometry. | |
int | addTopologicalPoints (const QgsPoint &p) |
Adds a vertex to segments which intersect point p but don't already have a vertex there. | |
int | insertSegmentVerticesForSnap (const QList< QgsSnappingResult > &snapResults) |
Inserts vertices to the snapped segments. | |
void | enableLabels (bool on) |
Set labels on. | |
bool | hasLabelsEnabled (void) const |
Label is on. | |
virtual bool | isEditable () const |
Returns true if the provider is in editing mode. | |
virtual bool | isReadOnly () const |
Returns true if the provider is in read-only mode. | |
virtual bool | isModified () const |
Returns true if the provider has been modified since the last commit. | |
bool | snapPoint (QgsPoint &point, double tolerance) |
Snaps a point to the closest vertex if there is one within the snapping tolerance. | |
int | snapWithContext (const QgsPoint &startPoint, double snappingTolerance, QMultiMap< double, QgsSnappingResult > &snappingResults, QgsSnapper::SnappingType snap_to) |
Snaps to segment or vertex within given tolerance. | |
virtual void | reload () |
Synchronises with changes in the datasource. | |
bool | draw (QgsRenderContext &rendererContext) |
Draws the layer. | |
void | drawLabels (QgsRenderContext &rendererContext) |
Draws the layer labels using coordinate transformation. | |
const QgsFieldMap & | pendingFields () const |
returns field list in the to-be-committed state | |
QgsAttributeList | pendingAllAttributesList () |
returns list of attributes | |
int | pendingFeatureCount () |
returns feature count after commit | |
bool | setReadOnly (bool readonly=true) |
Make layer read-only (editing disabled) or not. | |
void | setModified (bool modified=true, bool onlyGeometryWasModified=false) |
Sets whether some features are modified or not. | |
bool | startEditing () |
Make layer editable. | |
bool | changeGeometry (int fid, QgsGeometry *geom) |
change feature's geometry | |
bool | changeAttributeValue (int fid, int field, QVariant value, bool emitSignal=true) |
changed an attribute value (but does not commit it) | |
bool | addAttribute (const QgsField &field) |
add an attribute field (but does not commit it) returns true if the field was added | |
Q_DECL_DEPRECATED bool | addAttribute (QString name, QString type) |
add an attribute field (but does not commit it) returns true if the field was added | |
void | addAttributeAlias (int attIndex, QString aliasString) |
Sets an alias (a display name) for attributes to display in dialogs. | |
QString | attributeAlias (int attributeIndex) const |
Returns the alias of an attribute name or an empty string if there is no alias. | |
QString | attributeDisplayName (int attributeIndex) const |
Convenience function that returns the attribute alias if defined or the field name else. | |
bool | deleteAttribute (int attr) |
delete an attribute field (but does not commit it) | |
bool | addFeatures (QgsFeatureList features, bool makeSelected=true) |
Insert a copy of the given features into the layer (but does not commit it) | |
bool | deleteFeature (int fid) |
delete a feature from the layer (but does not commit it) | |
bool | commitChanges () |
Attempts to commit any changes to disk. | |
const QStringList & | commitErrors () |
bool | rollBack () |
Stop editing and discard the edits. | |
EditType | editType (int idx) |
get edit type | |
void | setEditType (int idx, EditType edit) |
set edit type | |
void | setCheckedState (int idx, QString checked, QString notChecked) |
set string representing 'true' for a checkbox (added in 1.4) | |
QPair< QString, QString > | checkedState (int idx) |
return string representing 'true' for a checkbox (added in 1.4) | |
QString | editForm () |
get edit form (added in 1.4) | |
void | setEditForm (QString ui) |
set edit form (added in 1.4) | |
QString | annotationForm () const |
get annotation form (added in 1.5) | |
void | setAnnotationForm (const QString &ui) |
set annotation form for layer (added in 1.5) | |
QString | editFormInit () |
get python function for edit form initialization (added in 1.4) | |
void | setEditFormInit (QString function) |
set python function for edit form initialization (added in 1.4) | |
QMap< QString, QVariant > & | valueMap (int idx) |
access value map | |
RangeData & | range (int idx) |
access range | |
void | addOverlay (QgsVectorOverlay *overlay) |
Adds a new overlay to this class. | |
void | removeOverlay (const QString &typeName) |
Removes all overlays of a given type. | |
void | vectorOverlays (QList< QgsVectorOverlay * > &overlayList) |
Returns pointers to the overlays of this layer. | |
QgsVectorOverlay * | findOverlayByType (const QString &typeName) |
Returns the (first) overlay of a type, e.g. | |
void | beginEditCommand (QString text) |
Create edit command for undo/redo operations. | |
void | endEditCommand () |
Finish edit command and add it to undo/redo stack. | |
void | destroyEditCommand () |
Destroy active command and reverts all changes in it. | |
void | undoEditCommand (QgsUndoCommand *cmd) |
Execute undo operation. | |
void | redoEditCommand (QgsUndoCommand *cmd) |
Execute redo operation. | |
int | fieldNameIndex (const QString &fieldName) const |
Returns the index of a field name or -1 if the field does not exist. | |
void | updateFieldMap () |
Assembles mUpdatedFields considering provider fields, joined fields and added fields. | |
void | createJoinCaches () |
Caches joined attributes if required (and not already done) | |
void | uniqueValues (int index, QList< QVariant > &uniqueValues, int limit=-1) |
Returns unique values for column. | |
QVariant | minimumValue (int index) |
Returns minimum value for an attribute column or invalid variant in case of error. | |
QVariant | maximumValue (int index) |
Returns maximum value for an attribute column or invalid variant in case of error. | |
Static Public Member Functions | |
static void | drawVertexMarker (double x, double y, QPainter &p, QgsVectorLayer::VertexMarkerType type, int vertexSize) |
Draws a vertex symbol at (screen) coordinates x, y. | |
Private Member Functions | |
QgsVectorLayer (QgsVectorLayer const &rhs) | |
vector layers are not copyable | |
QgsVectorLayer & | operator= (QgsVectorLayer const &rhs) |
vector layers are not copyable | |
bool | setDataProvider (QString const &provider) |
bind layer to a specific data provider | |
void | drawFeature (QgsRenderContext &renderContext, QgsFeature &fet, QImage *marker) |
Draws features. | |
void | transformPoint (double &x, double &y, const QgsMapToPixel *mtp, const QgsCoordinateTransform *ct) |
Convenience function to transform the given point. | |
void | transformPoints (std::vector< double > &x, std::vector< double > &y, std::vector< double > &z, QgsRenderContext &renderContext) |
unsigned char * | drawLineString (unsigned char *WKBlinestring, QgsRenderContext &renderContext) |
Draw the linestring as given in the WKB format. | |
unsigned char * | drawPolygon (unsigned char *WKBpolygon, QgsRenderContext &renderContext) |
Draw the polygon as given in the WKB format. | |
int | findFreeId () |
Goes through all features and finds a free id (e.g. | |
void | deleteCachedGeometries () |
Deletes the geometries in mCachedGeometries. | |
void | snapToGeometry (const QgsPoint &startPoint, int featureId, QgsGeometry *geom, double sqrSnappingTolerance, QMultiMap< double, QgsSnappingResult > &snappingResults, QgsSnapper::SnappingType snap_to) const |
Snaps to a geometry and adds the result to the multimap if it is within the snapping result. | |
int | boundingBoxFromPointList (const QList< QgsPoint > &list, double &xmin, double &ymin, double &xmax, double &ymax) const |
Little helper function that gives bounding box from a list of points. | |
void | updateFeatureAttributes (QgsFeature &f, bool all=false) |
Update feature with uncommited attribute updates and joined attributes. | |
void | addJoinedFeatureAttributes (QgsFeature &f, const QgsVectorJoinInfo &joinInfo, const QString &joinFieldName, const QVariant &joinValue, const QgsAttributeList &attributes, int attributeIndexOffset) |
Adds joined attributes to a feature. | |
void | updateFeatureGeometry (QgsFeature &f) |
Update feature with uncommited geometry updates. | |
void | editGeometryChange (int featureId, QgsGeometry &geometry) |
Record changed geometry, store in active command (if any) | |
void | editFeatureAdd (QgsFeature &feature) |
Record added feature, store in active command (if any) | |
void | editFeatureDelete (int featureId) |
Record deleted feature, store in active command (if any) | |
void | editAttributeChange (int featureId, int field, QVariant value) |
Record changed attribute, store in active command (if any) | |
void | stopRendererV2 (QgsRenderContext &rendererContext, QgsSingleSymbolRendererV2 *selRenderer) |
Stop version 2 renderer and selected renderer (if required) | |
void | updateAttributeMapIndex (QgsAttributeMap &map, int oldIndex, int newIndex) const |
Updates an index in an attribute map to a new value (usually necessary because of a join operation) | |
void | prepareLabelingAndDiagrams (QgsRenderContext &rendererContext, QgsAttributeList &attributes, bool &labeling) |
Registers label and diagram layer. | |
Static Private Member Functions | |
static QgsVectorLayer::VertexMarkerType | currentVertexMarkerType () |
Reads vertex marker type from settings. | |
static int | currentVertexMarkerSize () |
Reads vertex marker size from settings. | |
Private Attributes | |
int | mUpdateThreshold |
Update threshold for drawing features as they are read. | |
QgsVectorDataProvider * | mDataProvider |
Pointer to data provider derived from the abastract base class QgsDataProvider. | |
QString | mDisplayField |
index of the primary label field | |
QString | mProviderKey |
Data provider key. | |
QgsAttributeAction * | mActions |
The user-defined actions that are accessed from the Identify Results dialog box. | |
bool | mEditable |
Flag indicating whether the layer is in editing mode or not. | |
bool | mReadOnly |
Flag indicating whether the layer is in read-only mode (editing disabled) or not. | |
bool | mModified |
Flag indicating whether the layer has been modified since the last commit. | |
QgsGeometryMap | mCachedGeometries |
cache of the committed geometries retrieved *for the current display* | |
QgsRectangle | mCachedGeometriesRect |
extent for which there are cached geometries | |
QgsFeatureIds | mSelectedFeatureIds |
Set holding the feature IDs that are activated. | |
QgsFeatureIds | mDeletedFeatureIds |
Deleted feature IDs which are not commited. | |
QgsFeatureList | mAddedFeatures |
New features which are not commited. | |
QgsChangedAttributesMap | mChangedAttributeValues |
Changed attributes values which are not commited. | |
QgsAttributeIds | mDeletedAttributeIds |
deleted attributes fields which are not commited | |
QgsAttributeIds | mAddedAttributeIds |
added attributes fields which are not commited | |
QgsGeometryMap | mChangedGeometries |
Changed geometries which are not commited. | |
QgsFieldMap | mUpdatedFields |
field map to commit | |
QMap< QString, QString > | mAttributeAliasMap |
Map that stores the aliases for attributes. | |
int | mMaxUpdatedIndex |
max field index | |
int | mWkbType |
Geometry type as defined in enum WkbType (qgis.h) | |
QgsUndoCommand * | mActiveCommand |
QgsRenderer * | mRenderer |
Renderer object which holds the information about how to display the features. | |
QgsFeatureRendererV2 * | mRendererV2 |
Renderer V2. | |
bool | mUsingRendererV2 |
whether to use V1 or V2 renderer | |
QgsLabel * | mLabel |
Label. | |
bool | mLabelOn |
Display labels. | |
QgsVectorLayer::VertexMarkerType | mCurrentVertexMarkerType |
The current type of editing marker. | |
int | mCurrentVertexMarkerSize |
The current size of editing marker. | |
bool | mVertexMarkerOnlyForSelection |
Flag if the vertex markers should be drawn only for selection (true) or for all features (false) | |
QList< QgsVectorOverlay * > | mOverlays |
List of overlays. | |
QStringList | mCommitErrors |
QMap< QString, EditType > | mEditTypes |
QMap< QString, QMap< QString, QVariant > > | mValueMaps |
QMap< QString, RangeData > | mRanges |
QMap< QString, QPair< QString, QString > > | mCheckedStates |
QString | mEditForm |
QString | mEditFormInit |
QString | mAnnotationForm |
bool | mFetching |
QgsRectangle | mFetchRect |
QgsAttributeList | mFetchAttributes |
QgsAttributeList | mFetchProvAttributes |
bool | mFetchGeometry |
QSet< int > | mFetchConsidered |
QgsGeometryMap::iterator | mFetchChangedGeomIt |
QgsFeatureList::iterator | mFetchAddedFeaturesIt |
QgsVectorLayerJoinBuffer * | mJoinBuffer |
QgsDiagramRendererV2 * | mDiagramRenderer |
QgsDiagramLayerSettings * | mDiagramLayerSettings |
Vector layer backed by a data source provider.
Definition at line 87 of file qgsvectorlayer.h.
LineEdit | |
UniqueValues | |
UniqueValuesEditable | |
ValueMap | |
Classification | |
EditRange | |
SliderRange | |
CheckBox | |
FileName | |
Enumeration | |
Immutable | |
Hidden | |
TextEdit | |
Calendar | |
DialRange |
Definition at line 92 of file qgsvectorlayer.h.
Editing vertex markers.
Definition at line 636 of file qgsvectorlayer.h.
QgsVectorLayer::QgsVectorLayer | ( | QString | path = QString::null , |
QString | baseName = QString::null , |
||
QString | providerLib = QString::null , |
||
bool | loadDefaultStyleFlag = true |
||
) |
Constructor.
Definition at line 95 of file qgsvectorlayer.cpp.
References checkJoinLayerRemove(), QgsFeatureRendererV2::defaultRenderer(), geometryType(), hasGeometryType(), QgsMapLayerRegistry::instance(), QgsMapLayer::loadDefaultStyle(), mActions, mJoinBuffer, mProviderKey, mUsingRendererV2, QgsMapLayer::mValid, renderer(), setCoordinateSystem(), setDataProvider(), setRenderer(), setRendererV2(), setUsingRendererV2(), and updateFieldMap().
QgsVectorLayer::~QgsVectorLayer | ( | ) | [virtual] |
Destructor.
Definition at line 180 of file qgsvectorlayer.cpp.
References deleteCachedGeometries(), layerDeleted(), mActions, mDataProvider, mDiagramLayerSettings, mJoinBuffer, mLabel, mOverlays, mRenderer, QgsMapLayer::mValid, and QgsDebugMsg.
QgsVectorLayer::QgsVectorLayer | ( | QgsVectorLayer const & | rhs | ) | [private] |
vector layers are not copyable
QgsAttributeAction* QgsVectorLayer::actions | ( | ) | [inline] |
Definition at line 173 of file qgsvectorlayer.h.
bool QgsVectorLayer::addAttribute | ( | const QgsField & | field | ) |
add an attribute field (but does not commit it) returns true if the field was added
Definition at line 3322 of file qgsvectorlayer.cpp.
References attributeAdded(), isEditable(), mActiveCommand, mAddedAttributeIds, mDataProvider, mMaxUpdatedIndex, mUpdatedFields, QgsField::name(), setModified(), QgsUndoCommand::storeAttributeAdd(), and QgsVectorDataProvider::supportedType().
Referenced by addAttribute().
bool QgsVectorLayer::addAttribute | ( | QString | name, |
QString | type | ||
) |
add an attribute field (but does not commit it) returns true if the field was added
Definition at line 3356 of file qgsvectorlayer.cpp.
References addAttribute(), mDataProvider, QgsVectorDataProvider::nativeTypes(), and QgsMapLayer::type().
void QgsVectorLayer::addAttributeAlias | ( | int | attIndex, |
QString | aliasString | ||
) |
Sets an alias (a display name) for attributes to display in dialogs.
Definition at line 3367 of file qgsvectorlayer.cpp.
References layerModified(), mAttributeAliasMap, QgsMapLayer::name(), and pendingFields().
bool QgsVectorLayer::addFeature | ( | QgsFeature & | f, |
bool | alsoUpdateExtent = true |
||
) |
Adds a feature.
f | feature to add |
alsoUpdateExtent | If True, will also go to the effort of e.g. updating the extents. |
Definition at line 1899 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::AddFeatures, QgsVectorDataProvider::capabilities(), editFeatureAdd(), featureAdded(), QgsFeature::geometry(), QgsFeature::id(), isEditable(), mCachedGeometries, mDataProvider, QgsDebugMsg, QgsFeature::setFeatureId(), setModified(), and updateExtents().
Referenced by addFeatures().
bool QgsVectorLayer::addFeatures | ( | QgsFeatureList | features, |
bool | makeSelected = true |
||
) |
Insert a copy of the given features into the layer (but does not commit it)
Definition at line 3867 of file qgsvectorlayer.cpp.
References addFeature(), QgsVectorDataProvider::AddFeatures, QgsVectorDataProvider::capabilities(), isEditable(), mDataProvider, mSelectedFeatureIds, selectionChanged(), QgsMapLayer::setCacheImage(), and updateExtents().
Referenced by splitFeatures().
int QgsVectorLayer::addIsland | ( | const QList< QgsPoint > & | ring | ) |
Adds a new island polygon to a multipolygon feature.
Definition at line 2135 of file qgsvectorlayer.cpp.
References QgsGeometry::addIsland(), editGeometryChange(), featureAtId(), QgsFeature::geometryAndOwnership(), hasGeometryType(), mAddedFeatures, mCachedGeometries, mChangedGeometries, mSelectedFeatureIds, QgsDebugMsg, and setModified().
void QgsVectorLayer::addJoin | ( | QgsVectorJoinInfo | joinInfo | ) |
Joins another vector layer to this layer.
joinInfo | join object containing join layer id, target and source field |
Definition at line 4920 of file qgsvectorlayer.cpp.
References QgsVectorLayerJoinBuffer::addJoin(), mJoinBuffer, and updateFieldMap().
void QgsVectorLayer::addJoinedFeatureAttributes | ( | QgsFeature & | f, |
const QgsVectorJoinInfo & | joinInfo, | ||
const QString & | joinFieldName, | ||
const QVariant & | joinValue, | ||
const QgsAttributeList & | attributes, | ||
int | attributeIndexOffset | ||
) | [private] |
Adds joined attributes to a feature.
f | the feature to add the attributes |
joinInfo | vector join |
joinFieldName | name of the (source) join Field |
joinValue | lookup value for join |
attributes | (join layer) attribute indices to add |
attributeIndexOffset | index offset to get from join layer attribute index to layer index |
Definition at line 1560 of file qgsvectorlayer.cpp.
References QgsFeature::addAttribute(), QgsFeature::attributeMap(), QgsVectorJoinInfo::cachedAttributes, dataProvider(), QgsMapLayerRegistry::instance(), QgsVectorJoinInfo::joinLayerId, QgsMapLayerRegistry::mapLayer(), nextFeature(), select(), QgsDataProvider::setSubsetString(), QgsDataProvider::subsetString(), and subsetString().
void QgsVectorLayer::addOverlay | ( | QgsVectorOverlay * | overlay | ) |
Adds a new overlay to this class.
QgsVectorLayer takes ownership of the object
Definition at line 4499 of file qgsvectorlayer.cpp.
References mOverlays.
int QgsVectorLayer::addRing | ( | const QList< QgsPoint > & | ring | ) |
Adds a ring to polygon/multipolygon features.
Definition at line 2098 of file qgsvectorlayer.cpp.
References QgsGeometry::addRing(), boundingBoxFromPointList(), editGeometryChange(), QgsFeature::geometry(), hasGeometryType(), QgsFeature::id(), nextFeature(), select(), setModified(), QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), and QgsRectangle::setYMinimum().
int QgsVectorLayer::addTopologicalPoints | ( | QgsGeometry * | geom | ) |
Adds topological points for every vertex of the geometry.
geom | the geometry where each vertex is added to segments of other features |
Definition at line 2417 of file qgsvectorlayer.cpp.
References QgsGeometry::asMultiPolygon(), QgsGeometry::asMultiPolyline(), QgsGeometry::asPolygon(), QgsGeometry::asPolyline(), hasGeometryType(), QGis::WKBLineString, QGis::WKBLineString25D, QGis::WKBMultiLineString, QGis::WKBMultiLineString25D, QGis::WKBMultiPolygon, QGis::WKBMultiPolygon25D, QGis::WKBPolygon, QGis::WKBPolygon25D, QgsGeometry::wkbType(), and wkbType().
Referenced by splitFeatures().
int QgsVectorLayer::addTopologicalPoints | ( | const QgsPoint & | p | ) |
Adds a vertex to segments which intersect point p but don't already have a vertex there.
If a feature already has a vertex at position p, no additional vertex is inserted. This method is useful for topological editing.
p | position of the vertex |
Definition at line 2524 of file qgsvectorlayer.cpp.
References QGis::Feet, hasGeometryType(), insertSegmentVerticesForSnap(), QgsCoordinateReferenceSystem::mapUnits(), QgsMapLayer::mCRS, QGis::Meters, QgsSnapper::SnapToSegment, QgsSnapper::SnapToVertex, and snapWithContext().
QString QgsVectorLayer::annotationForm | ( | ) | const [inline] |
get annotation form (added in 1.5)
Definition at line 573 of file qgsvectorlayer.h.
Referenced by QgsFormAnnotationItem::QgsFormAnnotationItem().
void QgsVectorLayer::attributeAdded | ( | int | idx | ) | [signal] |
Referenced by addAttribute(), redoEditCommand(), and undoEditCommand().
QString QgsVectorLayer::attributeAlias | ( | int | attributeIndex | ) | const |
Returns the alias of an attribute name or an empty string if there is no alias.
Definition at line 3378 of file qgsvectorlayer.cpp.
References mAttributeAliasMap, QgsMapLayer::name(), and pendingFields().
Referenced by attributeDisplayName(), and QgsComposerAttributeTable::initializeAliasMap().
void QgsVectorLayer::attributeDeleted | ( | int | idx | ) | [signal] |
Referenced by deleteAttribute(), redoEditCommand(), and undoEditCommand().
QString QgsVectorLayer::attributeDisplayName | ( | int | attributeIndex | ) | const |
Convenience function that returns the attribute alias if defined or the field name else.
Definition at line 3388 of file qgsvectorlayer.cpp.
References attributeAlias(), and pendingFields().
Referenced by QgsLegendModel::addVectorLayerItems(), and QgsAttributeAction::expandAction().
void QgsVectorLayer::attributeValueChanged | ( | int | fid, |
int | idx, | ||
const QVariant & | |||
) | [signal] |
Referenced by changeAttributeValue(), redoEditCommand(), and undoEditCommand().
void QgsVectorLayer::beginEditCommand | ( | QString | text | ) |
Create edit command for undo/redo operations.
text | text which is to be displayed in undo window |
Definition at line 4641 of file qgsvectorlayer.cpp.
References mActiveCommand.
int QgsVectorLayer::boundingBoxFromPointList | ( | const QList< QgsPoint > & | list, |
double & | xmin, | ||
double & | ymin, | ||
double & | xmax, | ||
double & | ymax | ||
) | const [private] |
Little helper function that gives bounding box from a list of points.
Definition at line 4138 of file qgsvectorlayer.cpp.
References MathUtils::max().
Referenced by addRing(), and splitFeatures().
Returns the bounding box of the selected features.
If there is no selection, QgsRectangle(0,0,0,0) is returned
Definition at line 1385 of file qgsvectorlayer.cpp.
References QgsGeometry::boundingBox(), QgsRectangle::combineExtentWith(), QgsFeature::geometry(), QgsRectangle::height(), QgsFeature::id(), mSelectedFeatureIds, nextFeature(), select(), QgsRectangle::set(), QgsRectangle::setMinimal(), QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by QgsGeometryAnalyzer::extent(), and QgsMapCanvas::zoomToSelected().
QString QgsVectorLayer::capabilitiesString | ( | ) | const |
Capabilities for this layer in a friendly format.
Definition at line 218 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::capabilitiesString(), and mDataProvider.
bool QgsVectorLayer::changeAttributeValue | ( | int | fid, |
int | field, | ||
QVariant | value, | ||
bool | emitSignal = true |
||
) |
changed an attribute value (but does not commit it)
Definition at line 3308 of file qgsvectorlayer.cpp.
References attributeValueChanged(), editAttributeChange(), isEditable(), and setModified().
bool QgsVectorLayer::changeGeometry | ( | int | fid, |
QgsGeometry * | geom | ||
) |
change feature's geometry
Definition at line 3294 of file qgsvectorlayer.cpp.
References editGeometryChange(), hasGeometryType(), mCachedGeometries, mDataProvider, mEditable, and setModified().
QPair< QString, QString > QgsVectorLayer::checkedState | ( | int | idx | ) |
return string representing 'true' for a checkbox (added in 1.4)
Definition at line 4897 of file qgsvectorlayer.cpp.
References mCheckedStates, QgsMapLayer::name(), and pendingFields().
Referenced by QgsAttributeEditor::retrieveValue(), and QgsAttributeEditor::setValue().
void QgsVectorLayer::checkJoinLayerRemove | ( | QString | theLayerId | ) | [slot] |
Check if there is a join with a layer that will be removed.
Definition at line 4926 of file qgsvectorlayer.cpp.
References removeJoin().
Referenced by QgsVectorLayer().
bool QgsVectorLayer::commitChanges | ( | ) |
Attempts to commit any changes to disk.
Returns the result of the attempt. If a commit fails, the in-memory changes are left alone.
This allows editing to continue if the commit failed on e.g. a disallowed value in a Postgres database - the user can re-edit and try again.
The commits occur in distinct stages, (add attributes, add features, change attribute values, change geometries, delete features, delete attributes) so if a stage fails, it's difficult to roll back cleanly. Therefore any error message also includes which stage failed so that the user has some chance of repairing the damage cleanly.
Definition at line 3466 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::AddAttributes, QgsVectorDataProvider::addAttributes(), QgsVectorDataProvider::AddFeatures, QgsVectorDataProvider::addFeatures(), QgsVectorDataProvider::capabilities(), QgsVectorDataProvider::ChangeAttributeValues, QgsVectorDataProvider::changeAttributeValues(), QgsVectorDataProvider::ChangeGeometries, QgsVectorDataProvider::changeGeometryValues(), committedAttributesAdded(), committedAttributesDeleted(), committedAttributeValuesChanges(), committedFeaturesAdded(), committedFeaturesRemoved(), committedGeometriesChanges(), QgsVectorDataProvider::DeleteAttributes, QgsVectorDataProvider::deleteAttributes(), deleteCachedGeometries(), QgsVectorDataProvider::DeleteFeatures, QgsVectorDataProvider::deleteFeatures(), editingStopped(), QgsVectorDataProvider::fields(), QgsFeature::id(), isEditable(), mAddedAttributeIds, mAddedFeatures, mChangedAttributeValues, mChangedGeometries, mCommitErrors, mDataProvider, mDeletedAttributeIds, mDeletedFeatureIds, mEditable, mUpdatedFields, QgsMapLayer::name(), QgsDebugMsg, QgsMapLayer::setCacheImage(), QgsFeature::setGeometry(), setModified(), QgsMapLayer::undoStack(), QgsDataProvider::updateExtents(), and updateFieldMap().
const QStringList & QgsVectorLayer::commitErrors | ( | ) |
Definition at line 3761 of file qgsvectorlayer.cpp.
References mCommitErrors.
void QgsVectorLayer::committedAttributesAdded | ( | const QString & | layerId, |
const QList< QgsField > & | addedAttributes | ||
) | [signal] |
Referenced by commitChanges().
void QgsVectorLayer::committedAttributesDeleted | ( | const QString & | layerId, |
const QgsAttributeIds & | deletedAttributeIds | ||
) | [signal] |
void QgsVectorLayer::committedAttributeValuesChanges | ( | const QString & | layerId, |
const QgsChangedAttributesMap & | changedAttributesValues | ||
) | [signal] |
Referenced by commitChanges().
void QgsVectorLayer::committedFeaturesAdded | ( | const QString & | layerId, |
const QgsFeatureList & | addedFeatures | ||
) | [signal] |
Referenced by commitChanges().
void QgsVectorLayer::committedFeaturesRemoved | ( | const QString & | layerId, |
const QgsFeatureIds & | deletedFeatureIds | ||
) | [signal] |
Referenced by commitChanges().
void QgsVectorLayer::committedGeometriesChanges | ( | const QString & | layerId, |
const QgsGeometryMap & | changedGeometries | ||
) | [signal] |
Referenced by commitChanges().
bool QgsVectorLayer::copySymbologySettings | ( | const QgsMapLayer & | other | ) | [virtual] |
Copies the symbology settings from another layer.
Returns true in case of success
Implements QgsMapLayer.
Definition at line 3913 of file qgsvectorlayer.cpp.
References QgsRenderer::clone(), hasGeometryType(), and mRenderer.
void QgsVectorLayer::createJoinCaches | ( | ) |
Caches joined attributes if required (and not already done)
Definition at line 5005 of file qgsvectorlayer.cpp.
References QgsVectorLayerJoinBuffer::containsJoins(), QgsVectorLayerJoinBuffer::createJoinCaches(), and mJoinBuffer.
int QgsVectorLayer::currentVertexMarkerSize | ( | ) | [static, private] |
Reads vertex marker size from settings.
Definition at line 4191 of file qgsvectorlayer.cpp.
Referenced by draw(), and drawRendererV2Levels().
QgsVectorLayer::VertexMarkerType QgsVectorLayer::currentVertexMarkerType | ( | ) | [static, private] |
Reads vertex marker type from settings.
Definition at line 4173 of file qgsvectorlayer.cpp.
References Cross, NoMarker, and SemiTransparentCircle.
Referenced by draw(), and drawRendererV2Levels().
QString QgsVectorLayer::dataComment | ( | ) | const |
Returns a comment for the data in the layer.
Definition at line 227 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::dataComment(), and mDataProvider.
Returns the data provider.
Definition at line 1281 of file qgsvectorlayer.cpp.
References mDataProvider.
Referenced by QgsVectorLayerJoinBuffer::addJoinedFeatureAttributes(), addJoinedFeatureAttributes(), QgsGeometryAnalyzer::buffer(), QgsZonalStatistics::calculateStatistics(), QgsGeometryAnalyzer::centroids(), QgsGeometryAnalyzer::convexHull(), QgsAttributeEditor::createAttributeEditor(), QgsGeometryAnalyzer::dissolve(), QgsGeometryAnalyzer::extent(), QgsOverlayAnalyzer::intersection(), nextFeature(), QgsUniqueValueRenderer::readXML(), QgsContinuousColorRenderer::readXML(), QgsGraduatedSymbolRenderer::readXML(), QgsGeometryAnalyzer::simplify(), QgsProjectFileTransform::transform0110to1000(), uniqueValues(), QgsUniqueValueRenderer::writeXML(), QgsContinuousColorRenderer::writeXML(), and QgsGraduatedSymbolRenderer::writeXML().
const QgsVectorDataProvider * QgsVectorLayer::dataProvider | ( | ) | const |
Returns the data provider in a const-correct manner.
Definition at line 1286 of file qgsvectorlayer.cpp.
References mDataProvider.
bool QgsVectorLayer::deleteAttribute | ( | int | attr | ) |
delete an attribute field (but does not commit it)
Definition at line 3403 of file qgsvectorlayer.cpp.
References attributeDeleted(), QgsVectorDataProvider::fields(), isEditable(), mActiveCommand, mAddedAttributeIds, mDataProvider, mDeletedAttributeIds, mUpdatedFields, setModified(), and QgsUndoCommand::storeAttributeDelete().
void QgsVectorLayer::deleteCachedGeometries | ( | ) | [private] |
Deletes the geometries in mCachedGeometries.
Definition at line 1134 of file qgsvectorlayer.cpp.
References mCachedGeometries, and mCachedGeometriesRect.
Referenced by commitChanges(), draw(), rollBack(), and ~QgsVectorLayer().
bool QgsVectorLayer::deleteFeature | ( | int | fid | ) |
delete a feature from the layer (but does not commit it)
Definition at line 3431 of file qgsvectorlayer.cpp.
References editFeatureDelete(), featureDeleted(), isEditable(), mDeletedFeatureIds, mSelectedFeatureIds, and setModified().
Referenced by deleteSelectedFeatures().
Deletes the selected features.
Definition at line 2066 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::capabilities(), deleteFeature(), QgsVectorDataProvider::DeleteFeatures, isEditable(), mDataProvider, mSelectedFeatureIds, selectionChanged(), QgsMapLayer::setCacheImage(), triggerRepaint(), and updateExtents().
bool QgsVectorLayer::deleteVertex | ( | int | atFeatureId, |
int | atVertex | ||
) |
Deletes a vertex from a feature.
Definition at line 2024 of file qgsvectorlayer.cpp.
References QgsGeometry::deleteVertex(), editGeometryChange(), hasGeometryType(), mCachedGeometries, mChangedGeometries, mDataProvider, mEditable, and setModified().
void QgsVectorLayer::deselect | ( | int | featureId, |
bool | emitSignal = true |
||
) | [slot] |
Deselect feature by its ID, optionally emit signal selectionChanged()
Definition at line 1170 of file qgsvectorlayer.cpp.
References mSelectedFeatureIds, selectionChanged(), and QgsMapLayer::setCacheImage().
Referenced by invertSelectionInRectangle().
void QgsVectorLayer::destroyEditCommand | ( | ) |
Destroy active command and reverts all changes in it.
Definition at line 4659 of file qgsvectorlayer.cpp.
References mActiveCommand, and undoEditCommand().
const QgsDiagramLayerSettings* QgsVectorLayer::diagramLayerSettings | ( | ) | const [inline] |
Definition at line 216 of file qgsvectorlayer.h.
const QgsDiagramRendererV2* QgsVectorLayer::diagramRenderer | ( | ) | const [inline] |
Definition at line 213 of file qgsvectorlayer.h.
const QString QgsVectorLayer::displayField | ( | ) | const |
Returns the primary display field name used in the identify results dialog.
Definition at line 4390 of file qgsvectorlayer.cpp.
References mDisplayField.
Referenced by writeSymbology().
bool QgsVectorLayer::draw | ( | QgsRenderContext & | rendererContext | ) | [virtual] |
Draws the layer.
Reimplemented from QgsMapLayer.
Definition at line 949 of file qgsvectorlayer.cpp.
References QgsRenderer::classificationAttributes(), currentVertexMarkerSize(), currentVertexMarkerType(), deleteCachedGeometries(), drawFeature(), drawRendererV2(), drawRendererV2Levels(), QgsFeatureRendererV2::dump(), QgsRenderContext::extent(), featureCount(), fieldNameIndex(), QgsFeature::geometry(), hasGeometryType(), QgsFeature::id(), QgsRenderContext::labelingEngine(), mCachedGeometries, mCachedGeometriesRect, mCurrentVertexMarkerSize, mCurrentVertexMarkerType, mDiagramRenderer, mEditable, mRenderer, mRendererV2, mSelectedFeatureIds, QgsMapLayer::mTransparencyLevel, mUpdateThreshold, mUsingRendererV2, mVertexMarkerOnlyForSelection, nextFeature(), NoMarker, prepareLabelingAndDiagrams(), QgsDebugMsg, QgsLabelingEngineInterface::registerDiagramFeature(), QgsLabelingEngineInterface::registerFeature(), QgsRenderer::renderFeature(), QgsRenderContext::renderingStopped(), QgsMapLayer::screenUpdateRequested(), select(), QgsFeatureRendererV2::setVertexMarkerAppearance(), QgsFeature::typeName(), QgsFeatureRendererV2::usedAttributes(), QgsRenderer::usesTransparency(), QgsFeatureRendererV2::usingSymbolLevels(), QgsException::what(), and QgsRenderer::willRenderFeature().
void QgsVectorLayer::drawFeature | ( | QgsRenderContext & | renderContext, |
QgsFeature & | fet, | ||
QImage * | marker | ||
) | [private] |
Draws features.
May cause projections exceptions to be generated (i.e., code that calls this function needs to catch them)
Definition at line 4197 of file qgsvectorlayer.cpp.
References QgsGeometry::asWkb(), QgsRenderContext::coordinateTransform(), drawLineString(), drawPolygon(), QgsFeature::geometry(), QgsFeature::isValid(), QgsRenderContext::mapToPixel(), QgsClipper::MAX_X, QgsClipper::MAX_Y, QgsRenderContext::painter(), QgsDebugMsg, QgsRenderContext::rasterScaleFactor(), transformPoint(), QGis::WKBLineString, QGis::WKBLineString25D, QGis::WKBMultiLineString, QGis::WKBMultiLineString25D, QGis::WKBMultiPoint, QGis::WKBMultiPoint25D, QGis::WKBMultiPolygon, QGis::WKBMultiPolygon25D, QGis::WKBPoint, QGis::WKBPoint25D, QGis::WKBPolygon, QGis::WKBPolygon25D, QgsGeometry::wkbType(), and wkbType().
Referenced by draw().
void QgsVectorLayer::drawLabels | ( | QgsRenderContext & | rendererContext | ) | [virtual] |
Draws the layer labels using coordinate transformation.
Reimplemented from QgsMapLayer.
Definition at line 325 of file qgsvectorlayer.cpp.
References QgsLabel::addRequiredFields(), QgsRenderer::classificationAttributes(), QgsRenderContext::extent(), featureCount(), fieldNameIndex(), hasGeometryType(), QgsLabel::maxScale(), QgsLabel::minScale(), mLabel, mLabelOn, mRenderer, mRendererV2, mSelectedFeatureIds, nextFeature(), QgsDebugMsg, QgsRenderContext::rendererScale(), QgsLabel::renderLabel(), QgsLabel::scaleBasedVisibility(), select(), QgsFeatureRendererV2::startRender(), QgsFeatureRendererV2::stopRender(), QgsFeatureRendererV2::symbolForFeature(), QgsFeatureRendererV2::usedAttributes(), and QgsRenderer::willRenderFeature().
unsigned char * QgsVectorLayer::drawLineString | ( | unsigned char * | WKBlinestring, |
QgsRenderContext & | renderContext | ||
) | [private] |
Draw the linestring as given in the WKB format.
Returns a pointer to the byte after the end of the line string binary data stream (WKB).
Definition at line 399 of file qgsvectorlayer.cpp.
References QgsRenderContext::drawEditingInformation(), drawVertexMarker(), QgsClipper::MAX_X, QgsClipper::MAX_Y, mCurrentVertexMarkerSize, mCurrentVertexMarkerType, mEditable, mRenderer, QgsMapLayer::mTransparencyLevel, QgsRenderContext::painter(), transformPoints(), QgsClipper::trimFeature(), QgsRenderer::usesTransparency(), QGis::WKBLineString25D, and wkbType().
Referenced by drawFeature().
unsigned char * QgsVectorLayer::drawPolygon | ( | unsigned char * | WKBpolygon, |
QgsRenderContext & | renderContext | ||
) | [private] |
Draw the polygon as given in the WKB format.
Returns a pointer to the byte after the end of the polygon binary data stream (WKB).
Definition at line 492 of file qgsvectorlayer.cpp.
References QgsRenderContext::drawEditingInformation(), drawVertexMarker(), MathUtils::max(), QgsClipper::MAX_X, QgsClipper::MAX_Y, mCurrentVertexMarkerSize, mCurrentVertexMarkerType, mEditable, mRenderer, QgsMapLayer::mTransparencyLevel, QgsRenderContext::painter(), QgsDebugMsg, transformPoints(), QgsClipper::trimFeature(), QgsRenderer::usesTransparency(), QGis::WKBPolygon25D, and wkbType().
Referenced by drawFeature().
void QgsVectorLayer::drawRendererV2 | ( | QgsRenderContext & | rendererContext, |
bool | labeling | ||
) |
Draw layer with renderer V2.
Definition at line 716 of file qgsvectorlayer.cpp.
References featureCount(), QgsFeature::geometry(), hasGeometryType(), QgsFeature::id(), QgsRenderContext::labelingEngine(), mCachedGeometries, mDiagramRenderer, mEditable, mRendererV2, mSelectedFeatureIds, mUpdateThreshold, nextFeature(), QgsDebugMsg, QgsLabelingEngineInterface::registerDiagramFeature(), QgsLabelingEngineInterface::registerFeature(), QgsFeatureRendererV2::renderFeature(), QgsRenderContext::renderingStopped(), QgsMapLayer::screenUpdateRequested(), QgsFeatureRendererV2::startRender(), QgsFeatureRendererV2::symbolForFeature(), QgsFeature::typeName(), and QgsException::what().
Referenced by draw().
void QgsVectorLayer::drawRendererV2Levels | ( | QgsRenderContext & | rendererContext, |
bool | labeling | ||
) |
Draw layer with renderer V2 using symbol levels.
Definition at line 794 of file qgsvectorlayer.cpp.
References currentVertexMarkerSize(), currentVertexMarkerType(), QgsSymbolV2::defaultSymbol(), featureCount(), QgsFeature::geometry(), geometryType(), hasGeometryType(), QgsFeature::id(), QgsRenderContext::labelingEngine(), QgsSymbolV2LevelItem::layer(), mCachedGeometries, mDiagramRenderer, mEditable, mRendererV2, mSelectedFeatureIds, nextFeature(), QgsDebugMsg, QgsLabelingEngineInterface::registerDiagramFeature(), QgsLabelingEngineInterface::registerFeature(), QgsFeatureRendererV2::renderFeature(), QgsSymbolLayerV2::renderingPass(), QgsRenderContext::renderingStopped(), QgsRenderer::selectionColor(), QgsSymbolV2::setColor(), QgsFeatureRendererV2::setVertexMarkerAppearance(), QgsSingleSymbolRendererV2::startRender(), QgsFeatureRendererV2::startRender(), stopRendererV2(), QgsSingleSymbolRendererV2::symbol(), QgsSymbolV2LevelItem::symbol(), QgsFeatureRendererV2::symbolForFeature(), QgsSymbolV2::symbolLayer(), QgsSymbolV2::symbolLayerCount(), QgsFeatureRendererV2::symbols(), QgsFeature::typeName(), and QgsException::what().
Referenced by draw().
void QgsVectorLayer::drawVertexMarker | ( | double | x, |
double | y, | ||
QPainter & | p, | ||
QgsVectorLayer::VertexMarkerType | type, | ||
int | vertexSize | ||
) | [static] |
Draws a vertex symbol at (screen) coordinates x, y.
(Useful to assist vertex editing.)
Definition at line 1141 of file qgsvectorlayer.cpp.
References Cross, and SemiTransparentCircle.
Referenced by drawLineString(), drawPolygon(), and QgsFeatureRendererV2::renderVertexMarker().
void QgsVectorLayer::editAttributeChange | ( | int | featureId, |
int | field, | ||
QVariant | value | ||
) | [private] |
Record changed attribute, store in active command (if any)
Definition at line 4587 of file qgsvectorlayer.cpp.
References mActiveCommand, mAddedFeatures, mChangedAttributeValues, and QgsUndoCommand::storeAttributeChange().
Referenced by changeAttributeValue().
void QgsVectorLayer::editFeatureAdd | ( | QgsFeature & | feature | ) | [private] |
Record added feature, store in active command (if any)
Definition at line 4569 of file qgsvectorlayer.cpp.
References mActiveCommand, mAddedFeatures, and QgsUndoCommand::storeFeatureAdd().
Referenced by addFeature().
void QgsVectorLayer::editFeatureDelete | ( | int | featureId | ) | [private] |
Record deleted feature, store in active command (if any)
Definition at line 4578 of file qgsvectorlayer.cpp.
References mActiveCommand, mDeletedFeatureIds, and QgsUndoCommand::storeFeatureDelete().
Referenced by deleteFeature().
QString QgsVectorLayer::editForm | ( | ) |
get edit form (added in 1.4)
Definition at line 4442 of file qgsvectorlayer.cpp.
References mEditForm.
QString QgsVectorLayer::editFormInit | ( | ) |
get python function for edit form initialization (added in 1.4)
Definition at line 4457 of file qgsvectorlayer.cpp.
References mEditFormInit.
void QgsVectorLayer::editGeometryChange | ( | int | featureId, |
QgsGeometry & | geometry | ||
) | [private] |
Record changed geometry, store in active command (if any)
Definition at line 4559 of file qgsvectorlayer.cpp.
References mActiveCommand, mChangedGeometries, and QgsUndoCommand::storeGeometryChange().
Referenced by addIsland(), addRing(), changeGeometry(), deleteVertex(), insertVertex(), moveVertex(), splitFeatures(), and translateFeature().
void QgsVectorLayer::editingStarted | ( | ) | [signal] |
Referenced by startEditing().
void QgsVectorLayer::editingStopped | ( | ) | [signal] |
Referenced by commitChanges(), and rollBack().
QgsVectorLayer::EditType QgsVectorLayer::editType | ( | int | idx | ) |
get edit type
Definition at line 4426 of file qgsvectorlayer.cpp.
References LineEdit, mEditTypes, QgsMapLayer::name(), and pendingFields().
Referenced by QgsAttributeEditor::createAttributeEditor(), readSymbology(), QgsAttributeEditor::retrieveValue(), and QgsAttributeEditor::setValue().
void QgsVectorLayer::enableLabels | ( | bool | on | ) |
Set labels on.
Definition at line 2591 of file qgsvectorlayer.cpp.
References mLabelOn.
Referenced by readSymbology().
void QgsVectorLayer::endEditCommand | ( | ) |
Finish edit command and add it to undo/redo stack.
Definition at line 4649 of file qgsvectorlayer.cpp.
References mActiveCommand, and QgsMapLayer::undoStack().
void QgsVectorLayer::featureAdded | ( | int | fid | ) | [signal] |
Referenced by addFeature(), redoEditCommand(), and undoEditCommand().
bool QgsVectorLayer::featureAtId | ( | int | featureId, |
QgsFeature & | f, | ||
bool | fetchGeometries = true , |
||
bool | fetchAttributes = true |
||
) |
Gets the feature at the given feature id.
Considers the changed, added, deleted and permanent features
Definition at line 1817 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::attributeIndexes(), QgsFeature::attributeMap(), QgsVectorDataProvider::featureAtId(), QgsFeature::id(), mAddedFeatures, mChangedGeometries, mDataProvider, mDeletedFeatureIds, QgsDebugMsg, QgsFeature::setAttributeMap(), QgsFeature::setFeatureId(), QgsFeature::setGeometry(), QgsFeature::setValid(), and updateFeatureAttributes().
Referenced by addIsland(), QgsGeometryAnalyzer::buffer(), QgsGeometryAnalyzer::centroids(), QgsGeometryAnalyzer::convexHull(), QgsFormAnnotationItem::createDesignerWidget(), QgsGeometryAnalyzer::dissolve(), QgsOverlayAnalyzer::intersectFeature(), QgsOverlayAnalyzer::intersection(), and QgsGeometryAnalyzer::simplify().
long QgsVectorLayer::featureCount | ( | ) | const [virtual] |
Number of features in the layer.
This is necessary if features are added/deleted or the layer has been subsetted. If the data provider chooses not to support this feature, the total number of features can be returned.
Definition at line 1430 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::featureCount(), mDataProvider, and QgsDebugMsg.
Referenced by QgsGeometryAnalyzer::buffer(), QgsGeometryAnalyzer::centroids(), QgsGeometryAnalyzer::convexHull(), QgsSearchQueryBuilder::countRecords(), QgsGeometryAnalyzer::dissolve(), draw(), drawLabels(), drawRendererV2(), drawRendererV2Levels(), QgsOverlayAnalyzer::intersection(), and QgsGeometryAnalyzer::simplify().
void QgsVectorLayer::featureDeleted | ( | int | fid | ) | [signal] |
Referenced by deleteFeature(), redoEditCommand(), and undoEditCommand().
int QgsVectorLayer::fieldNameIndex | ( | const QString & | fieldName | ) | const |
Returns the index of a field name or -1 if the field does not exist.
Definition at line 4906 of file qgsvectorlayer.cpp.
References pendingFields().
Referenced by QgsGraduatedSymbolRendererV2::createRenderer(), draw(), drawLabels(), QgsPalLabeling::prepareLayer(), readSymbology(), QgsGraduatedSymbolRenderer::readXML(), QgsSymbologyV2Conversion::rendererV2toV1(), QgsSingleSymbolRendererV2::startRender(), QgsGraduatedSymbolRendererV2::startRender(), QgsCategorizedSymbolRendererV2::startRender(), and writeSymbology().
int QgsVectorLayer::findFreeId | ( | ) | [private] |
Goes through all features and finds a free id (e.g.
to give it temporarily to a not-commited feature)
QgsVectorOverlay * QgsVectorLayer::findOverlayByType | ( | const QString & | typeName | ) |
Returns the (first) overlay of a type, e.g.
diagram or label
Definition at line 4520 of file qgsvectorlayer.cpp.
References mOverlays.
Returns point, line or polygon.
Definition at line 1323 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::geometryType(), QGis::Line, mDataProvider, QGis::NoGeometry, QGis::Point, QGis::Polygon, QgsDebugMsg, QgsMapLayer::type(), QGis::UnknownGeometry, QGis::WKBLineString, QGis::WKBLineString25D, QGis::WKBMultiLineString, QGis::WKBMultiLineString25D, QGis::WKBMultiPoint, QGis::WKBMultiPoint25D, QGis::WKBMultiPolygon, QGis::WKBMultiPolygon25D, QGis::WKBNoGeometry, QGis::WKBPoint, QGis::WKBPoint25D, QGis::WKBPolygon, and QGis::WKBPolygon25D.
Referenced by QgsPALObjectPositionManager::addLayer(), QgsZonalStatistics::calculateStatistics(), drawRendererV2Levels(), hasGeometryType(), QgsVectorLayer(), readSymbology(), QgsUniqueValueRenderer::readXML(), QgsSingleSymbolRenderer::readXML(), QgsContinuousColorRenderer::readXML(), QgsGraduatedSymbolRenderer::readXML(), QgsSymbologyV2Conversion::rendererV1toV2(), QgsSymbologyV2Conversion::rendererV2toV1(), snapToGeometry(), and writeXml().
bool QgsVectorLayer::hasCompatibleSymbology | ( | const QgsMapLayer & | other | ) | const [virtual] |
Returns true if this layer can be in the same symbology group with another layer.
Implements QgsMapLayer.
Definition at line 3944 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::fields(), mDataProvider, QgsMapLayer::name(), and QgsMapLayer::type().
bool QgsVectorLayer::hasGeometryType | ( | ) | const |
Returns true if this is a geometry layer and false in case of NoGeometry (table only) or UnknownGeometry.
Definition at line 1374 of file qgsvectorlayer.cpp.
References geometryType(), QGis::NoGeometry, and QGis::UnknownGeometry.
Referenced by addIsland(), addRing(), addTopologicalPoints(), changeGeometry(), copySymbologySettings(), deleteVertex(), draw(), drawLabels(), drawRendererV2(), drawRendererV2Levels(), insertSegmentVerticesForSnap(), insertVertex(), moveVertex(), QgsVectorLayer(), readSymbology(), removePolygonIntersections(), setCoordinateSystem(), setDisplayField(), setRenderer(), setRendererV2(), setUsingRendererV2(), snapPoint(), snapWithContext(), splitFeatures(), translateFeature(), updateExtents(), and writeSymbology().
bool QgsVectorLayer::hasLabelsEnabled | ( | void | ) | const |
Label is on.
Definition at line 2596 of file qgsvectorlayer.cpp.
References mLabelOn.
Referenced by readSymbology(), and writeSymbology().
int QgsVectorLayer::insertSegmentVerticesForSnap | ( | const QList< QgsSnappingResult > & | snapResults | ) |
Inserts vertices to the snapped segments.
This is useful for topological editing if snap to segment is enabled.
snapResults | results collected from the snapping operation |
Definition at line 4115 of file qgsvectorlayer.cpp.
References hasGeometryType(), insertVertex(), QgsPoint::x(), and QgsPoint::y().
Referenced by addTopologicalPoints().
bool QgsVectorLayer::insertVertex | ( | double | x, |
double | y, | ||
int | atFeatureId, | ||
int | beforeVertex | ||
) |
Insert a new vertex before the given vertex number, in the given ring, item (first number is index 0), and feature Not meaningful for Point geometries.
Definition at line 1945 of file qgsvectorlayer.cpp.
References editGeometryChange(), hasGeometryType(), QgsGeometry::insertVertex(), mCachedGeometries, mChangedGeometries, mDataProvider, mEditable, and setModified().
Referenced by insertSegmentVerticesForSnap().
void QgsVectorLayer::invertSelection | ( | ) |
Select not selected features and deselect selected ones.
Definition at line 1208 of file qgsvectorlayer.cpp.
References QgsFeature::id(), mSelectedFeatureIds, nextFeature(), removeSelection(), select(), selectionChanged(), and QgsMapLayer::setCacheImage().
void QgsVectorLayer::invertSelectionInRectangle | ( | QgsRectangle & | rect | ) |
Invert selection of features found within the search rectangle (in layer's coordinates)
Definition at line 1234 of file qgsvectorlayer.cpp.
References deselect(), QgsFeature::id(), mSelectedFeatureIds, nextFeature(), QgsRectangle::normalize(), select(), selectionChanged(), and QgsMapLayer::setCacheImage().
bool QgsVectorLayer::isEditable | ( | ) | const [virtual] |
Returns true if the provider is in editing mode.
Reimplemented from QgsMapLayer.
Definition at line 4395 of file qgsvectorlayer.cpp.
References mDataProvider, and mEditable.
Referenced by addAttribute(), addFeature(), addFeatures(), changeAttributeValue(), commitChanges(), deleteAttribute(), deleteFeature(), deleteSelectedFeatures(), QgsMapCanvas::mouseReleaseEvent(), QgsMapRenderer::render(), and rollBack().
bool QgsVectorLayer::isModified | ( | ) | const [virtual] |
Returns true if the provider has been modified since the last commit.
Definition at line 4415 of file qgsvectorlayer.cpp.
References mModified.
Referenced by rollBack().
bool QgsVectorLayer::isReadOnly | ( | ) | const [virtual] |
Returns true if the provider is in read-only mode.
Definition at line 4400 of file qgsvectorlayer.cpp.
References mReadOnly.
bool QgsVectorLayer::isUsingRendererV2 | ( | ) |
Return whether using renderer V2.
Definition at line 4546 of file qgsvectorlayer.cpp.
References mUsingRendererV2.
Referenced by QgsLegendModel::addLayer(), QgsSymbologyV2Conversion::rendererV1toV2(), QgsSymbologyV2Conversion::rendererV2toV1(), and QgsLegendModel::updateLayer().
Get the label object associated with this layer.
Definition at line 2581 of file qgsvectorlayer.cpp.
References mLabel.
Referenced by QgsQuickPrint::scaleTextLabels().
const QgsLabel * QgsVectorLayer::label | ( | ) | const |
Definition at line 2586 of file qgsvectorlayer.cpp.
References mLabel.
void QgsVectorLayer::layerDeleted | ( | ) | [signal] |
Referenced by ~QgsVectorLayer().
void QgsVectorLayer::layerModified | ( | bool | onlyGeometry | ) | [signal] |
This signal is emitted when modifications has been done on layer.
Referenced by addAttributeAlias(), and setModified().
QVariant QgsVectorLayer::maximumValue | ( | int | index | ) |
Returns maximum value for an attribute column or invalid variant in case of error.
Definition at line 5128 of file qgsvectorlayer.cpp.
References QgsFeature::attributeMap(), QgsVectorDataProvider::fields(), QgsMapLayerRegistry::instance(), QgsVectorLayerJoinBuffer::joinForFieldIndex(), QgsVectorJoinInfo::joinLayerId, mAddedFeatures, QgsMapLayerRegistry::mapLayer(), MathUtils::max(), QgsVectorLayerJoinBuffer::maximumIndex(), QgsVectorDataProvider::maximumValue(), maximumValue(), mChangedAttributeValues, mDataProvider, mDeletedAttributeIds, mDeletedFeatureIds, mEditable, mJoinBuffer, nextFeature(), and select().
Referenced by QgsGraduatedSymbolRendererV2::createRenderer(), and maximumValue().
QVariant QgsVectorLayer::minimumValue | ( | int | index | ) |
Returns minimum value for an attribute column or invalid variant in case of error.
Definition at line 5074 of file qgsvectorlayer.cpp.
References QgsFeature::attributeMap(), QgsVectorDataProvider::fields(), QgsMapLayerRegistry::instance(), QgsVectorLayerJoinBuffer::joinForFieldIndex(), QgsVectorJoinInfo::joinLayerId, mAddedFeatures, QgsMapLayerRegistry::mapLayer(), MathUtils::max(), QgsVectorLayerJoinBuffer::maximumIndex(), mChangedAttributeValues, mDataProvider, mDeletedAttributeIds, mDeletedFeatureIds, mEditable, QgsVectorDataProvider::minimumValue(), minimumValue(), mJoinBuffer, nextFeature(), and select().
Referenced by QgsGraduatedSymbolRendererV2::createRenderer(), and minimumValue().
bool QgsVectorLayer::moveVertex | ( | double | x, |
double | y, | ||
int | atFeatureId, | ||
int | atVertex | ||
) |
Moves the vertex at the given position number, ring and item (first number is index 0), and feature to the given coordinates.
Definition at line 1984 of file qgsvectorlayer.cpp.
References editGeometryChange(), hasGeometryType(), mCachedGeometries, mChangedGeometries, mDataProvider, mEditable, QgsGeometry::moveVertex(), and setModified().
bool QgsVectorLayer::nextFeature | ( | QgsFeature & | feature | ) |
fetch a feature (after select)
feature | buffer to read the feature into |
Definition at line 1698 of file qgsvectorlayer.cpp.
References QgsFeature::attributeMap(), dataProvider(), QgsVectorDataProvider::featureAtId(), QgsFeature::id(), QgsRectangle::isEmpty(), mAddedFeatures, mChangedGeometries, mDataProvider, mEditable, mFetchAddedFeaturesIt, mFetchAttributes, mFetchChangedGeomIt, mFetchConsidered, mFetchGeometry, mFetching, mFetchProvAttributes, mFetchRect, QgsDebugMsg, QgsFeature::setAttributeMap(), QgsFeature::setFeatureId(), QgsFeature::setGeometry(), QgsFeature::setValid(), and updateFeatureAttributes().
Referenced by QgsVectorLayerJoinBuffer::addJoinedFeatureAttributes(), addJoinedFeatureAttributes(), addRing(), boundingBoxOfSelected(), QgsGeometryAnalyzer::buffer(), QgsVectorLayerJoinBuffer::cacheJoinLayer(), QgsGeometryAnalyzer::centroids(), QgsGeometryAnalyzer::convexHull(), QgsSearchQueryBuilder::countRecords(), QgsGraduatedSymbolRendererV2::createRenderer(), QgsGeometryAnalyzer::dissolve(), draw(), drawLabels(), drawRendererV2(), drawRendererV2Levels(), QgsComposerAttributeTable::getFeatureAttributes(), QgsSearchQueryBuilder::getFieldValues(), QgsOverlayAnalyzer::intersection(), invertSelection(), invertSelectionInRectangle(), maximumValue(), minimumValue(), removePolygonIntersections(), select(), QgsFormAnnotationItem::setFeatureForMapPosition(), QgsGeometryAnalyzer::simplify(), snapWithContext(), splitFeatures(), uniqueValues(), updateExtents(), and QgsVectorFileWriter::writeAsVectorFormat().
QgsVectorLayer& QgsVectorLayer::operator= | ( | QgsVectorLayer const & | rhs | ) | [private] |
vector layers are not copyable
returns list of attributes
Definition at line 3454 of file qgsvectorlayer.cpp.
References mUpdatedFields.
Referenced by QgsGeometryAnalyzer::buffer(), QgsVectorLayerJoinBuffer::cacheJoinLayer(), QgsGeometryAnalyzer::centroids(), QgsGeometryAnalyzer::convexHull(), QgsSearchQueryBuilder::countRecords(), QgsGeometryAnalyzer::dissolve(), QgsComposerAttributeTable::getFeatureAttributes(), QgsOverlayAnalyzer::intersection(), selectedFeatures(), QgsGeometryAnalyzer::simplify(), splitFeatures(), QgsVectorLayerJoinBuffer::updateFeatureAttributes(), and QgsVectorFileWriter::writeAsVectorFormat().
returns feature count after commit
Definition at line 3459 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::featureCount(), mAddedFeatures, mDataProvider, and mDeletedFeatureIds.
const QgsFieldMap & QgsVectorLayer::pendingFields | ( | ) | const |
returns field list in the to-be-committed state
Definition at line 3449 of file qgsvectorlayer.cpp.
References mUpdatedFields.
Referenced by addAttributeAlias(), QgsLegendModel::addVectorLayerItems(), QgsSymbol::appendField(), attributeAlias(), attributeDisplayName(), checkedState(), QgsSearchQueryBuilder::countRecords(), QgsAttributeEditor::createAttributeEditor(), QgsFormAnnotationItem::createDesignerWidget(), editType(), QgsAttributeAction::expandAction(), fieldNameIndex(), QgsSearchQueryBuilder::getFieldValues(), QgsComposerAttributeTable::getHeaderLabels(), QgsComposerAttributeTable::initializeAliasMap(), QgsVectorLayerJoinBuffer::joinForFieldIndex(), QgsSearchQueryBuilder::populateFields(), range(), QgsSymbol::readFieldName(), readSymbology(), QgsSymbologyV2Conversion::rendererV1toV2(), QgsAttributeEditor::retrieveValue(), setCheckedState(), setDisplayField(), setEditType(), QgsAttributeEditor::setValue(), QgsRuleBasedRendererV2::startRender(), QgsVectorLayerJoinBuffer::updateFeatureAttributes(), QgsVectorLayerJoinBuffer::updateFieldMap(), valueMap(), QgsVectorFileWriter::writeAsVectorFormat(), and QgsGraduatedSymbolRenderer::writeXML().
void QgsVectorLayer::prepareLabelingAndDiagrams | ( | QgsRenderContext & | rendererContext, |
QgsAttributeList & | attributes, | ||
bool & | labeling | ||
) | [private] |
Registers label and diagram layer.
rendererContext | render context |
attributes | attributes needed for labeling and diagrams will be added to the list |
labeling | out: true if there will be labeling (ng) for this layer |
Definition at line 5204 of file qgsvectorlayer.cpp.
References QgsLabelingEngineInterface::addDiagramLayer(), QgsDiagramRendererV2::diagramAttributes(), QgsRenderContext::labelingEngine(), mDiagramLayerSettings, mDiagramRenderer, QgsLabelingEngineInterface::prepareLayer(), QgsDiagramLayerSettings::renderer, QgsDiagramLayerSettings::xPosColumn, and QgsDiagramLayerSettings::yPosColumn.
Referenced by draw().
QString QgsVectorLayer::providerType | ( | ) | const |
Return the provider type for this layer.
Definition at line 237 of file qgsvectorlayer.cpp.
References mProviderKey.
Referenced by QgsMapLayer::saveNamedStyle(), QgsMapLayer::writeXML(), and writeXml().
QgsVectorLayer::RangeData & QgsVectorLayer::range | ( | int | idx | ) |
access range
Definition at line 4483 of file qgsvectorlayer.cpp.
References mRanges, pendingFields(), and QgsDebugMsg.
Referenced by QgsAttributeEditor::createAttributeEditor().
bool QgsVectorLayer::readSymbology | ( | const QDomNode & | node, |
QString & | errorMessage | ||
) | [virtual] |
Read the symbology for the current layer from the Dom node supplied.
node | node that will contain the symbology definition for this layer. |
errorMessage | reference to string that will be updated with any error messages |
Implements QgsMapLayer.
Definition at line 2849 of file qgsvectorlayer.cpp.
References CheckBox, EditRange, editType(), enableLabels(), fieldNameIndex(), geometryType(), hasGeometryType(), hasLabelsEnabled(), QgsProject::instance(), QgsFeatureRendererV2::load(), mActions, mAnnotationForm, mAttributeAliasMap, MathUtils::max(), mCheckedStates, mDiagramLayerSettings, mDiagramRenderer, mEditForm, mEditFormInit, mEditTypes, MathUtils::min(), mLabel, mRanges, mRenderer, mValueMaps, QgsMapLayer::name(), pendingFields(), QgsDebugMsg, QgsMapLayer::readCustomProperties(), QgsProject::readPath(), QgsDiagramLayerSettings::readXML(), QgsRenderer::readXML(), QgsDiagramRendererV2::readXML(), QgsAttributeAction::readXML(), QgsLabel::readXML(), renderer(), RENDERER_TAG_NAME, setDisplayField(), QgsLabel::setMaxScale(), QgsLabel::setMinScale(), setRendererV2(), QgsLabel::setScaleBasedVisibility(), setUsingRendererV2(), SliderRange, and ValueMap.
Referenced by readXml().
bool QgsVectorLayer::readXml | ( | QDomNode & | layer_node | ) | [virtual] |
reads vector layer specific state from project file Dom node.
Reimplemented from QgsMapLayer.
Definition at line 2640 of file qgsvectorlayer.cpp.
References mDataProvider, QgsMapLayer::mDataSource, mJoinBuffer, mProviderKey, QgsMapLayer::mValid, QgsDebugMsg, readSymbology(), QgsVectorLayerJoinBuffer::readXml(), setDataProvider(), QgsVectorDataProvider::setEncoding(), and updateFieldMap().
void QgsVectorLayer::redoEditCommand | ( | QgsUndoCommand * | cmd | ) |
Execute redo operation.
To be called only from QgsVectorLayerUndoCommand.
Definition at line 4670 of file qgsvectorlayer.cpp.
References attributeAdded(), attributeDeleted(), attributeValueChanged(), featureAdded(), featureDeleted(), mAddedAttributeIds, QgsUndoCommand::mAddedAttributes, QgsUndoCommand::mAddedFeatures, mAddedFeatures, QgsUndoCommand::mAttributeChange, mChangedAttributeValues, mChangedGeometries, mDeletedAttributeIds, QgsUndoCommand::mDeletedAttributes, QgsUndoCommand::mDeletedFeatureIdChange, mDeletedFeatureIds, QgsUndoCommand::mGeometryChange, mUpdatedFields, setModified(), and triggerRepaint().
Referenced by QgsUndoCommand::redo().
void QgsVectorLayer::reload | ( | ) | [virtual] |
Synchronises with changes in the datasource.
Reimplemented from QgsMapLayer.
Definition at line 941 of file qgsvectorlayer.cpp.
References mDataProvider, and QgsDataProvider::reloadData().
void QgsVectorLayer::removeJoin | ( | const QString & | joinLayerId | ) |
Removes a vector layer join.
Definition at line 4931 of file qgsvectorlayer.cpp.
References mJoinBuffer, QgsVectorLayerJoinBuffer::removeJoin(), and updateFieldMap().
Referenced by checkJoinLayerRemove().
void QgsVectorLayer::removeOverlay | ( | const QString & | typeName | ) |
Removes all overlays of a given type.
Definition at line 4504 of file qgsvectorlayer.cpp.
References mOverlays.
int QgsVectorLayer::removePolygonIntersections | ( | QgsGeometry * | geom | ) |
Changes the specified geometry such that it has no intersections with other polygon (or multipolygon) geometries in this vector layer.
geom | geometry to modify |
Definition at line 2382 of file qgsvectorlayer.cpp.
References QgsGeometry::boundingBox(), QgsFeature::geometry(), hasGeometryType(), QgsGeometry::makeDifference(), nextFeature(), QGis::Polygon, select(), and QgsGeometry::type().
Referenced by QgsGeometry::avoidIntersections().
void QgsVectorLayer::removeSelection | ( | bool | emitSignal = true | ) | [slot] |
Clear selection.
Definition at line 1260 of file qgsvectorlayer.cpp.
References mSelectedFeatureIds, selectionChanged(), and QgsMapLayer::setCacheImage().
Referenced by invertSelection(), and select().
const QgsRenderer * QgsVectorLayer::renderer | ( | ) | const |
Returns a pointer to the renderer.
Definition at line 1300 of file qgsvectorlayer.cpp.
References mRenderer.
Referenced by QgsLegendModel::addVectorLayerItems(), QgsAttributeEditor::createAttributeEditor(), QgsQuickPrint::printMap(), QgsVectorLayer(), readSymbology(), QgsSymbologyV2Conversion::rendererV1toV2(), QgsQuickPrint::scalePointSymbols(), and writeSymbology().
Return renderer V2.
Definition at line 4534 of file qgsvectorlayer.cpp.
References mRendererV2.
Referenced by QgsLegendModel::addVectorLayerItemsV2(), QgsAttributeEditor::createAttributeEditor(), and QgsSymbologyV2Conversion::rendererV2toV1().
bool QgsVectorLayer::rollBack | ( | ) |
Stop editing and discard the edits.
Definition at line 3766 of file qgsvectorlayer.cpp.
References deleteCachedGeometries(), editingStopped(), isEditable(), isModified(), mAddedAttributeIds, mAddedFeatures, mChangedAttributeValues, mChangedGeometries, mDeletedAttributeIds, mEditable, QgsMapLayer::setCacheImage(), setModified(), QgsMapLayer::undoStack(), and updateFieldMap().
void QgsVectorLayer::select | ( | QgsRectangle & | rect, |
bool | lock | ||
) |
Select features found within the search rectangle (in layer's coordinates)
Definition at line 1183 of file qgsvectorlayer.cpp.
References QgsFeature::id(), nextFeature(), QgsRectangle::normalize(), removeSelection(), selectionChanged(), and QgsMapLayer::setCacheImage().
Referenced by QgsVectorLayerJoinBuffer::addJoinedFeatureAttributes(), addJoinedFeatureAttributes(), addRing(), boundingBoxOfSelected(), QgsGeometryAnalyzer::buffer(), QgsVectorLayerJoinBuffer::cacheJoinLayer(), QgsGeometryAnalyzer::centroids(), QgsGeometryAnalyzer::convexHull(), QgsSearchQueryBuilder::countRecords(), QgsGraduatedSymbolRendererV2::createRenderer(), QgsGeometryAnalyzer::dissolve(), draw(), drawLabels(), QgsComposerAttributeTable::getFeatureAttributes(), QgsSearchQueryBuilder::getFieldValues(), QgsOverlayAnalyzer::intersection(), invertSelection(), invertSelectionInRectangle(), maximumValue(), minimumValue(), removePolygonIntersections(), QgsFormAnnotationItem::setFeatureForMapPosition(), QgsGeometryAnalyzer::simplify(), snapWithContext(), splitFeatures(), uniqueValues(), updateExtents(), and QgsVectorFileWriter::writeAsVectorFormat().
void QgsVectorLayer::select | ( | QgsAttributeList | fetchAttributes, |
QgsRectangle | rect = QgsRectangle() , |
||
bool | fetchGeometry = true , |
||
bool | useIntersect = false |
||
) |
Select features with or without attributes in a given window.
fetchAttributes | indizes of attributes to fetch |
rect | window (QgsRectangle() for all) |
fetchGeometry | fetch features with geometry |
useIntersect | fetch only features that actually intersect the window (not just the bounding box) |
Definition at line 1634 of file qgsvectorlayer.cpp.
References QgsVectorLayerJoinBuffer::containsJoins(), QgsVectorDataProvider::fields(), mAddedFeatures, QgsVectorLayerJoinBuffer::maximumIndex(), mChangedGeometries, mDataProvider, mDeletedFeatureIds, mEditable, mFetchAddedFeaturesIt, mFetchAttributes, mFetchChangedGeomIt, mFetchConsidered, mFetchGeometry, mFetching, mFetchProvAttributes, mFetchRect, mJoinBuffer, QgsVectorLayerJoinBuffer::select(), and QgsVectorDataProvider::select().
void QgsVectorLayer::select | ( | int | featureId, |
bool | emitSignal = true |
||
) | [slot] |
Select feature by its ID, optionally emit signal selectionChanged()
Definition at line 1157 of file qgsvectorlayer.cpp.
References mSelectedFeatureIds, selectionChanged(), and QgsMapLayer::setCacheImage().
The number of features that are selected in this layer.
Definition at line 3812 of file qgsvectorlayer.cpp.
References mSelectedFeatureIds.
Referenced by QgsMapCanvas::zoomToSelected().
Get a copy of the user-selected features.
Definition at line 3823 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::attributeIndexes(), QgsVectorDataProvider::featureAtId(), mAddedFeatures, mDataProvider, mFetchAttributes, mSelectedFeatureIds, pendingAllAttributesList(), updateFeatureAttributes(), and updateFeatureGeometry().
Referenced by splitFeatures().
const QgsFeatureIds & QgsVectorLayer::selectedFeaturesIds | ( | ) | const |
Return reference to identifiers of selected features.
Definition at line 3817 of file qgsvectorlayer.cpp.
References mSelectedFeatureIds.
Referenced by QgsGeometryAnalyzer::buffer(), QgsGeometryAnalyzer::centroids(), QgsGeometryAnalyzer::convexHull(), QgsGeometryAnalyzer::dissolve(), QgsOverlayAnalyzer::intersection(), QgsGeometryAnalyzer::simplify(), splitFeatures(), and QgsVectorFileWriter::writeAsVectorFormat().
void QgsVectorLayer::selectionChanged | ( | ) | [signal] |
This signal is emited when selection was changed.
Referenced by addFeatures(), deleteSelectedFeatures(), deselect(), invertSelection(), invertSelectionInRectangle(), removeSelection(), select(), and setSelectedFeatures().
void QgsVectorLayer::setAnnotationForm | ( | const QString & | ui | ) |
set annotation form for layer (added in 1.5)
Definition at line 4452 of file qgsvectorlayer.cpp.
References mAnnotationForm.
void QgsVectorLayer::setCheckedState | ( | int | idx, |
QString | checked, | ||
QString | notChecked | ||
) |
set string representing 'true' for a checkbox (added in 1.4)
Definition at line 4890 of file qgsvectorlayer.cpp.
References mCheckedStates, QgsMapLayer::name(), and pendingFields().
void QgsVectorLayer::setCoordinateSystem | ( | ) |
Setup the coordinate system tranformation for the layer.
Definition at line 4328 of file qgsvectorlayer.cpp.
References QgsCoordinateReferenceSystem::createFromOgcWmsCrs(), QgsDataProvider::crs(), GEO_EPSG_CRS_AUTHID, hasGeometryType(), QgsCoordinateReferenceSystem::isValid(), QgsMapLayer::mCRS, mDataProvider, QgsMapLayer::name(), QgsDebugMsg, QgsCoordinateReferenceSystem::setValidationHint(), and QgsCoordinateReferenceSystem::validate().
Referenced by QgsVectorLayer().
bool QgsVectorLayer::setDataProvider | ( | QString const & | provider | ) | [private] |
bind layer to a specific data provider
provider | should be "postgres", "ogr", or ?? |
Definition at line 2708 of file qgsvectorlayer.cpp.
References QgsDataProvider::dataSourceUri(), QgsDataProvider::extent(), QgsVectorDataProvider::fields(), QgsVectorDataProvider::geometryType(), QgsProviderRegistry::getProvider(), QgsMapLayerRegistry::instance(), QgsProviderRegistry::instance(), QgsDataProvider::isValid(), QgsMapLayerRegistry::mapLayers(), mDataProvider, QgsMapLayer::mDataSource, mLabel, mLabelOn, QgsMapLayer::mLayerExtent, mProviderKey, QgsMapLayer::mValid, mWkbType, QgsMapLayer::name(), QgsDebugMsg, setDisplayField(), QgsMapLayer::setLayerName(), QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), QgsRectangle::setYMinimum(), QgsRectangle::toString(), updateExtents(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by QgsVectorLayer(), and readXml().
void QgsVectorLayer::setDiagramLayerSettings | ( | const QgsDiagramLayerSettings & | s | ) |
Definition at line 5250 of file qgsvectorlayer.cpp.
References mDiagramLayerSettings.
Sets diagram rendering object (takes ownership)
Definition at line 1317 of file qgsvectorlayer.cpp.
References mDiagramRenderer.
void QgsVectorLayer::setDisplayField | ( | QString | fldName = "" | ) |
Set the primary display field to be used in the identify results dialog.
sets the preferred display field based on some fuzzy logic
Definition at line 245 of file qgsvectorlayer.cpp.
References hasGeometryType(), mDisplayField, pendingFields(), and QgsDebugMsg.
Referenced by readSymbology(), and setDataProvider().
void QgsVectorLayer::setEditForm | ( | QString | ui | ) |
set edit form (added in 1.4)
Definition at line 4447 of file qgsvectorlayer.cpp.
References mEditForm.
void QgsVectorLayer::setEditFormInit | ( | QString | function | ) |
set python function for edit form initialization (added in 1.4)
Definition at line 4462 of file qgsvectorlayer.cpp.
References mEditFormInit.
void QgsVectorLayer::setEditType | ( | int | idx, |
EditType | edit | ||
) |
set edit type
Definition at line 4435 of file qgsvectorlayer.cpp.
References mEditTypes, QgsMapLayer::name(), pendingFields(), and QgsMapLayer::type().
void QgsVectorLayer::setModified | ( | bool | modified = true , |
bool | onlyGeometryWasModified = false |
||
) |
Sets whether some features are modified or not.
Definition at line 4420 of file qgsvectorlayer.cpp.
References layerModified(), and mModified.
Referenced by addAttribute(), addFeature(), addIsland(), addRing(), changeAttributeValue(), changeGeometry(), commitChanges(), deleteAttribute(), deleteFeature(), deleteVertex(), insertVertex(), moveVertex(), redoEditCommand(), rollBack(), splitFeatures(), translateFeature(), and undoEditCommand().
void QgsVectorLayer::setProviderEncoding | ( | const QString & | encoding | ) |
Sets the textencoding of the data provider.
Definition at line 1291 of file qgsvectorlayer.cpp.
References mDataProvider, and QgsVectorDataProvider::setEncoding().
bool QgsVectorLayer::setReadOnly | ( | bool | readonly = true | ) |
Make layer read-only (editing disabled) or not.
Definition at line 4405 of file qgsvectorlayer.cpp.
void QgsVectorLayer::setRenderer | ( | QgsRenderer * | r | ) |
Sets the renderer.
If a renderer is already present, it is deleted
Definition at line 1305 of file qgsvectorlayer.cpp.
References hasGeometryType(), and mRenderer.
Referenced by QgsVectorLayer(), QgsUniqueValueRenderer::readXML(), QgsSingleSymbolRenderer::readXML(), QgsContinuousColorRenderer::readXML(), QgsGraduatedSymbolRenderer::readXML(), QgsSymbologyV2Conversion::rendererV1toV2(), and QgsSymbologyV2Conversion::rendererV2toV1().
void QgsVectorLayer::setRendererV2 | ( | QgsFeatureRendererV2 * | r | ) |
Set renderer V2.
Definition at line 4538 of file qgsvectorlayer.cpp.
References hasGeometryType(), and mRendererV2.
Referenced by QgsVectorLayer(), readSymbology(), QgsSymbologyV2Conversion::rendererV1toV2(), and QgsSymbologyV2Conversion::rendererV2toV1().
void QgsVectorLayer::setSelectedFeatures | ( | const QgsFeatureIds & | ids | ) |
Change selection to the new set of features.
Definition at line 3801 of file qgsvectorlayer.cpp.
References mSelectedFeatureIds, selectionChanged(), and QgsMapLayer::setCacheImage().
bool QgsVectorLayer::setSubsetString | ( | QString | subset | ) | [virtual] |
Set the string (typically sql) used to define a subset of the layer.
subset | The subset string. This may be the where clause of a sql statement or other defintion string specific to the underlying dataprovider and data store. |
Definition at line 1507 of file qgsvectorlayer.cpp.
References QgsDataProvider::dataSourceUri(), mDataProvider, QgsMapLayer::mDataSource, QgsDebugMsg, QgsMapLayer::setCacheImage(), QgsDataProvider::setSubsetString(), and updateExtents().
void QgsVectorLayer::setUsingRendererV2 | ( | bool | usingRendererV2 | ) |
set whether to use renderer V2 for drawing.
Definition at line 4550 of file qgsvectorlayer.cpp.
References hasGeometryType(), and mUsingRendererV2.
Referenced by QgsVectorLayer(), readSymbology(), QgsSymbologyV2Conversion::rendererV1toV2(), and QgsSymbologyV2Conversion::rendererV2toV1().
bool QgsVectorLayer::snapPoint | ( | QgsPoint & | point, |
double | tolerance | ||
) |
Snaps a point to the closest vertex if there is one within the snapping tolerance.
point | The point which is set to the position of a vertex if there is one within the snapping tolerance. If there is no point within this tolerance, point is left unchanged. |
tolerance | The snapping tolerance |
Definition at line 3981 of file qgsvectorlayer.cpp.
References hasGeometryType(), QgsPoint::setX(), QgsPoint::setY(), QgsSnapper::SnapToVertex, and snapWithContext().
void QgsVectorLayer::snapToGeometry | ( | const QgsPoint & | startPoint, |
int | featureId, | ||
QgsGeometry * | geom, | ||
double | sqrSnappingTolerance, | ||
QMultiMap< double, QgsSnappingResult > & | snappingResults, | ||
QgsSnapper::SnappingType | snap_to | ||
) | const [private] |
Snaps to a geometry and adds the result to the multimap if it is within the snapping result.
startPoint | start point of the snap |
featureId | id of feature |
geom | geometry to snap |
sqrSnappingTolerance | squared search tolerance of the snap |
snappingResults | list to which the result is appended |
snap_to | snap to vertex or to segment |
Definition at line 4055 of file qgsvectorlayer.cpp.
References QgsSnappingResult::afterVertex, QgsSnappingResult::afterVertexNr, QgsSnappingResult::beforeVertex, QgsSnappingResult::beforeVertexNr, QgsGeometry::closestSegmentWithContext(), QgsGeometry::closestVertex(), geometryType(), QgsSnappingResult::layer, QGis::Point, QgsSnappingResult::snappedAtGeometry, QgsSnappingResult::snappedVertex, QgsSnappingResult::snappedVertexNr, QgsSnapper::SnapToSegment, QgsSnapper::SnapToVertex, QgsSnapper::SnapToVertexAndSegment, and QgsGeometry::vertexAt().
Referenced by snapWithContext().
int QgsVectorLayer::snapWithContext | ( | const QgsPoint & | startPoint, |
double | snappingTolerance, | ||
QMultiMap< double, QgsSnappingResult > & | snappingResults, | ||
QgsSnapper::SnappingType | snap_to | ||
) |
Snaps to segment or vertex within given tolerance.
startPoint | point to snap (in layer coordinates) |
snappingTolerance | distance tolerance for snapping |
snappingResults | snapping results. Key is the distance between startPoint and snapping target |
snap_to | to segment / to vertex |
Definition at line 4006 of file qgsvectorlayer.cpp.
References QgsGeometry::boundingBox(), QgsRectangle::contains(), QgsFeature::geometry(), hasGeometryType(), QgsFeature::id(), QgsRectangle::intersects(), mCachedGeometries, mCachedGeometriesRect, mDataProvider, nextFeature(), select(), snapToGeometry(), QgsPoint::x(), and QgsPoint::y().
Referenced by addTopologicalPoints(), and snapPoint().
int QgsVectorLayer::splitFeatures | ( | const QList< QgsPoint > & | splitLine, |
bool | topologicalEditing = false |
||
) |
Splits features cut by the given line.
splitLine | line that splits the layer features |
topologicalEditing | true if topological editing is enabled |
Definition at line 2270 of file qgsvectorlayer.cpp.
References addFeatures(), addTopologicalPoints(), boundingBoxFromPointList(), editGeometryChange(), hasGeometryType(), QgsRectangle::height(), QgsRectangle::isEmpty(), mCachedGeometries, nextFeature(), pendingAllAttributesList(), select(), selectedFeatures(), selectedFeaturesIds(), QgsFeature::setAttributeMap(), QgsFeature::setGeometry(), setModified(), QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), QgsRectangle::setYMinimum(), QgsGeometry::splitGeometry(), QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
bool QgsVectorLayer::startEditing | ( | ) |
Make layer editable.
Definition at line 2601 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::capabilities(), QgsVectorDataProvider::EditingCapabilities, editingStarted(), mAddedAttributeIds, mDataProvider, mDeletedAttributeIds, mEditable, mMaxUpdatedIndex, mReadOnly, mUpdatedFields, and updateFieldMap().
void QgsVectorLayer::stopRendererV2 | ( | QgsRenderContext & | rendererContext, |
QgsSingleSymbolRendererV2 * | selRenderer | ||
) | [private] |
Stop version 2 renderer and selected renderer (if required)
Definition at line 5182 of file qgsvectorlayer.cpp.
References mRendererV2, QgsSingleSymbolRendererV2::stopRender(), and QgsFeatureRendererV2::stopRender().
Referenced by drawRendererV2Levels().
QString QgsVectorLayer::storageType | ( | ) | const |
Returns the permanent storage type for this layer as a friendly name.
Definition at line 208 of file qgsvectorlayer.cpp.
References mDataProvider, and QgsVectorDataProvider::storageType().
QString QgsVectorLayer::subsetString | ( | ) | [virtual] |
Get the string (typically sql) used to define a subset of the layer.
Definition at line 1497 of file qgsvectorlayer.cpp.
References mDataProvider, QgsDebugMsg, and QgsDataProvider::subsetString().
Referenced by addJoinedFeatureAttributes().
void QgsVectorLayer::transformPoint | ( | double & | x, |
double & | y, | ||
const QgsMapToPixel * | mtp, | ||
const QgsCoordinateTransform * | ct | ||
) | [inline, private] |
Convenience function to transform the given point.
Definition at line 4359 of file qgsvectorlayer.cpp.
References QgsMapToPixel::transformInPlace(), and QgsCoordinateTransform::transformInPlace().
Referenced by drawFeature().
void QgsVectorLayer::transformPoints | ( | std::vector< double > & | x, |
std::vector< double > & | y, | ||
std::vector< double > & | z, | ||
QgsRenderContext & | renderContext | ||
) | [inline, private] |
Definition at line 4376 of file qgsvectorlayer.cpp.
References QgsRenderContext::coordinateTransform(), QgsRenderContext::mapToPixel(), QgsMapToPixel::transformInPlace(), and QgsCoordinateTransform::transformInPlace().
Referenced by drawLineString(), and drawPolygon().
int QgsVectorLayer::translateFeature | ( | int | featureId, |
double | dx, | ||
double | dy | ||
) |
Translates feature by dx, dy.
featureId | id of the feature to translate |
dx | translation of x-coordinate |
dy | translation of y-coordinate |
Definition at line 2212 of file qgsvectorlayer.cpp.
References editGeometryChange(), QgsVectorDataProvider::featureAtId(), QgsFeature::geometry(), hasGeometryType(), mAddedFeatures, mCachedGeometries, mChangedGeometries, mDataProvider, setModified(), and QgsGeometry::translate().
void QgsVectorLayer::triggerRepaint | ( | ) | [slot] |
Definition at line 1276 of file qgsvectorlayer.cpp.
References QgsMapLayer::repaintRequested().
Referenced by deleteSelectedFeatures(), redoEditCommand(), and undoEditCommand().
void QgsVectorLayer::undoEditCommand | ( | QgsUndoCommand * | cmd | ) |
Execute undo operation.
To be called only from QgsVectorLayerUndoCommand.
Definition at line 4774 of file qgsvectorlayer.cpp.
References attributeAdded(), attributeDeleted(), QgsFeature::attributeMap(), attributeValueChanged(), featureAdded(), QgsVectorDataProvider::featureAtId(), featureDeleted(), mAddedAttributeIds, QgsUndoCommand::mAddedAttributes, QgsUndoCommand::mAddedFeatures, mAddedFeatures, QgsUndoCommand::mAttributeChange, mChangedAttributeValues, mChangedGeometries, mDataProvider, mDeletedAttributeIds, QgsUndoCommand::mDeletedAttributes, QgsUndoCommand::mDeletedFeatureIdChange, mDeletedFeatureIds, QgsUndoCommand::mGeometryChange, mUpdatedFields, setModified(), and triggerRepaint().
Referenced by destroyEditCommand(), and QgsUndoCommand::undo().
void QgsVectorLayer::uniqueValues | ( | int | index, |
QList< QVariant > & | uniqueValues, | ||
int | limit = -1 |
||
) |
Returns unique values for column.
index | column index for attribute |
uniqueValues | out: result list |
limit | maximum number of values to return (-1 if unlimited) |
Definition at line 5013 of file qgsvectorlayer.cpp.
References QgsFeature::attributeMap(), dataProvider(), QgsVectorDataProvider::fields(), QgsMapLayerRegistry::instance(), QgsVectorLayerJoinBuffer::joinForFieldIndex(), QgsVectorJoinInfo::joinLayerId, mAddedFeatures, QgsMapLayerRegistry::mapLayer(), QgsVectorLayerJoinBuffer::maximumIndex(), mChangedAttributeValues, mDataProvider, mDeletedAttributeIds, mDeletedFeatureIds, mEditable, mJoinBuffer, nextFeature(), select(), and QgsVectorDataProvider::uniqueValues().
void QgsVectorLayer::updateAttributeMapIndex | ( | QgsAttributeMap & | map, |
int | oldIndex, | ||
int | newIndex | ||
) | const [private] |
Updates an index in an attribute map to a new value (usually necessary because of a join operation)
Definition at line 5192 of file qgsvectorlayer.cpp.
Referenced by updateFieldMap().
void QgsVectorLayer::updateExtents | ( | ) | [virtual, slot] |
Update the extents for the layer.
This is necessary if features are added/deleted or the layer has been subsetted.
Definition at line 1446 of file qgsvectorlayer.cpp.
References QgsGeometry::boundingBox(), QgsRectangle::combineExtentWith(), QgsDataProvider::extent(), QgsVectorDataProvider::featureCount(), QgsFeature::geometry(), hasGeometryType(), mAddedFeatures, mChangedGeometries, mDataProvider, mDeletedFeatureIds, QgsMapLayer::mLayerExtent, nextFeature(), QgsDebugMsg, QgsMapLayer::recalculateExtents(), select(), QgsRectangle::setMinimal(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by addFeature(), addFeatures(), deleteSelectedFeatures(), setDataProvider(), and setSubsetString().
void QgsVectorLayer::updateFeatureAttributes | ( | QgsFeature & | f, |
bool | all = false |
||
) | [private] |
Update feature with uncommited attribute updates and joined attributes.
Definition at line 1527 of file qgsvectorlayer.cpp.
References QgsFeature::attributeMap(), QgsFeature::changeAttribute(), QgsVectorLayerJoinBuffer::containsFetchJoins(), QgsFeature::deleteAttribute(), QgsVectorDataProvider::fields(), QgsFeature::id(), QgsVectorLayerJoinBuffer::maximumIndex(), mChangedAttributeValues, mDataProvider, mEditable, mFetchAttributes, mJoinBuffer, mUpdatedFields, and QgsVectorLayerJoinBuffer::updateFeatureAttributes().
Referenced by featureAtId(), nextFeature(), and selectedFeatures().
long QgsVectorLayer::updateFeatureCount | ( | ) | const [virtual] |
This function does nothing useful, it's kept only for compatibility.
Definition at line 1441 of file qgsvectorlayer.cpp.
void QgsVectorLayer::updateFeatureGeometry | ( | QgsFeature & | f | ) | [private] |
Update feature with uncommited geometry updates.
Definition at line 1627 of file qgsvectorlayer.cpp.
References QgsFeature::id(), mChangedGeometries, and QgsFeature::setGeometry().
Referenced by selectedFeatures().
void QgsVectorLayer::updateFieldMap | ( | ) |
Assembles mUpdatedFields considering provider fields, joined fields and added fields.
Definition at line 4942 of file qgsvectorlayer.cpp.
References QgsVectorLayerJoinBuffer::containsJoins(), QgsVectorDataProvider::fields(), mAddedAttributeIds, mAddedFeatures, QgsVectorLayerJoinBuffer::maximumIndex(), mChangedAttributeValues, mDataProvider, mDeletedAttributeIds, mJoinBuffer, mMaxUpdatedIndex, mUpdatedFields, updateAttributeMapIndex(), and QgsVectorLayerJoinBuffer::updateFieldMap().
Referenced by addJoin(), QgsZonalStatistics::calculateStatistics(), commitChanges(), QgsVectorLayer(), readXml(), removeJoin(), rollBack(), and startEditing().
QMap< QString, QVariant > & QgsVectorLayer::valueMap | ( | int | idx | ) |
access value map
Definition at line 4467 of file qgsvectorlayer.cpp.
References mValueMaps, pendingFields(), and QgsDebugMsg.
Referenced by QgsAttributeEditor::createAttributeEditor().
const QList< QgsVectorJoinInfo > & QgsVectorLayer::vectorJoins | ( | ) | const |
Definition at line 4937 of file qgsvectorlayer.cpp.
References mJoinBuffer, and QgsVectorLayerJoinBuffer::vectorJoins().
Referenced by QgsProject::_getMapLayers().
void QgsVectorLayer::vectorOverlays | ( | QList< QgsVectorOverlay * > & | overlayList | ) |
Returns pointers to the overlays of this layer.
Definition at line 4515 of file qgsvectorlayer.cpp.
References mOverlays.
Referenced by QgsMapRenderer::render().
QGis::WkbType QgsVectorLayer::wkbType | ( | ) | const |
Returns the WKBType or WKBUnknown in case of error.
Definition at line 1380 of file qgsvectorlayer.cpp.
References mWkbType.
Referenced by addTopologicalPoints(), drawFeature(), drawLineString(), drawPolygon(), and QgsVectorFileWriter::writeAsVectorFormat().
bool QgsVectorLayer::writeSymbology | ( | QDomNode & | node, |
QDomDocument & | doc, | ||
QString & | errorMessage | ||
) | const [virtual] |
Write the symbology for the layer into the docment provided.
node | the node that will have the style element added to it. |
doc | the document that will have the QDomNode added. |
errorMessage | reference to string that will be updated with any error messages |
Implements QgsMapLayer.
Definition at line 3083 of file qgsvectorlayer.cpp.
References Calendar, CheckBox, Classification, QgsRenderer::classificationAttributes(), DialRange, displayField(), EditRange, Enumeration, fieldNameIndex(), QgsVectorDataProvider::fields(), FileName, hasGeometryType(), hasLabelsEnabled(), Hidden, Immutable, QgsProject::instance(), QgsLabel::labelField(), LineEdit, mActions, mAnnotationForm, mAttributeAliasMap, QgsLabel::maxScale(), mCheckedStates, mDataProvider, mDiagramLayerSettings, mDiagramRenderer, mEditForm, mEditFormInit, mEditTypes, QgsLabel::minScale(), mLabel, mOverlays, mRanges, mRenderer, mRendererV2, mUsingRendererV2, mValueMaps, QgsMapLayer::name(), QgsDebugMsg, renderer(), QgsFeatureRendererV2::save(), QgsLabel::scaleBasedVisibility(), SliderRange, QgsLabel::Text, TextEdit, UniqueValues, UniqueValuesEditable, ValueMap, QgsMapLayer::writeCustomProperties(), QgsDiagramLayerSettings::writeXML(), QgsRenderer::writeXML(), QgsDiagramRendererV2::writeXML(), QgsAttributeAction::writeXML(), and QgsLabel::writeXML().
Referenced by writeXml().
bool QgsVectorLayer::writeXml | ( | QDomNode & | layer_node, |
QDomDocument & | doc | ||
) | [virtual] |
write vector layer specific state to project file Dom node.
Reimplemented from QgsMapLayer.
Definition at line 2813 of file qgsvectorlayer.cpp.
References QgsVectorDataProvider::encoding(), geometryType(), mDataProvider, mJoinBuffer, providerType(), QGis::qgisVectorGeometryType, QgsDebugMsg, writeSymbology(), and QgsVectorLayerJoinBuffer::writeXml().
QgsAttributeAction* QgsVectorLayer::mActions [private] |
The user-defined actions that are accessed from the Identify Results dialog box.
Definition at line 838 of file qgsvectorlayer.h.
Referenced by QgsVectorLayer(), readSymbology(), writeSymbology(), and ~QgsVectorLayer().
QgsUndoCommand* QgsVectorLayer::mActiveCommand [private] |
Definition at line 896 of file qgsvectorlayer.h.
Referenced by addAttribute(), beginEditCommand(), deleteAttribute(), destroyEditCommand(), editAttributeChange(), editFeatureAdd(), editFeatureDelete(), editGeometryChange(), and endEditCommand().
added attributes fields which are not commited
Definition at line 879 of file qgsvectorlayer.h.
Referenced by addAttribute(), commitChanges(), deleteAttribute(), redoEditCommand(), rollBack(), startEditing(), undoEditCommand(), and updateFieldMap().
QgsFeatureList QgsVectorLayer::mAddedFeatures [private] |
New features which are not commited.
Note a feature can be added and then changed, therefore the details here can be overridden by mChangedAttributeValues and mChangedGeometries.
Definition at line 870 of file qgsvectorlayer.h.
Referenced by addIsland(), commitChanges(), editAttributeChange(), editFeatureAdd(), featureAtId(), maximumValue(), minimumValue(), nextFeature(), pendingFeatureCount(), redoEditCommand(), rollBack(), select(), selectedFeatures(), translateFeature(), undoEditCommand(), uniqueValues(), updateExtents(), and updateFieldMap().
QString QgsVectorLayer::mAnnotationForm [private] |
Definition at line 934 of file qgsvectorlayer.h.
Referenced by readSymbology(), setAnnotationForm(), and writeSymbology().
QMap< QString, QString > QgsVectorLayer::mAttributeAliasMap [private] |
Map that stores the aliases for attributes.
Key is the attribute name and value the alias for that attribute
Definition at line 888 of file qgsvectorlayer.h.
Referenced by addAttributeAlias(), attributeAlias(), readSymbology(), and writeSymbology().
cache of the committed geometries retrieved *for the current display*
Definition at line 850 of file qgsvectorlayer.h.
Referenced by addFeature(), addIsland(), changeGeometry(), deleteCachedGeometries(), deleteVertex(), draw(), drawRendererV2(), drawRendererV2Levels(), insertVertex(), moveVertex(), snapWithContext(), splitFeatures(), and translateFeature().
extent for which there are cached geometries
Definition at line 853 of file qgsvectorlayer.h.
Referenced by deleteCachedGeometries(), draw(), and snapWithContext().
Changed attributes values which are not commited.
Definition at line 873 of file qgsvectorlayer.h.
Referenced by commitChanges(), editAttributeChange(), maximumValue(), minimumValue(), redoEditCommand(), rollBack(), undoEditCommand(), uniqueValues(), updateFeatureAttributes(), and updateFieldMap().
Changed geometries which are not commited.
Definition at line 882 of file qgsvectorlayer.h.
Referenced by addIsland(), commitChanges(), deleteVertex(), editGeometryChange(), featureAtId(), insertVertex(), moveVertex(), nextFeature(), redoEditCommand(), rollBack(), select(), translateFeature(), undoEditCommand(), updateExtents(), and updateFeatureGeometry().
QMap< QString, QPair<QString, QString> > QgsVectorLayer::mCheckedStates [private] |
Definition at line 930 of file qgsvectorlayer.h.
Referenced by checkedState(), readSymbology(), setCheckedState(), and writeSymbology().
QStringList QgsVectorLayer::mCommitErrors [private] |
Definition at line 925 of file qgsvectorlayer.h.
Referenced by commitChanges(), and commitErrors().
int QgsVectorLayer::mCurrentVertexMarkerSize [private] |
The current size of editing marker.
Definition at line 917 of file qgsvectorlayer.h.
Referenced by draw(), drawLineString(), and drawPolygon().
The current type of editing marker.
Definition at line 914 of file qgsvectorlayer.h.
Referenced by draw(), drawLineString(), and drawPolygon().
Pointer to data provider derived from the abastract base class QgsDataProvider.
Definition at line 829 of file qgsvectorlayer.h.
Referenced by addAttribute(), addFeature(), addFeatures(), capabilitiesString(), changeGeometry(), commitChanges(), dataComment(), dataProvider(), deleteAttribute(), deleteSelectedFeatures(), deleteVertex(), featureAtId(), featureCount(), geometryType(), hasCompatibleSymbology(), insertVertex(), isEditable(), maximumValue(), minimumValue(), moveVertex(), nextFeature(), pendingFeatureCount(), readXml(), reload(), select(), selectedFeatures(), setCoordinateSystem(), setDataProvider(), setProviderEncoding(), setSubsetString(), snapWithContext(), startEditing(), storageType(), subsetString(), translateFeature(), undoEditCommand(), uniqueValues(), updateExtents(), updateFeatureAttributes(), updateFieldMap(), writeSymbology(), writeXml(), and ~QgsVectorLayer().
deleted attributes fields which are not commited
Definition at line 876 of file qgsvectorlayer.h.
Referenced by commitChanges(), deleteAttribute(), maximumValue(), minimumValue(), redoEditCommand(), rollBack(), startEditing(), undoEditCommand(), uniqueValues(), and updateFieldMap().
Deleted feature IDs which are not commited.
Note a feature can be added and then deleted again before the change is committed - in that case the added feature would be removed from mAddedFeatures only and *not* entered here.
Definition at line 865 of file qgsvectorlayer.h.
Referenced by commitChanges(), deleteFeature(), editFeatureDelete(), featureAtId(), maximumValue(), minimumValue(), pendingFeatureCount(), redoEditCommand(), select(), undoEditCommand(), uniqueValues(), and updateExtents().
Definition at line 953 of file qgsvectorlayer.h.
Referenced by prepareLabelingAndDiagrams(), readSymbology(), setDiagramLayerSettings(), writeSymbology(), and ~QgsVectorLayer().
Definition at line 950 of file qgsvectorlayer.h.
Referenced by draw(), drawRendererV2(), drawRendererV2Levels(), prepareLabelingAndDiagrams(), readSymbology(), setDiagramRenderer(), and writeSymbology().
QString QgsVectorLayer::mDisplayField [private] |
index of the primary label field
Definition at line 832 of file qgsvectorlayer.h.
Referenced by displayField(), and setDisplayField().
bool QgsVectorLayer::mEditable [private] |
Flag indicating whether the layer is in editing mode or not.
Definition at line 841 of file qgsvectorlayer.h.
Referenced by changeGeometry(), commitChanges(), deleteVertex(), draw(), drawLineString(), drawPolygon(), drawRendererV2(), drawRendererV2Levels(), insertVertex(), isEditable(), maximumValue(), minimumValue(), moveVertex(), nextFeature(), rollBack(), select(), setReadOnly(), startEditing(), uniqueValues(), and updateFeatureAttributes().
QString QgsVectorLayer::mEditForm [private] |
Definition at line 932 of file qgsvectorlayer.h.
Referenced by editForm(), readSymbology(), setEditForm(), and writeSymbology().
QString QgsVectorLayer::mEditFormInit [private] |
Definition at line 932 of file qgsvectorlayer.h.
Referenced by editFormInit(), readSymbology(), setEditFormInit(), and writeSymbology().
QMap< QString, EditType > QgsVectorLayer::mEditTypes [private] |
Definition at line 927 of file qgsvectorlayer.h.
Referenced by editType(), readSymbology(), setEditType(), and writeSymbology().
QgsFeatureList::iterator QgsVectorLayer::mFetchAddedFeaturesIt [private] |
Definition at line 944 of file qgsvectorlayer.h.
Referenced by nextFeature(), and select().
Definition at line 938 of file qgsvectorlayer.h.
Referenced by nextFeature(), select(), selectedFeatures(), and updateFeatureAttributes().
QgsGeometryMap::iterator QgsVectorLayer::mFetchChangedGeomIt [private] |
Definition at line 943 of file qgsvectorlayer.h.
Referenced by nextFeature(), and select().
QSet<int> QgsVectorLayer::mFetchConsidered [private] |
Definition at line 942 of file qgsvectorlayer.h.
Referenced by nextFeature(), and select().
bool QgsVectorLayer::mFetchGeometry [private] |
Definition at line 940 of file qgsvectorlayer.h.
Referenced by nextFeature(), and select().
bool QgsVectorLayer::mFetching [private] |
Definition at line 936 of file qgsvectorlayer.h.
Referenced by nextFeature(), and select().
Definition at line 939 of file qgsvectorlayer.h.
Referenced by nextFeature(), and select().
QgsRectangle QgsVectorLayer::mFetchRect [private] |
Definition at line 937 of file qgsvectorlayer.h.
Referenced by nextFeature(), and select().
Definition at line 947 of file qgsvectorlayer.h.
Referenced by addJoin(), createJoinCaches(), maximumValue(), minimumValue(), QgsVectorLayer(), readXml(), removeJoin(), select(), uniqueValues(), updateFeatureAttributes(), updateFieldMap(), vectorJoins(), writeXml(), and ~QgsVectorLayer().
QgsLabel* QgsVectorLayer::mLabel [private] |
Label.
Definition at line 908 of file qgsvectorlayer.h.
Referenced by drawLabels(), label(), readSymbology(), setDataProvider(), writeSymbology(), and ~QgsVectorLayer().
bool QgsVectorLayer::mLabelOn [private] |
Display labels.
Definition at line 911 of file qgsvectorlayer.h.
Referenced by drawLabels(), enableLabels(), hasLabelsEnabled(), and setDataProvider().
int QgsVectorLayer::mMaxUpdatedIndex [private] |
max field index
Definition at line 891 of file qgsvectorlayer.h.
Referenced by addAttribute(), startEditing(), and updateFieldMap().
bool QgsVectorLayer::mModified [private] |
Flag indicating whether the layer has been modified since the last commit.
Definition at line 847 of file qgsvectorlayer.h.
Referenced by isModified(), and setModified().
QList<QgsVectorOverlay*> QgsVectorLayer::mOverlays [private] |
List of overlays.
Vector overlays will be rendered on top of all maplayers
Definition at line 923 of file qgsvectorlayer.h.
Referenced by addOverlay(), findOverlayByType(), removeOverlay(), vectorOverlays(), writeSymbology(), and ~QgsVectorLayer().
QString QgsVectorLayer::mProviderKey [private] |
Data provider key.
Definition at line 835 of file qgsvectorlayer.h.
Referenced by providerType(), QgsVectorLayer(), readXml(), and setDataProvider().
QMap< QString, RangeData > QgsVectorLayer::mRanges [private] |
Definition at line 929 of file qgsvectorlayer.h.
Referenced by range(), readSymbology(), and writeSymbology().
bool QgsVectorLayer::mReadOnly [private] |
Flag indicating whether the layer is in read-only mode (editing disabled) or not.
Definition at line 844 of file qgsvectorlayer.h.
Referenced by isReadOnly(), setReadOnly(), and startEditing().
QgsRenderer* QgsVectorLayer::mRenderer [private] |
Renderer object which holds the information about how to display the features.
Definition at line 899 of file qgsvectorlayer.h.
Referenced by copySymbologySettings(), draw(), drawLabels(), drawLineString(), drawPolygon(), readSymbology(), renderer(), setRenderer(), writeSymbology(), and ~QgsVectorLayer().
QgsFeatureRendererV2* QgsVectorLayer::mRendererV2 [private] |
Renderer V2.
Definition at line 902 of file qgsvectorlayer.h.
Referenced by draw(), drawLabels(), drawRendererV2(), drawRendererV2Levels(), rendererV2(), setRendererV2(), stopRendererV2(), and writeSymbology().
Set holding the feature IDs that are activated.
Note that if a feature subsequently gets deleted (i.e. by its addition to mDeletedFeatureIds), it always needs to be removed from mSelectedFeatureIds as well.
Definition at line 859 of file qgsvectorlayer.h.
Referenced by addFeatures(), addIsland(), boundingBoxOfSelected(), deleteFeature(), deleteSelectedFeatures(), deselect(), draw(), drawLabels(), drawRendererV2(), drawRendererV2Levels(), invertSelection(), invertSelectionInRectangle(), removeSelection(), select(), selectedFeatureCount(), selectedFeatures(), selectedFeaturesIds(), and setSelectedFeatures().
QgsFieldMap QgsVectorLayer::mUpdatedFields [private] |
field map to commit
Definition at line 885 of file qgsvectorlayer.h.
Referenced by addAttribute(), commitChanges(), deleteAttribute(), pendingAllAttributesList(), pendingFields(), redoEditCommand(), startEditing(), undoEditCommand(), updateFeatureAttributes(), and updateFieldMap().
int QgsVectorLayer::mUpdateThreshold [private] |
Update threshold for drawing features as they are read.
A value of zero indicates that no features will be drawn until all have been read
Definition at line 826 of file qgsvectorlayer.h.
Referenced by draw(), and drawRendererV2().
bool QgsVectorLayer::mUsingRendererV2 [private] |
whether to use V1 or V2 renderer
Definition at line 905 of file qgsvectorlayer.h.
Referenced by draw(), isUsingRendererV2(), QgsVectorLayer(), setUsingRendererV2(), and writeSymbology().
QMap< QString, QMap<QString, QVariant> > QgsVectorLayer::mValueMaps [private] |
Definition at line 928 of file qgsvectorlayer.h.
Referenced by readSymbology(), valueMap(), and writeSymbology().
bool QgsVectorLayer::mVertexMarkerOnlyForSelection [private] |
Flag if the vertex markers should be drawn only for selection (true) or for all features (false)
Definition at line 920 of file qgsvectorlayer.h.
Referenced by draw().
int QgsVectorLayer::mWkbType [private] |
Geometry type as defined in enum WkbType (qgis.h)
Definition at line 894 of file qgsvectorlayer.h.
Referenced by setDataProvider(), and wkbType().