QGIS API Documentation
3.20.0-Odense (decaadbb31)
|
This is a container for configuration of the snapping of the project. More...
#include <qgssnappingconfig.h>
Classes | |
class | IndividualLayerSettings |
This is a container of advanced configuration (per layer) of the snapping of the project. More... | |
Public Types | |
enum | ScaleDependencyMode { Disabled = 0 , Global = 1 , PerLayer = 2 } |
ScaleDependencyMode the scale dependency mode of snapping. More... | |
enum | SnappingMode { ActiveLayer = 1 , AllLayers = 2 , AdvancedConfiguration = 3 } |
SnappingMode defines on which layer the snapping is performed. More... | |
enum | SnappingType { Vertex = 1 , VertexAndSegment = 2 , Segment = 3 } |
SnappingType defines on what object the snapping is performed. More... | |
enum | SnappingTypes { NoSnapFlag = 0 , VertexFlag = 1 << 0 , SegmentFlag = 1 << 1 , AreaFlag = 1 << 2 , CentroidFlag = 1 << 3 , MiddleOfSegmentFlag = 1 << 4 , LineEndpointFlag = 1 << 5 } |
SnappingTypeFlag defines on what object the snapping is performed. More... | |
Public Member Functions | |
QgsSnappingConfig (QgsProject *project=nullptr) | |
Constructor with default parameters defined in global settings. More... | |
bool | addLayers (const QList< QgsMapLayer * > &layers) |
Adds the specified layers as individual layers to the configuration with standard configuration. More... | |
void | clearIndividualLayerSettings () |
Removes all individual layer snapping settings. More... | |
bool | enabled () const |
Returns if snapping is enabled. More... | |
QHash< QgsVectorLayer *, QgsSnappingConfig::IndividualLayerSettings > | individualLayerSettings () const |
Returns individual snapping settings for all layers. More... | |
QgsSnappingConfig::IndividualLayerSettings | individualLayerSettings (QgsVectorLayer *vl) const |
Returns individual layer snappings settings (applied if mode is AdvancedConfiguration) More... | |
bool | intersectionSnapping () const |
Returns if the snapping on intersection is enabled. More... | |
double | maximumScale () const |
Returns the max scale (i.e. More... | |
double | minimumScale () const |
Returns the min scale (i.e. More... | |
SnappingMode | mode () const |
Returns the mode (all layers, active layer, per layer settings) More... | |
bool | operator!= (const QgsSnappingConfig &other) const |
Compare this configuration to other. More... | |
bool | operator== (const QgsSnappingConfig &other) const |
QgsProject * | project () const |
The project from which the snapped layers should be retrieved. More... | |
void | readProject (const QDomDocument &doc) |
Reads the configuration from the specified QGIS project document. More... | |
bool | removeLayers (const QList< QgsMapLayer * > &layers) |
Removes the specified layers from the individual layer configuration. More... | |
void | reset () |
reset to default values More... | |
ScaleDependencyMode | scaleDependencyMode () const |
Returns the scale dependency mode. More... | |
bool | selfSnapping () const |
Returns if self snapping (snapping to the currently digitized feature) is enabled. More... | |
void | setEnabled (bool enabled) |
enables the snapping More... | |
void | setIndividualLayerSettings (QgsVectorLayer *vl, const QgsSnappingConfig::IndividualLayerSettings &individualLayerSettings) |
Sets individual layer snappings settings (applied if mode is AdvancedConfiguration) More... | |
void | setIntersectionSnapping (bool enabled) |
Sets if the snapping on intersection is enabled. More... | |
void | setMaximumScale (double maxScale) |
Set the max scale on which snapping is enabled, 0.0 disable scale limit. More... | |
void | setMinimumScale (double minScale) |
Sets the min scale on which snapping is enabled, 0.0 disable scale limit. More... | |
void | setMode (SnappingMode mode) |
define the mode of snapping More... | |
void | setProject (QgsProject *project) |
The project from which the snapped layers should be retrieved. More... | |
void | setScaleDependencyMode (ScaleDependencyMode mode) |
Set the scale dependency mode. More... | |
void | setSelfSnapping (bool enabled) |
Sets if self snapping (snapping to the currently digitized feature) is enabled. More... | |
void | setTolerance (double tolerance) |
Sets the tolerance. More... | |
Q_DECL_DEPRECATED void | setType (QgsSnappingConfig::SnappingType type) |
define the type of snapping More... | |
void | setTypeFlag (QgsSnappingConfig::SnappingTypeFlag type) |
define the type of snapping More... | |
void | setUnits (QgsTolerance::UnitType units) |
Sets the type of units. More... | |
double | tolerance () const |
Returns the tolerance. More... | |
Q_DECL_DEPRECATED QgsSnappingConfig::SnappingType | type () const |
Returns the flags type (vertices | segments | area | centroid | middle) More... | |
QgsSnappingConfig::SnappingTypeFlag | typeFlag () const |
Returns the flags type (vertices | segments | area | centroid | middle) More... | |
QgsTolerance::UnitType | units () const |
Returns the type of units. More... | |
void | writeProject (QDomDocument &doc) |
Writes the configuration to the specified QGIS project document. More... | |
Static Public Member Functions | |
static QIcon | snappingTypeFlagToIcon (SnappingTypeFlag type) |
Convenient method to return an icon corresponding to the enum type QgsSnappingConfig::SnappingTypeFlag. More... | |
static QString | snappingTypeFlagToString (SnappingTypeFlag type) |
Convenient method to returns the translated name of the enum type QgsSnappingConfig::SnappingTypeFlag. More... | |
Properties | |
Q_GADGET QgsProject * | project |
This is a container for configuration of the snapping of the project.
Definition at line 33 of file qgssnappingconfig.h.
ScaleDependencyMode the scale dependency mode of snapping.
Enumerator | |
---|---|
Disabled | No scale dependency. |
Global | Scale dependency using global min max range. |
PerLayer | Scale dependency using min max range per layer. |
Definition at line 88 of file qgssnappingconfig.h.
SnappingMode defines on which layer the snapping is performed.
Enumerator | |
---|---|
ActiveLayer | On the active layer. |
AllLayers | On all vector layers. |
AdvancedConfiguration | On a per layer configuration basis. |
Definition at line 44 of file qgssnappingconfig.h.
SnappingType defines on what object the snapping is performed.
Enumerator | |
---|---|
Vertex | On vertices only. |
VertexAndSegment | Both on vertices and segments. |
Segment | On segments only. |
Definition at line 56 of file qgssnappingconfig.h.
SnappingTypeFlag defines on what object the snapping is performed.
Definition at line 70 of file qgssnappingconfig.h.
|
explicit |
Constructor with default parameters defined in global settings.
Definition at line 167 of file qgssnappingconfig.cpp.
bool QgsSnappingConfig::addLayers | ( | const QList< QgsMapLayer * > & | layers | ) |
Adds the specified layers as individual layers to the configuration with standard configuration.
When implementing a long-living QgsSnappingConfig (like the one in QgsProject) it is best to directly feed this with information from the layer registry.
true
if changes have been done.Definition at line 597 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::clearIndividualLayerSettings | ( | ) |
Removes all individual layer snapping settings.
Definition at line 420 of file qgssnappingconfig.cpp.
bool QgsSnappingConfig::enabled | ( | ) | const |
Returns if snapping is enabled.
Definition at line 240 of file qgssnappingconfig.cpp.
QHash< QgsVectorLayer *, QgsSnappingConfig::IndividualLayerSettings > QgsSnappingConfig::individualLayerSettings | ( | ) | const |
Returns individual snapping settings for all layers.
Definition at line 402 of file qgssnappingconfig.cpp.
QgsSnappingConfig::IndividualLayerSettings QgsSnappingConfig::individualLayerSettings | ( | QgsVectorLayer * | vl | ) | const |
Returns individual layer snappings settings (applied if mode is AdvancedConfiguration)
Definition at line 407 of file qgssnappingconfig.cpp.
bool QgsSnappingConfig::intersectionSnapping | ( | ) | const |
Returns if the snapping on intersection is enabled.
Definition at line 382 of file qgssnappingconfig.cpp.
double QgsSnappingConfig::maximumScale | ( | ) | const |
Returns the max scale (i.e.
most "zoomed in" scale)
Definition at line 726 of file qgssnappingconfig.cpp.
double QgsSnappingConfig::minimumScale | ( | ) | const |
Returns the min scale (i.e.
most "zoomed out" scale)
Definition at line 716 of file qgssnappingconfig.cpp.
QgsSnappingConfig::SnappingMode QgsSnappingConfig::mode | ( | ) | const |
Returns the mode (all layers, active layer, per layer settings)
Definition at line 254 of file qgssnappingconfig.cpp.
bool QgsSnappingConfig::operator!= | ( | const QgsSnappingConfig & | other | ) | const |
Compare this configuration to other.
Definition at line 434 of file qgssnappingconfig.cpp.
bool QgsSnappingConfig::operator== | ( | const QgsSnappingConfig & | other | ) | const |
Definition at line 174 of file qgssnappingconfig.cpp.
QgsProject * QgsSnappingConfig::project | ( | ) | const |
The project from which the snapped layers should be retrieved.
Definition at line 703 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::readProject | ( | const QDomDocument & | doc | ) |
Reads the configuration from the specified QGIS project document.
Definition at line 447 of file qgssnappingconfig.cpp.
bool QgsSnappingConfig::removeLayers | ( | const QList< QgsMapLayer * > & | layers | ) |
Removes the specified layers from the individual layer configuration.
When implementing a long-living QgsSnappingConfig (like the one in QgsProject) it is best to directly feed this with information from the layer registry.
true
if changes have been done.Definition at line 618 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::reset | ( | ) |
reset to default values
Definition at line 189 of file qgssnappingconfig.cpp.
QgsSnappingConfig::ScaleDependencyMode QgsSnappingConfig::scaleDependencyMode | ( | ) | const |
Returns the scale dependency mode.
Definition at line 741 of file qgssnappingconfig.cpp.
bool QgsSnappingConfig::selfSnapping | ( | ) | const |
Returns if self snapping (snapping to the currently digitized feature) is enabled.
Definition at line 392 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setEnabled | ( | bool | enabled | ) |
enables the snapping
Definition at line 245 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setIndividualLayerSettings | ( | QgsVectorLayer * | vl, |
const QgsSnappingConfig::IndividualLayerSettings & | individualLayerSettings | ||
) |
Sets individual layer snappings settings (applied if mode is AdvancedConfiguration)
Definition at line 425 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setIntersectionSnapping | ( | bool | enabled | ) |
Sets if the snapping on intersection is enabled.
Definition at line 387 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setMaximumScale | ( | double | maxScale | ) |
Set the max scale on which snapping is enabled, 0.0 disable scale limit.
Definition at line 731 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setMinimumScale | ( | double | minScale | ) |
Sets the min scale on which snapping is enabled, 0.0 disable scale limit.
Definition at line 721 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setMode | ( | QgsSnappingConfig::SnappingMode | mode | ) |
define the mode of snapping
Definition at line 259 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setProject | ( | QgsProject * | project | ) |
The project from which the snapped layers should be retrieved.
Definition at line 708 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setScaleDependencyMode | ( | QgsSnappingConfig::ScaleDependencyMode | mode | ) |
void QgsSnappingConfig::setSelfSnapping | ( | bool | enabled | ) |
Sets if self snapping (snapping to the currently digitized feature) is enabled.
Definition at line 397 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setTolerance | ( | double | tolerance | ) |
Sets the tolerance.
Definition at line 359 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setType | ( | QgsSnappingConfig::SnappingType | type | ) |
define the type of snapping
Definition at line 327 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::setTypeFlag | ( | QgsSnappingConfig::SnappingTypeFlag | type | ) |
void QgsSnappingConfig::setUnits | ( | QgsTolerance::UnitType | units | ) |
Sets the type of units.
Definition at line 373 of file qgssnappingconfig.cpp.
|
static |
Convenient method to return an icon corresponding to the enum type QgsSnappingConfig::SnappingTypeFlag.
Definition at line 305 of file qgssnappingconfig.cpp.
|
static |
Convenient method to returns the translated name of the enum type QgsSnappingConfig::SnappingTypeFlag.
Definition at line 283 of file qgssnappingconfig.cpp.
double QgsSnappingConfig::tolerance | ( | ) | const |
Returns the tolerance.
Definition at line 354 of file qgssnappingconfig.cpp.
QgsSnappingConfig::SnappingType QgsSnappingConfig::type | ( | ) | const |
Returns the flags type (vertices | segments | area | centroid | middle)
Definition at line 273 of file qgssnappingconfig.cpp.
QgsSnappingConfig::SnappingTypeFlag QgsSnappingConfig::typeFlag | ( | ) | const |
Returns the flags type (vertices | segments | area | centroid | middle)
Definition at line 268 of file qgssnappingconfig.cpp.
QgsTolerance::UnitType QgsSnappingConfig::units | ( | ) | const |
Returns the type of units.
Definition at line 368 of file qgssnappingconfig.cpp.
void QgsSnappingConfig::writeProject | ( | QDomDocument & | doc | ) |
Writes the configuration to the specified QGIS project document.
Definition at line 562 of file qgssnappingconfig.cpp.
|
readwrite |
Definition at line 35 of file qgssnappingconfig.h.