QGIS API Documentation 4.0.0-Norrköping (1ddcee3d0e4)
Loading...
Searching...
No Matches
qgis.h
Go to the documentation of this file.
1/***************************************************************************
2 qgis.h - QGIS namespace
3 -------------------
4 begin : Sat Jun 30 2002
5 copyright : (C) 2002 by Gary E.Sherman
6 email : sherman at mrcc.com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGIS_H
19#define QGIS_H
20
21
22#include <cfloat>
23#include <cmath>
24#include <memory>
25
26#include "qgis_core.h"
27#include "qgis_sip.h"
28
29#include <QMetaEnum>
30#include <QString>
31#include <QTimeZone>
32
33using namespace Qt::StringLiterals;
34
35#ifdef SIP_RUN
36// clang-format off
37% ModuleHeaderCode
38#include <qgis.h>
39% End
40
41% ModuleCode
42int QgisEvent = QEvent::User + 1;
43% End
44// clang-format on
45#endif
46
47#ifndef SIP_RUN
48// qHash implementation for scoped enum type
49// https://gitlab.com/frostasm/programming-knowledge-base/-/snippets/20120
50#define QHASH_FOR_CLASS_ENUM( T ) \
51 inline uint qHash( const T &t, uint seed ) \
52 { \
53 return ::qHash( static_cast<typename std::underlying_type<T>::type>( t ), seed ); \
54 }
55#endif
56
61 class CORE_EXPORT Qgis
62{
63 Q_GADGET
64 Q_CLASSINFO( "RegisterEnumClassesUnscoped", "false" )
65
66 public:
72 static QString version();
73
79 static int versionInt();
80
86 static QString releaseName();
87
89 static const char *QGIS_DEV_VERSION;
90
96 static QString devVersion();
97
98 // Enumerations
99 //
100
107 {
108 ClearStorage = 1 << 0,
109
110 ReadConfiguration = 1 << 1,
111 UpdateConfiguration = 1 << 2,
112 DeleteConfiguration = 1 << 3,
113 CreateConfiguration = 1 << 4,
114
115 ReadCertificateIdentity = 1 << 5,
116 UpdateCertificateIdentity = 1 << 6,
117 DeleteCertificateIdentity = 1 << 7,
118 CreateCertificateIdentity = 1 << 8,
119
120 ReadSslCertificateCustomConfig = 1 << 9,
121 UpdateSslCertificateCustomConfig = 1 << 10,
122 DeleteSslCertificateCustomConfig = 1 << 11,
123 CreateSslCertificateCustomConfig = 1 << 12,
124
125 ReadCertificateAuthority = 1 << 13,
126 UpdateCertificateAuthority = 1 << 14,
127 DeleteCertificateAuthority = 1 << 15,
128 CreateCertificateAuthority = 1 << 16,
129
130 ReadCertificateTrustPolicy = 1 << 17,
131 UpdateCertificateTrustPolicy = 1 << 18,
132 DeleteCertificateTrustPolicy = 1 << 19,
133 CreateCertificateTrustPolicy = 1 << 20,
134
135 ReadMasterPassword = 1 << 21,
136 UpdateMasterPassword = 1 << 22,
137 DeleteMasterPassword = 1 << 23,
138 CreateMasterPassword = 1 << 24,
139
140 ReadSetting = 1 << 25,
141 UpdateSetting = 1 << 26,
142 DeleteSetting = 1 << 27,
143 CreateSetting = 1 << 28,
144
145 };
146 Q_ENUM( AuthConfigurationStorageCapability )
147
148
154
160 {
161 Info = 0,
166 };
167 Q_ENUM( MessageLevel )
168
169
175 {
176 PlainText SIP_MONKEYPATCH_COMPAT_NAME( MessageText ),
177 Html SIP_MONKEYPATCH_COMPAT_NAME( MessageHtml ),
178 };
179 Q_ENUM( StringFormat )
180
181
186 enum class NetworkRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
187 {
188 DisableMessageLogging = 1 << 0,
189 };
190 Q_ENUM( NetworkRequestFlag )
191
192
198 Q_FLAG( NetworkRequestFlags )
199
206 {
207 Vector SIP_MONKEYPATCH_COMPAT_NAME( VectorLayer ),
208 Raster SIP_MONKEYPATCH_COMPAT_NAME( RasterLayer ),
209 Plugin SIP_MONKEYPATCH_COMPAT_NAME( PluginLayer ),
210 Mesh SIP_MONKEYPATCH_COMPAT_NAME( MeshLayer ),
211 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( VectorTileLayer ),
212 Annotation SIP_MONKEYPATCH_COMPAT_NAME( AnnotationLayer ),
213 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( PointCloudLayer ),
214 Group SIP_MONKEYPATCH_COMPAT_NAME( GroupLayer ),
215 TiledScene,
216 };
217 Q_ENUM( LayerType )
218
219
225 {
226 RasterLayer = 1,
227 NoGeometry = 2,
228 PointLayer = 4,
229 LineLayer = 8,
230 PolygonLayer = 16,
231 HasGeometry = PointLayer | LineLayer | PolygonLayer,
232 VectorLayer = NoGeometry | HasGeometry,
233 PluginLayer = 32,
234 WritableLayer = 64,
235 MeshLayer = 128,
236 VectorTileLayer = 256,
237 PointCloudLayer = 512,
238 AnnotationLayer = 1024,
239 TiledSceneLayer = 2048,
240 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
241 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
242 };
243 Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
244 Q_FLAG( LayerFilters )
245
246
251 enum class LoadStyleFlag : int SIP_ENUM_BASETYPE( IntFlag )
252 {
253 IgnoreMissingStyleErrors
254 = 1 << 0,
255 };
256 Q_ENUM( LoadStyleFlag )
257
258
263 Q_DECLARE_FLAGS( LoadStyleFlags, LoadStyleFlag )
264 Q_FLAG( LoadStyleFlags )
265
294 {
295 Unknown = 0,
296 Point = 1,
297 LineString = 2,
298 Polygon = 3,
299 Triangle = 17,
300 MultiPoint = 4,
301 MultiLineString = 5,
302 MultiPolygon = 6,
303 GeometryCollection = 7,
304 CircularString = 8,
305 CompoundCurve = 9,
306 CurvePolygon = 10,
307 MultiCurve = 11,
308 MultiSurface = 12,
309 PolyhedralSurface = 15,
310 TIN = 16,
311 NurbsCurve = 21,
312 NoGeometry = 100,
313 PointZ = 1001,
314 LineStringZ = 1002,
315 PolygonZ = 1003,
316 TriangleZ = 1017,
317 MultiPointZ = 1004,
318 MultiLineStringZ = 1005,
319 MultiPolygonZ = 1006,
320 GeometryCollectionZ = 1007,
321 CircularStringZ = 1008,
322 CompoundCurveZ = 1009,
323 CurvePolygonZ = 1010,
324 MultiCurveZ = 1011,
325 MultiSurfaceZ = 1012,
326 PolyhedralSurfaceZ = 1015,
327 TINZ = 1016,
328 NurbsCurveZ = 1021,
329 PointM = 2001,
330 LineStringM = 2002,
331 PolygonM = 2003,
332 TriangleM = 2017,
333 MultiPointM = 2004,
334 MultiLineStringM = 2005,
335 MultiPolygonM = 2006,
336 GeometryCollectionM = 2007,
337 CircularStringM = 2008,
338 CompoundCurveM = 2009,
339 CurvePolygonM = 2010,
340 MultiCurveM = 2011,
341 MultiSurfaceM = 2012,
342 PolyhedralSurfaceM = 2015,
343 TINM = 2016,
344 NurbsCurveM = 2021,
345 PointZM = 3001,
346 LineStringZM = 3002,
347 PolygonZM = 3003,
348 MultiPointZM = 3004,
349 MultiLineStringZM = 3005,
350 MultiPolygonZM = 3006,
351 GeometryCollectionZM = 3007,
352 CircularStringZM = 3008,
353 CompoundCurveZM = 3009,
354 CurvePolygonZM = 3010,
355 MultiCurveZM = 3011,
356 MultiSurfaceZM = 3012,
357 PolyhedralSurfaceZM = 3015,
358 TINZM = 3016,
359 TriangleZM = 3017,
360 NurbsCurveZM = 3021,
361 Point25D = 0x80000001,
362 LineString25D,
363 Polygon25D,
364 MultiPoint25D,
365 MultiLineString25D,
366 MultiPolygon25D
367 };
368 Q_ENUM( WkbType )
369
370
379 {
380 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
381 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
382 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
383 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
384 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
385 };
386 Q_ENUM( GeometryType )
387
388
393 {
394 UnknownDataType = 0,
395 Byte = 1,
396 Int8 = 14,
397 UInt16 = 2,
398 Int16 = 3,
399 UInt32 = 4,
400 Int32 = 5,
401 Float32 = 6,
402 Float64 = 7,
403 CInt16 = 8,
404 CInt32 = 9,
405 CFloat32 = 10,
406 CFloat64 = 11,
407 ARGB32 = 12,
408 ARGB32_Premultiplied = 13
409 };
410 Q_ENUM( DataType )
411
412
417 enum class CaptureTechnique : int
418 {
419 StraightSegments,
420 CircularString,
421 Streaming,
422 Shape,
423 PolyBezier,
424 NurbsCurve,
425 };
426 Q_ENUM( CaptureTechnique )
427
428
429
434 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
435 {
436 SqlQuery = 1 << 0
437 };
438 Q_ENUM( VectorLayerTypeFlag )
441 Q_FLAG( VectorLayerTypeFlags )
442
447 enum class EmbeddedScriptMode SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, PythonMacroMode ) : int
448 {
449 Never = 0,
450 Ask = 1,
451 SessionOnly = 2,
452 Always = 3,
453 NotForThisSession = 4,
454 NeverAsk = 5,
455 };
456 Q_ENUM( EmbeddedScriptMode )
457
458
462 enum class EmbeddedScriptType : int
463 {
464 Macro = 0,
465 ExpressionFunction = 1,
466 Action = 2,
467 FormInitCode = 3,
468 };
469 Q_ENUM( EmbeddedScriptType )
470
471
475 enum class ProjectTrustStatus : int
476 {
477 Undetermined = 0,
478 Trusted = 1,
479 Untrusted = 2,
480 };
481 Q_ENUM( ProjectTrustStatus )
482
483
491 {
492 TrustDataSource SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustDataSource )
493 = 1 << 0,
494 SkipFeatureCount = 1 << 1,
495 LoadDefaultStyle SIP_MONKEYPATCH_COMPAT_NAME( FlagLoadDefaultStyle ) = 1 << 2,
496 SkipGetExtent = 1 << 3,
497 SkipFullScan = 1 << 4,
498 ForceReadOnly = 1 << 5,
499 SkipCredentialsRequest
500 = 1 << 6,
501 ParallelThreadLoading = 1 << 7,
502 };
503 Q_ENUM( DataProviderReadFlag )
504
505
513 Q_FLAG( DataProviderReadFlags )
514
515 // TODO QGIS 5 -- remove NoCapabilities and rely on VectorProviderCapabilities() instead
516
525 {
526 NoCapabilities = 0,
527 AddFeatures = 1,
528 DeleteFeatures = 1 << 1,
529 ChangeAttributeValues = 1 << 2,
530 AddAttributes = 1 << 3,
531 DeleteAttributes = 1 << 4,
532 CreateSpatialIndex = 1 << 6,
533 SelectAtId = 1 << 7,
534 ChangeGeometries = 1 << 8,
535 SelectEncoding = 1 << 13,
536 CreateAttributeIndex = 1 << 12,
537 SimplifyGeometries = 1 << 14,
538 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
539 TransactionSupport = 1 << 16,
540 CircularGeometries = 1 << 17,
541 ChangeFeatures = 1 << 18,
542 RenameAttributes = 1 << 19,
543 FastTruncate = 1 << 20,
544 ReadLayerMetadata = 1 << 21,
545 WriteLayerMetadata = 1 << 22,
546 CancelSupport = 1 << 23,
547 CreateRenderer = 1 << 24,
548 CreateLabeling = 1 << 25,
549 ReloadData = 1 << 26,
550 FeatureSymbology = 1 << 27,
551 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
552 };
553 Q_ENUM( VectorProviderCapability )
554
555
564
571 {
572 Uncounted = -2,
573 UnknownCount = -1,
574 };
575 Q_ENUM( FeatureCountState )
576
577
584 {
585 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
586 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
587 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
588 };
589 Q_ENUM( SpatialIndexPresence )
590
591
603 {
604 NoFeaturesAvailable = 0,
605 FeaturesAvailable,
606 FeaturesMaybeAvailable
607 };
608 Q_ENUM( FeatureAvailability )
609
610
616 {
617 EditAlias = 1 << 0,
618 EditComment = 1 << 1,
619 };
620
621 Q_ENUM( VectorDataProviderAttributeEditCapability )
622
623
630
636 {
637 Marker,
638 Line,
639 Fill,
640 Hybrid
641 };
642 Q_ENUM( SymbolType )
643
644
650 {
651 ScaleArea,
652 ScaleDiameter
653 };
654 Q_ENUM( ScaleMethod )
655
656
661 {
662 Custom,
663 Variant,
664 String,
665 StringList,
666 VariantMap,
667 Bool,
668 Integer,
669 Double,
670 EnumFlag,
671 Color
672 };
673 Q_ENUM( SettingsType )
674
675
680 {
681 Root,
682 Standard,
683 NamedList,
684 };
685 Q_ENUM( SettingsTreeNodeType )
686
687
691 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
692 {
693 NamedListSelectedItemSetting = 1 << 0,
694 };
695
696 Q_ENUM( SettingsTreeNodeOption )
699
708 {
709 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
710 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
711 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
712 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
713 };
714 Q_ENUM( PropertyType )
715
716
721 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
722 {
723 NoOptions = 0,
724 Svg = 1 << 0,
725 Png = 1 << 1,
726 };
727 Q_ENUM( SldExportOption )
729 Q_FLAG( SldExportOptions )
730
736 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
737 {
738 NoVendorExtension = 0,
739 GeoServerVendorExtension = 1 << 1,
740 DeegreeVendorExtension = 1 << 2,
741 };
742 Q_ENUM( SldExportVendorExtension )
743
744
745
749 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
750 {
751 SaveFormerValue = 1 << 1,
752 SaveEnumFlagAsInt = 1 << 2,
753 };
754 Q_ENUM( SettingsOption )
755 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
756 Q_FLAG( SettingsOptions )
757
763 {
764 ActiveLayer = 1,
765 AllLayers = 2,
766 AdvancedConfiguration = 3,
767 };
768 Q_ENUM( SnappingMode )
769
770
775 {
776 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
777 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
778 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
779 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
780 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
781 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
782 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
783 };
784 Q_ENUM( SnappingType )
787 Q_FLAG( SnappingTypes )
788
795 {
796 DynamicRotation = 1 << 1,
797 IsSymbolLayerSubSymbol = 1 << 2,
798 ForceVectorRendering = 1 << 3,
799 ExcludeSymbolBuffers = 1 << 4,
800 };
801 Q_ENUM( SymbolRenderHint )
804 Q_FLAG( SymbolRenderHints )
805
811 enum class SymbolRotationMode : int
812 {
813 RespectMapRotation,
814 IgnoreMapRotation,
815 };
816 Q_ENUM( SymbolRotationMode )
817
818
819
831 Q_ENUM( HorizontalAnchorPoint )
832
833
846 Q_ENUM( VerticalAnchorPoint )
847
848
853 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
854 {
855 AffectsLabeling = 1 << 0,
856 };
857 Q_ENUM( FeatureRendererFlag )
858
859
865 Q_FLAG( FeatureRendererFlags )
866
872 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
873 {
874 RendererShouldUseSymbolLevels = 1 << 0,
875 AffectsLabeling = 1 << 1,
876 };
877 Q_ENUM( SymbolFlag )
879 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
880 Q_FLAG( SymbolFlags )
881
888 {
889 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
890 };
891 Q_ENUM( SymbolPreviewFlag )
894 Q_FLAG( SymbolPreviewFlags )
895
905 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
906 {
907 DisableFeatureClipping = 1 << 0,
908 CanCalculateMaskGeometryPerFeature = 1 << 1,
909 AffectsLabeling = 1 << 2,
910 };
911 Q_ENUM( SymbolLayerFlag )
914 Q_FLAG( SymbolLayerFlags )
915
925 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
926 {
927 DisableSelectionRecoloring = 1 << 0,
928 };
929 Q_ENUM( SymbolLayerUserFlag )
930
931
937 Q_FLAG( SymbolLayerUserFlags )
938
945 {
946 Collection,
947 Directory,
948 Layer,
949 Error,
950 Favorites,
951 Project,
952 Custom,
953 Fields,
954 Field,
955 };
956 Q_ENUM( BrowserItemType )
957
958
964 {
965 NotPopulated,
966 Populating,
967 Populated,
968 };
969 Q_ENUM( BrowserItemState )
970
971
977 {
978 NoCapabilities = 0,
979 SetCrs = 1 << 0,
980 Fertile = 1 << 1,
981 Fast = 1 << 2,
982 Collapse = 1 << 3,
983 Rename = 1 << 4,
984 Delete = 1 << 5,
985 ItemRepresentsFile = 1 << 6,
986 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
987 ReadOnly = 1 << 8,
988 };
989 Q_ENUM( BrowserItemCapability )
993
1002 {
1003 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
1005 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
1006 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
1007 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
1008 };
1009 Q_ENUM( DataItemProviderCapability )
1010
1011
1020
1027 {
1028 NoType,
1029 Vector,
1030 Raster,
1031 Point,
1032 Line,
1033 Polygon,
1034 TableLayer,
1035 Database,
1036 Table,
1037 Plugin,
1038 Mesh,
1039 VectorTile,
1040 PointCloud,
1041 TiledScene,
1042 };
1043 Q_ENUM( BrowserLayerType )
1044
1045
1051 {
1052 Default,
1053 NeverMonitor,
1054 AlwaysMonitor,
1055 };
1056 Q_ENUM( BrowserDirectoryMonitoring )
1057
1058
1062 enum class HttpMethod : int
1063 {
1064 Get = 0,
1065 Post = 1,
1066 Head,
1067 Put,
1068 Delete,
1069 };
1070 Q_ENUM( HttpMethod )
1071
1072
1078 {
1080 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
1081 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
1082 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
1083 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
1084 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
1085 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
1086 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
1087 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
1088 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
1089 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
1090 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
1091 };
1092 Q_ENUM( VectorExportResult )
1093
1094
1099 {
1100 FieldAliases = 1 << 0,
1101 FieldComments = 1 << 2,
1102 };
1103 Q_ENUM( VectorFileWriterCapability )
1104
1105
1111
1117 {
1118 SubsetStringFilter = 1 << 1,
1119 GeometryColumn = 1 << 2,
1120 PrimaryKeys = 1 << 3,
1121 UnstableFeatureIds = 1 << 4
1122 };
1123 Q_ENUM( SqlLayerDefinitionCapability )
1127
1133 enum class SqlKeywordCategory : int
1134 {
1135 Keyword,
1136 Constant,
1137 Function,
1138 Geospatial,
1139 Operator,
1140 Math,
1142 String,
1143 Identifier
1144 };
1145 Q_ENUM( SqlKeywordCategory )
1146
1147
1151 enum class DriveType : int
1152 {
1153 Unknown,
1154 Invalid,
1155 Removable,
1156 Fixed,
1157 Remote,
1158 CdRom,
1159 RamDisk,
1160 Cloud,
1161 };
1162 Q_ENUM( DriveType )
1163
1164
1169 {
1170 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1171 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1172 };
1173 Q_ENUM( ActionStart )
1174
1175
1181 {
1182 FollowEngineSetting,
1183 NeverShow,
1184 };
1185 Q_ENUM( UnplacedLabelVisibility )
1186
1187
1192 enum class LabelOverlapHandling : int
1193 {
1194 PreventOverlap,
1195 AllowOverlapIfRequired,
1196 AllowOverlapAtNoCost,
1197 };
1198 Q_ENUM( LabelOverlapHandling )
1199
1200
1206 {
1207 TreatWhitespaceAsCollision,
1208 IgnoreWhitespaceCollisions,
1209 };
1210 Q_ENUM( LabelWhitespaceCollisionHandling )
1211
1212
1217 enum class LabelPrioritization : int
1218 {
1219 PreferCloser,
1220 PreferPositionOrdering,
1221 };
1222 Q_ENUM( LabelPrioritization )
1223
1224
1232 {
1233 AroundPoint,
1234 OverPoint,
1235 Line,
1236 Curved,
1237 Horizontal,
1238 Free,
1239 OrderedPositionsAroundPoint,
1240 PerimeterCurved,
1241 OutsidePolygons,
1242 };
1243 Q_ENUM( LabelPlacement )
1244
1245
1250 enum class CurvedLabelMode : int
1251 {
1252 Default,
1253 PlaceCharactersAtVertices,
1254 StretchCharacterSpacingToFitLine,
1255 StretchWordSpacingToFitLine,
1256 };
1257 Q_ENUM( CurvedLabelMode )
1258
1259
1267 {
1268 TopLeft,
1269 TopSlightlyLeft,
1270 TopMiddle,
1271 TopSlightlyRight,
1272 TopRight,
1273 MiddleLeft,
1274 MiddleRight,
1275 BottomLeft,
1276 BottomSlightlyLeft,
1277 BottomMiddle,
1278 BottomSlightlyRight,
1279 BottomRight,
1280 OverPoint,
1281 };
1282 Q_ENUM( LabelPredefinedPointPosition )
1283
1284
1290 {
1291 LabelLargestPartOnly,
1292 LabelEveryPartWithEntireLabel,
1293 SplitLabelTextLinesOverParts,
1294 };
1295 Q_ENUM( MultiPartLabelingBehavior )
1296
1297
1306 {
1307 FromPoint,
1308 FromSymbolBounds,
1309 };
1310 Q_ENUM( LabelOffsetType )
1311
1312
1320 {
1321 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1322 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1323 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1325 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1327 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1328 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1329 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1330 };
1331 Q_ENUM( LabelQuadrantPosition )
1332
1333
1340 {
1341 OnLine = 1,
1342 AboveLine = 2,
1343 BelowLine = 4,
1344 MapOrientation = 8,
1345 };
1346 Q_ENUM( LabelLinePlacementFlag )
1347
1348
1356 Q_FLAG( LabelLinePlacementFlags )
1357
1365 {
1366 AllowPlacementOutsideOfPolygon = 1 << 0,
1367 AllowPlacementInsideOfPolygon = 1 << 1,
1368 };
1369 Q_ENUM( LabelPolygonPlacementFlag )
1370
1371
1379
1388 {
1389 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1390 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1391 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1392 };
1393 Q_ENUM( UpsideDownLabelHandling )
1394
1395
1403 {
1405 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1407 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1408 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1409 };
1410 Q_ENUM( LabelMultiLineAlignment )
1411
1412
1419 {
1420 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1421 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1422 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1423 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1424 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1425 VectorTile,
1426 TiledScene,
1427 };
1428 Q_ENUM( FileFilterType )
1429
1430
1435 enum class UriCleaningFlag : int SIP_ENUM_BASETYPE( IntFlag )
1436 {
1437 RemoveCredentials = 1 << 0,
1438 RedactCredentials = 1 << 1,
1439 };
1440 Q_ENUM( UriCleaningFlag )
1441
1442
1448 Q_FLAG( UriCleaningFlags )
1449
1455 enum class SourceHierarchyLevel : int
1456 {
1457 Connection,
1458 Group,
1459 Object,
1460 };
1461 Q_ENUM( SourceHierarchyLevel )
1462
1463
1468 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1469 {
1470 FastScan = 1 << 0,
1471 ResolveGeometryType = 1 << 1,
1472 CountFeatures = 1 << 2,
1473 IncludeSystemTables = 1 << 3,
1474 OpenLayersToResolveDescriptions = 1 << 4,
1475 };
1476
1479 Q_FLAG( SublayerQueryFlags )
1480
1481
1486 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1487 {
1488 SystemTable = 1 << 0,
1489 };
1490
1491 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1493 Q_FLAG( SublayerFlags )
1494
1495
1503 {
1504 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1505 Discrete = 1,
1506 Exact = 2,
1507 };
1508 Q_ENUM( ShaderInterpolationMethod )
1509
1510
1518 {
1519 Continuous = 1,
1520 EqualInterval = 2,
1521 Quantile = 3,
1522 };
1523 Q_ENUM( ShaderClassificationMethod )
1524
1525
1531 {
1532 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1533 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1534 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1535 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1536 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1537 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1538 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1539 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1540 };
1541 Q_ENUM( RasterPipeInterfaceRole )
1542
1543
1548 {
1549 ResampleFilter,
1550 Provider,
1551 };
1552 Q_ENUM( RasterResamplingStage )
1553
1554
1562 {
1563 Nearest,
1564 Bilinear,
1565 Cubic,
1566 CubicSpline,
1567 Lanczos,
1568 Average,
1569 Mode,
1570 Gauss
1571 };
1572 Q_ENUM( RasterResamplingMethod )
1573
1574
1579 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1580 {
1581 InternalLayerOpacityHandling = 1 << 0,
1582 UseNoDataForOutOfRangePixels
1583 = 1 << 1,
1584 };
1585
1592
1594 Q_FLAG( RasterRendererFlags )
1595
1596
1602 {
1603 UsesMultipleBands = 1 << 0,
1604 };
1605 Q_ENUM( RasterRendererCapability )
1606
1607
1614
1623 {
1625 MinimumMaximum SIP_MONKEYPATCH_COMPAT_NAME( MinMax ),
1626 StdDev,
1627 CumulativeCut
1628 };
1629 Q_ENUM( RasterRangeLimit )
1630
1631
1639 {
1640 WholeRaster SIP_MONKEYPATCH_COMPAT_NAME( None_ ),
1641 FixedCanvas SIP_MONKEYPATCH_COMPAT_NAME( CurrentCanvas ),
1642 UpdatedCanvas,
1643 };
1644 Q_ENUM( RasterRangeExtent )
1645
1646
1654 {
1655 Exact,
1656 Estimated,
1657 };
1658 Q_ENUM( RasterRangeAccuracy )
1659
1660
1666 {
1667 Generic = 0,
1668 PixelCount = 1,
1669 Name = 2,
1670 Min = 3,
1671 Max = 4,
1672 MinMax = 5,
1673 Red = 6,
1674 Green = 7,
1675 Blue = 8,
1676 Alpha = 9,
1677 RedMin = 10,
1678 GreenMin = 11,
1679 BlueMin = 12,
1680 AlphaMin = 13,
1681 RedMax = 14,
1682 GreenMax = 15,
1683 BlueMax = 16,
1684 AlphaMax = 17,
1685 MaxCount
1686 };
1687 Q_ENUM( RasterAttributeTableFieldUsage )
1688
1689
1695 {
1696 Thematic = 0,
1697 Athematic = 1
1698 };
1699 Q_ENUM( RasterAttributeTableType )
1700
1701
1708 {
1709 Raw = 0,
1710 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1711 };
1712 Q_ENUM( RasterExportType )
1713
1714
1721 {
1723 SourceProviderError = 1,
1724 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1725 CreateDatasourceError = 3,
1726 WriteError = 4,
1727 NoDataConflict = 5,
1728 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1729 };
1730 Q_ENUM( RasterFileWriterResult )
1731
1732
1737 enum class MeshEditingErrorType : int
1738 {
1739 NoError,
1740 InvalidFace,
1741 TooManyVerticesInFace,
1742 FlatFace,
1743 UniqueSharedVertex,
1744 InvalidVertex,
1745 ManifoldFace,
1746 };
1747 Q_ENUM( MeshEditingErrorType )
1748
1749
1754 enum class FilePathType : int
1755 {
1756 Absolute,
1757 Relative,
1758 };
1759 Q_ENUM( FilePathType )
1760
1761
1766 enum class SublayerPromptMode : int
1767 {
1768 AlwaysAsk,
1769 AskExcludingRasterBands,
1770 NeverAskSkip,
1771 NeverAskLoadAll,
1772 };
1773 Q_ENUM( SublayerPromptMode )
1774
1775
1783 {
1784 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1785 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1786 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1787 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1788 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1789 };
1790 Q_ENUM( FieldOrigin )
1791
1792
1799 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1800 {
1801 NoFlag = 0,
1802 NotSearchable = 1 << 1,
1803 HideFromWms = 1 << 2,
1804 HideFromWfs = 1 << 3,
1805 };
1806 Q_ENUM( FieldConfigurationFlag )
1807
1808
1816 Q_FLAG( FieldConfigurationFlags )
1817
1823 enum class FieldMetadataProperty : int
1824 {
1825 GeometryCrs = 0x1000,
1826 GeometryWkbType = 0x1001,
1827 CustomProperty = 0x100000,
1828 };
1829 Q_ENUM( FieldMetadataProperty )
1830
1831
1836 enum class SelectionRenderingMode : int
1837 {
1838 Default,
1839 CustomColor,
1840 CustomSymbol,
1841 };
1842 Q_ENUM( SelectionRenderingMode )
1843
1844
1850 {
1851 SetSelection,
1852 AddToSelection,
1853 IntersectSelection,
1854 RemoveFromSelection,
1855 };
1856 Q_ENUM( SelectBehavior )
1857
1858
1864 {
1865 Intersect,
1866 Within,
1867 };
1868 Q_ENUM( SelectGeometryRelationship )
1869
1870
1875 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1876 {
1877 SingleFeatureSelection = 1 << 0,
1878 ToggleSelection = 1 << 1,
1879 };
1880
1886 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1887
1889 Q_FLAG( SelectionFlags )
1890
1891
1897 {
1899 EmptyGeometry = 1,
1900 EditFailed = 2,
1901 FetchFeatureFailed = 3,
1902 InvalidLayer = 4,
1903 };
1904 Q_ENUM( VectorEditResult )
1905
1906
1912 {
1913 SemiTransparentCircle,
1914 Cross,
1915 NoMarker,
1916 };
1917 Q_ENUM( VertexMarkerType )
1918
1919
1923 enum class ContentStatus : int
1924 {
1925 NotStarted,
1926 Running,
1927 Finished,
1928 Failed,
1929 Canceled,
1930 };
1931 Q_ENUM( ContentStatus )
1932
1933
1938 enum class GpsConnectionType : int
1939 {
1940 Automatic,
1941 Internal,
1942 Serial,
1943 Gpsd,
1944 };
1945 Q_ENUM( GpsConnectionType )
1946
1947
1952 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1953 {
1954 Disconnected,
1955 Connecting,
1956 Connected,
1957 };
1958 Q_ENUM( DeviceConnectionStatus )
1959
1960
1968 {
1969 NoData,
1970 NoFix,
1971 Fix2D,
1972 Fix3D
1973 };
1975
1976
1983 {
1984 Unknown,
1985 Gps,
1986 Glonass,
1987 Galileo,
1988 BeiDou,
1989 Qzss,
1990 Navic,
1991 Sbas,
1992 };
1994
2001 {
2002 Unknown = -1,
2003 Invalid,
2004 GPS,
2005 DGPS,
2006 PPS,
2007 RTK,
2008 FloatRTK,
2009 Estimated,
2010 Manual,
2011 Simulation,
2012 };
2013 Q_ENUM( GpsQualityIndicator )
2014
2015
2020 enum class GpsNavigationStatus : int
2021 {
2022 NotValid,
2023 Safe,
2024 Caution,
2025 Unsafe,
2026 };
2028
2034 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
2035 {
2036 Location = 1 << 0,
2037 Altitude = 1 << 1,
2038 GroundSpeed = 1 << 2,
2039 Bearing = 1 << 3,
2040 TotalTrackLength = 1 << 4,
2041 TrackDistanceFromStart = 1 << 5,
2042 Pdop = 1 << 6,
2043 Hdop = 1 << 7,
2044 Vdop = 1 << 8,
2045 HorizontalAccuracy = 1 << 9,
2046 VerticalAccuracy = 1 << 10,
2047 HvAccuracy = 1 << 11,
2048 SatellitesUsed = 1 << 12,
2049 Timestamp = 1 << 13,
2050 TrackStartTime = 1 << 14,
2051 TrackEndTime = 1 << 15,
2052 TrackDistanceSinceLastPoint = 1 << 16,
2053 TrackTimeSinceLastPoint = 1 << 17,
2054 GeoidalSeparation = 1 << 18,
2055 EllipsoidAltitude = 1 << 19,
2056 };
2057
2065 Q_FLAG( GpsInformationComponents )
2066
2067
2072 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
2073 {
2074 Import = 1 << 0,
2075 Export = 1 << 1,
2076 Waypoints = 1 << 2,
2077 Routes = 1 << 3,
2078 Tracks = 1 << 4,
2079 };
2080
2083 Q_FLAG( BabelFormatCapabilities )
2084
2085
2091 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
2092 {
2093 QuoteFilePaths = 1 << 0,
2094 };
2095
2098 Q_FLAG( BabelCommandFlags )
2099
2100
2105 enum class GpsFeatureType : int
2106 {
2107 Waypoint,
2108 Route,
2109 Track,
2110 };
2111 Q_ENUM( GpsFeatureType )
2112
2113
2121 {
2123 NothingHappened = 1000,
2124 InvalidBaseGeometry,
2125 InvalidInputGeometryType,
2126 SelectionIsEmpty,
2127 SelectionIsGreaterThanOne,
2128 GeometryEngineError,
2129 LayerNotEditable,
2130 // Add part issues
2131 AddPartSelectedGeometryNotFound,
2132 AddPartNotMultiGeometry,
2133 // Add ring issues
2134 AddRingNotClosed,
2135 AddRingNotValid,
2136 AddRingCrossesExistingRings,
2137 AddRingNotInExistingFeature,
2138 // Split features
2139 SplitCannotSplitPoint,
2140 GeometryTypeHasChanged,
2141 };
2142 Q_ENUM( GeometryOperationResult )
2143
2144
2150 {
2151 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles )
2152 = 1 << 0,
2153 };
2154
2157 Q_FLAG( GeometryValidityFlags )
2158
2159
2164 {
2165 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
2166 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
2167 };
2168 Q_ENUM( GeometryValidationEngine )
2169
2170
2180 Q_ENUM( BufferSide )
2181
2182
2193 Q_ENUM( EndCapStyle )
2194
2195
2201 {
2202 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
2203 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
2204 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
2205 };
2206 Q_ENUM( JoinStyle )
2207
2208
2213 enum class JoinStyle3D : int
2214 {
2215 Round = 1,
2216 Flat,
2217 CylindersAndSpheres,
2218 };
2219 Q_ENUM( JoinStyle3D )
2220
2221
2226 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2227 {
2228 RejectOnInvalidSubGeometry = 1 << 0,
2229 SkipEmptyInteriorRings = 1 << 1,
2230 };
2231 Q_ENUM( GeosCreationFlag )
2232
2233
2239 Q_FLAG( GeosCreationFlags )
2240
2246 enum class CoverageValidityResult : int
2247 {
2248 Invalid = 0,
2249 Valid = 1,
2250 Error = 2,
2251 };
2252 Q_ENUM( CoverageValidityResult )
2253
2254
2259 enum class MakeValidMethod : int
2260 {
2261 Linework = 0,
2262 Structure = 1,
2263 };
2264 Q_ENUM( MakeValidMethod )
2265
2266
2274 {
2275 NoFlags = 0,
2276 NoGeometry = 1,
2277 SubsetOfAttributes = 2,
2278 ExactIntersect = 4,
2279 IgnoreStaticNodesDuringExpressionCompilation
2280 = 8,
2281 EmbeddedSymbols = 16,
2282 };
2283 Q_ENUM( FeatureRequestFlag )
2284
2285
2293 Q_FLAG( FeatureRequestFlags )
2294
2303 {
2304 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2306 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2308 };
2309 Q_ENUM( FeatureRequestFilterType )
2310
2311
2319 {
2320 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2321 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2322 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2323 };
2324 Q_ENUM( InvalidGeometryCheck )
2325
2326
2331 enum class SpatialFilterType : int
2332 {
2333 NoFilter,
2334 BoundingBox,
2335 DistanceWithin,
2336 };
2337 Q_ENUM( SpatialFilterType )
2338
2339
2344 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2345 {
2346 IncludeMetadataFile = 1 << 0,
2347 IncludeStyleFile = 1 << 1,
2348 };
2349
2352 Q_FLAG( FileOperationFlags )
2353
2354
2359 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2360 {
2361 UsersCannotToggleEditing
2362 = 1 << 0,
2363 IsBasemapLayer = 1 << 1,
2364 Is3DBasemapLayer = 1 << 2,
2365 };
2366
2369 Q_FLAG( MapLayerProperties )
2370
2371
2376 enum class AutoRefreshMode : int
2377 {
2378 Disabled = 0,
2379 ReloadData = 1,
2380 RedrawOnly = 2,
2381 };
2382 Q_ENUM( AutoRefreshMode )
2383
2384
2389 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2390 {
2391 IsBasemapSource = 1 << 1,
2392 FastExtent2D = 1 << 2,
2393 FastExtent3D = 1 << 3,
2394 Is3DBasemapSource = 1 << 4,
2395 };
2396
2399 Q_FLAG( DataProviderFlags )
2400
2401
2408 enum class CrsType : int
2409 {
2410 Unknown,
2411 Geodetic,
2412 Geocentric,
2413 Geographic2d,
2414 Geographic3d,
2415 Vertical,
2416 Projected,
2417 Compound,
2418 Temporal,
2419 Engineering,
2420 Bound,
2421 Other,
2422 DerivedProjected,
2423 };
2424 Q_ENUM( CrsType )
2425
2426
2433 enum class CrsAxisDirection : int
2434 {
2435 North,
2436 NorthNorthEast,
2437 NorthEast,
2438 EastNorthEast,
2439 East,
2440 EastSouthEast,
2441 SouthEast,
2442 SouthSouthEast,
2443 South,
2444 SouthSouthWest,
2445 SouthWest,
2446 WestSouthWest,
2447 West,
2448 WestNorthWest,
2449 NorthWest,
2450 NorthNorthWest,
2451 GeocentricX,
2452 GeocentricY,
2453 GeocentricZ,
2456 Forward,
2457 Aft,
2458 Port,
2459 Starboard,
2460 Clockwise,
2461 CounterClockwise,
2462 ColumnPositive,
2463 ColumnNegative,
2464 RowPositive,
2465 RowNegative,
2466 DisplayRight,
2467 DisplayLeft,
2468 DisplayUp,
2469 DisplayDown,
2470 Future,
2471 Past,
2472 Towards,
2473 AwayFrom,
2474 Unspecified,
2475 };
2476 Q_ENUM( CrsAxisDirection )
2477
2478
2483 enum class CoordinateOrder : int
2484 {
2485 Default,
2486 XY,
2487 YX,
2488 };
2489 Q_ENUM( CoordinateOrder )
2490
2491
2499 {
2500 ShortString,
2501 MediumString,
2502 FullString,
2503 };
2504 Q_ENUM( CrsIdentifierType )
2505
2506
2514 {
2516 WKT1_GDAL
2517 ),
2518 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2519 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2520 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME(
2521 WKT2_2015_SIMPLIFIED
2522 ),
2524 WKT2_2019
2525 ),
2526 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2527 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2528 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED )
2529 = Wkt2_2019Simplified,
2530 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2531 };
2532 Q_ENUM( CrsWktVariant )
2533
2534
2539 enum class Axis : int
2540 {
2541 X,
2542 Y,
2544 };
2545 Q_ENUM( Axis )
2546
2547
2552 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2553 {
2554 ScaleDependentBoundingBox = 1 << 0,
2555 SupportsReferenceScale = 1 << 1,
2556 SupportsCallouts = 1 << 2,
2557 };
2558
2561 Q_FLAG( AnnotationItemFlags )
2562
2563
2569 {
2570 SpatialBounds = 0,
2571 FixedSize,
2572 RelativeToMapFrame,
2573 };
2574 Q_ENUM( AnnotationPlacementMode )
2575
2576
2581 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2582 {
2583 FlagNoCreationTools = 1 << 0,
2584 };
2585
2588 Q_FLAG( AnnotationItemGuiFlags )
2589
2590
2595 enum class AnnotationItemNodeType : int
2596 {
2597 VertexHandle,
2598 CalloutHandle,
2599 };
2600 Q_ENUM( AnnotationItemNodeType )
2601
2602
2608 {
2610 Invalid,
2611 ItemCleared,
2612 };
2613 Q_ENUM( AnnotationItemEditOperationResult )
2614
2615
2623 {
2624 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2625 Animated,
2626 FixedRange,
2627 Movie,
2628 };
2629 Q_ENUM( TemporalNavigationMode )
2630
2631
2644 Q_ENUM( AnimationState )
2645
2646
2651 enum class PlaybackOperation : int
2652 {
2653 SkipToStart,
2654 PreviousFrame,
2655 PlayReverse,
2656 Pause,
2657 PlayForward,
2658 NextFrame,
2659 SkipToEnd,
2660 };
2661 Q_ENUM( PlaybackOperation )
2662
2663
2669 {
2670 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2671 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2672 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2673 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2674 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2676 ModeRedrawLayerOnly
2677 ),
2678 };
2679 Q_ENUM( VectorTemporalMode )
2680
2681
2687 {
2688 IncludeBeginExcludeEnd = 0,
2689 IncludeBeginIncludeEnd,
2690 };
2691 Q_ENUM( VectorTemporalLimitMode )
2692
2693
2699 {
2700 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2701 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2702 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2703 };
2704 Q_ENUM( VectorDataProviderTemporalMode )
2705
2706
2712 {
2713 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2714 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2715 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly )
2716 = 2,
2717 FixedRangePerBand = 3,
2718 RepresentsTemporalValues = 4,
2719 FixedDateTime = 5,
2720 };
2721 Q_ENUM( RasterTemporalMode )
2722
2723
2729 {
2730 MatchUsingWholeRange,
2731 MatchExactUsingStartOfRange,
2732 MatchExactUsingEndOfRange,
2733 FindClosestMatchToStartOfRange,
2734 FindClosestMatchToEndOfRange
2735 };
2736 Q_ENUM( TemporalIntervalMatchMethod )
2737
2738
2744 {
2745 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2746 = 1 << 0,
2747 };
2748 Q_ENUM( RasterTemporalCapabilityFlag )
2749
2750
2757
2768 Q_ENUM( TransformDirection )
2769
2770
2776 {
2777 BallparkTransformsAreAppropriate
2778 = 1 << 0,
2779 IgnoreImpossibleTransformations
2780 = 1 << 1,
2781 };
2782 Q_ENUM( CoordinateTransformationFlag )
2783
2784
2791
2798 {
2799 Default,
2800 PreferVector,
2801 ForceVector,
2802 };
2803 Q_ENUM( RasterizedRenderingPolicy )
2804
2805
2811 {
2812 Antialiasing = 0x01,
2813 DrawEditingInfo = 0x02,
2814 ForceVectorOutput = 0x04,
2815 UseAdvancedEffects = 0x08,
2816 DrawLabeling = 0x10,
2817 UseRenderingOptimization = 0x20,
2818 DrawSelection = 0x40,
2819 DrawSymbolBounds = 0x80,
2820 RenderMapTile = 0x100,
2821 RenderPartialOutput = 0x200,
2822 RenderPreviewJob = 0x400,
2823 RenderBlocking = 0x800,
2824 LosslessImageRendering
2825 = 0x1000,
2826 Render3DMap = 0x2000,
2827 HighQualityImageTransforms = 0x4000,
2828 SkipSymbolRendering = 0x8000,
2829 ForceRasterMasks = 0x10000,
2830 RecordProfile = 0x20000,
2831 AlwaysUseGlobalMasks
2832 = 0x40000,
2833 };
2834
2837 Q_FLAG( MapSettingsFlags )
2838
2839
2845 {
2846 DrawEditingInfo = 0x01,
2847 ForceVectorOutput = 0x02,
2848 UseAdvancedEffects = 0x04,
2849 UseRenderingOptimization = 0x08,
2850 DrawSelection = 0x10,
2851 DrawSymbolBounds = 0x20,
2852 RenderMapTile = 0x40,
2853 Antialiasing = 0x80,
2854 RenderPartialOutput = 0x100,
2855 RenderPreviewJob = 0x200,
2856 RenderBlocking = 0x400,
2857 RenderSymbolPreview = 0x800,
2858 LosslessImageRendering = 0x1000,
2859 ApplyScalingWorkaroundForTextRendering = 0x2000,
2860 Render3DMap = 0x4000,
2861 ApplyClipAfterReprojection = 0x8000,
2862 RenderingSubSymbol = 0x10000,
2863 HighQualityImageTransforms = 0x20000,
2864 SkipSymbolRendering = 0x40000,
2865 RecordProfile = 0x80000,
2866 AlwaysUseGlobalMasks = 0x100000,
2867 DisableSymbolClippingToExtent = 0x200000,
2868 RenderLayerTree = 0x400000
2869 };
2870
2873 Q_FLAG( RenderContextFlags )
2874
2875
2880 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2881 {
2882 RenderPartialOutputs = 1 << 0,
2883 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2884 AffectsLabeling = 1 << 2,
2885 };
2886 Q_ENUM( MapLayerRendererFlag )
2887
2888
2894 Q_FLAG( MapLayerRendererFlags )
2895
2901 enum class PaintEffectFlag : int SIP_ENUM_BASETYPE( IntFlag )
2902 {
2903 RequiresRasterization = 1 << 0,
2904 };
2905 Q_ENUM( PaintEffectFlag )
2906
2907
2913 Q_FLAG( PaintEffectFlags )
2914
2915 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2916 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2917
2923 {
2925 TextFormatAlwaysOutlines
2926 ),
2928 TextFormatAlwaysText
2929 ),
2930 PreferText,
2931 };
2932 Q_ENUM( TextRenderFormat )
2933
2934
2942 {
2943 UseAllLabels = 1 << 1,
2944 UsePartialCandidates = 1 << 2,
2945 // TODO QGIS 5.0: remove
2946 RenderOutlineLabels = 1 << 3,
2947 DrawLabelRectOnly = 1 << 4,
2948 DrawCandidates = 1 << 5,
2949 DrawUnplacedLabels = 1 << 6,
2950 CollectUnplacedLabels = 1 << 7,
2951 DrawLabelMetrics = 1 << 8,
2952 };
2953 Q_ENUM( LabelingFlag )
2954
2955
2963 Q_FLAG( LabelingFlags )
2964
2973 {
2974 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
2975 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
2976 };
2977 Q_ENUM( LabelPlacementEngineVersion )
2978
2979
2987 {
2988 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
2989 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
2990 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
2991 };
2992 Q_ENUM( TextOrientation )
2993
2994
3002 {
3004 Point,
3006 RectangleCapHeightBased,
3007 RectangleAscentBased,
3008 };
3009 Q_ENUM( TextLayoutMode )
3010
3011
3019 {
3020 Text = 1 << 0,
3021 Buffer = 1 << 1,
3022 Background = 1 << 2,
3023 Shadow = 1 << 3,
3024 };
3025 Q_ENUM( TextComponent )
3026
3027
3032 Q_DECLARE_FLAGS( TextComponents, TextComponent )
3033 Q_FLAG( TextComponents )
3034
3049 Q_ENUM( TextHorizontalAlignment )
3050
3051
3062 {
3064 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
3065 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
3066 };
3067 Q_ENUM( TextVerticalAlignment )
3068
3069
3078 {
3079 Normal,
3080 SuperScript,
3081 SubScript,
3082 };
3083 Q_ENUM( TextCharacterVerticalAlignment )
3084
3085
3091 {
3092 TruncateStringWhenLineIsTooShort = 1 << 0,
3093 UseBaselinePlacement = 1 << 1,
3094 UprightCharactersOnly = 1 << 2,
3095 ExtendLineToFitText = 1 << 3,
3096 };
3097 Q_ENUM( CurvedTextFlag )
3098
3099
3105
3114 {
3115 Distance = 0,
3116 SnapToGrid = 1,
3117 Visvalingam = 2,
3118 SnappedToGridGlobal = 3,
3119 };
3120 Q_ENUM( VectorSimplificationAlgorithm )
3121
3122
3130 {
3131 NoSimplification = 0,
3132 GeometrySimplification = 1,
3133 AntialiasingSimplification = 2,
3134 FullSimplification = 3,
3135 };
3136 Q_ENUM( VectorRenderingSimplificationFlag )
3137
3138
3147
3154 {
3155 Generic,
3156 ShadowOffset,
3157 BlurSize,
3158 GlowSpread,
3159 };
3160 Q_ENUM( RenderSubcomponentProperty )
3161
3162
3168 {
3169 SymbolLayer,
3170 Label,
3171 };
3172 Q_ENUM( SelectiveMaskSourceType )
3173
3174
3179 {
3180 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
3181 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
3182 ControlPoint SIP_MONKEYPATCH_COMPAT_NAME( ControlPointVertex ) = 3,
3183 };
3184 Q_ENUM( VertexType )
3185
3186
3194 {
3195 Square,
3196 Diamond,
3197 Pentagon,
3198 Hexagon,
3199 Triangle,
3200 EquilateralTriangle,
3201 Star,
3202 Arrow,
3203 Circle,
3204 Cross,
3205 CrossFill,
3206 Cross2,
3207 Line,
3208 ArrowHead,
3209 ArrowHeadFilled,
3210 SemiCircle,
3211 ThirdCircle,
3212 QuarterCircle,
3213 QuarterSquare,
3214 HalfSquare,
3215 DiagonalHalfSquare,
3216 RightHalfTriangle,
3217 LeftHalfTriangle,
3218 Octagon,
3219 SquareWithCorners,
3220 AsteriskFill,
3221 HalfArc,
3222 ThirdArc,
3223 QuarterArc,
3224 ParallelogramRight,
3225 ParallelogramLeft,
3226 Trapezoid,
3227 Shield,
3228 DiamondStar,
3229 Heart,
3230 Decagon,
3231 RoundedSquare,
3232 };
3233 Q_ENUM( MarkerShape )
3234
3235
3243 {
3244 Interval = 1 << 0,
3245 Vertex = 1 << 1,
3246 LastVertex = 1 << 2,
3247 FirstVertex = 1 << 3,
3248 CentralPoint = 1 << 4,
3249 CurvePoint = 1 << 5,
3250 SegmentCenter = 1 << 6,
3251 InnerVertices = 1 << 7,
3252 };
3253 Q_ENUM( MarkerLinePlacement )
3255 Q_FLAG( MarkerLinePlacements )
3256
3263 {
3264 IntervalCartesian2D = 1 << 0,
3265 IntervalZ = 1 << 1,
3266 IntervalM = 1 << 2,
3267 Vertex = 1 << 3,
3268 };
3269 Q_ENUM( LinearReferencingPlacement )
3270
3271
3277 {
3278 CartesianDistance2D,
3279 Z,
3280 M,
3281 };
3282 Q_ENUM( LinearReferencingLabelSource )
3283
3284
3292 {
3293 SimpleTwoColor,
3294 ColorRamp,
3295 };
3296 Q_ENUM( GradientColorSource )
3297
3298
3311 Q_ENUM( GradientType )
3312
3313
3321 {
3322 Feature,
3323 Viewport,
3324 };
3325 Q_ENUM( SymbolCoordinateReference )
3326
3327
3341 Q_ENUM( GradientSpread )
3342
3343
3351 {
3352 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3353 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3354 };
3355 Q_ENUM( PointCountMethod )
3356
3357
3362 enum class MarkerClipMode : int
3363 {
3364 NoClipping,
3365 Shape,
3366 CentroidWithin,
3367 CompletelyWithin,
3368 };
3369 Q_ENUM( MarkerClipMode )
3370
3371
3376 enum class LineClipMode : int
3377 {
3378 ClipPainterOnly,
3379 ClipToIntersection,
3380 NoClipping,
3381 };
3382 Q_ENUM( LineClipMode )
3383
3384
3390 {
3391 NoRule,
3392 FullDash,
3393 HalfDash,
3394 FullGap,
3395 HalfGap,
3396 };
3397 Q_ENUM( DashPatternLineEndingRule )
3398
3399
3405 {
3406 ScaleBothDashAndGap,
3407 ScaleDashOnly,
3408 ScaleGapOnly,
3409 };
3410 Q_ENUM( DashPatternSizeAdjustment )
3411
3412
3424 Q_ENUM( GraduatedMethod )
3425
3426
3432 {
3433 NoLabels,
3434 EveryLabel,
3435 FirstLabel,
3436 LastLabel,
3437 FirstAndLastLabels,
3438 };
3439 Q_ENUM( PlotAxisSuffixPlacement )
3440
3441
3442
3447 enum class PlotAxisType
3448 {
3449 Interval,
3450 Categorical,
3451 };
3452 Q_ENUM( PlotAxisType )
3453
3454
3459 enum class PieChartLabelType : int
3460 {
3461 NoLabels,
3462 Categories,
3463 Values,
3464 };
3465 Q_ENUM( PieChartLabelType )
3466
3467
3471 enum class DpiMode
3472 {
3473 All = 7,
3474 Off = 0,
3475 QGIS = 1,
3476 UMN = 2,
3477 GeoServer = 4,
3478 };
3479 Q_ENUM( DpiMode )
3480
3481
3486 {
3487 Undefined = 0,
3488 StandardDpi = 1,
3489 HighDpi = 2,
3490 };
3491 Q_ENUM( TilePixelRatio )
3492
3493 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3494
3495
3503 {
3504 MixedCase = 0,
3505 AllUppercase = 1,
3506 AllLowercase = 2,
3507 ForceFirstLetterToCapital = 4,
3508 SmallCaps = 5,
3509 TitleCase = 1004,
3510 UpperCamelCase = 1005,
3511 AllSmallCaps = 1006,
3512 };
3513 Q_ENUM( Capitalization )
3514
3515
3520 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3521 {
3522 WrapLines = 1 << 0,
3523 };
3524 Q_ENUM( TextRendererFlag )
3526 Q_FLAG( TextRendererFlags )
3527
3534 {
3535 MapBox,
3536 Esri,
3537 };
3539
3546 {
3547 Clockwise,
3548 CounterClockwise,
3549 NoOrientation,
3550 };
3551 Q_ENUM( AngularDirection )
3552
3553
3558 enum class RendererUsage : int
3559 {
3560 View,
3561 Export,
3562 Unknown,
3563 };
3564 Q_ENUM( RendererUsage )
3565
3566
3571 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3572 {
3573 ShowMainAnnotationLayer = 1 << 0,
3574 };
3575 Q_ENUM( MapCanvasFlag )
3576
3577
3582 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3583 Q_FLAG( MapCanvasFlags )
3584
3590 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3591 {
3592 Sync3DTo2D = 1 << 0,
3593 Sync2DTo3D = 1 << 1,
3594 };
3595 Q_ENUM( ViewSyncModeFlag )
3597
3604 {
3605 Always,
3606 WhenOutsideVisibleExtent,
3607 Never,
3608 };
3609 Q_ENUM( MapRecenteringMode )
3610
3611
3616 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3617 {
3618 LocalProfile = 1 << 0,
3619 // Project = 1 << 1, //!< QGIS Project (not yet implemented)
3620 };
3621 Q_ENUM( HistoryProviderBackend )
3623 Q_FLAG( HistoryProviderBackends )
3624
3630 enum class QueryStorageBackend : int
3631 {
3632 LocalProfile,
3633 CurrentProject,
3634 };
3635 Q_ENUM( QueryStorageBackend )
3636
3637
3645 {
3646 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3647 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3648 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3649 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3650 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3651 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3652 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3653 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3654 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3655 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3656 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3657 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3658 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10,
3659 TiledScene = 11
3660 };
3661 Q_ENUM( ProcessingSourceType )
3662
3663
3664
3672 {
3673 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults )
3674 = 1 << 1,
3675 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3676 };
3678
3687 Q_FLAG( ProcessingProviderFlags )
3688
3689
3697 {
3698 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3699 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3700 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3701 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3702 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3703 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3704 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3705 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3706 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3707 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3708 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3709 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3710 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3711 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3712 SecurityRisk = 1 << 15,
3713 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3714 };
3716
3725 Q_FLAG( ProcessingAlgorithmFlags )
3726
3727
3733 {
3734 RegeneratesPrimaryKey = 1 << 0,
3735 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3736 RespectsEllipsoid = 1 << 2,
3737 };
3738 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3739
3740
3747
3757 {
3758 NotAvailable,
3759 Available,
3760 };
3761 Q_ENUM( ProcessingPropertyAvailability )
3762
3763
3771 {
3772 DefaultLevel = 0,
3773 Verbose,
3774 ModelDebug,
3775 };
3776 Q_ENUM( ProcessingLogLevel )
3777
3778
3786 {
3787 Standard,
3788 Batch,
3789 Modeler,
3790 };
3791 Q_ENUM( ProcessingMode )
3792
3793
3801 {
3802 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck )
3803 = 1 << 0,
3804 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature )
3805 = 1 << 1,
3806 };
3807 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3808
3809
3818
3827 {
3828 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3829 };
3830 Q_ENUM( ProcessingFeatureSourceFlag )
3831
3832
3841
3853 {
3854 ExposeToModeler = 1
3855 };
3856 Q_ENUM( ProcessingParameterTypeFlag )
3857
3858
3870
3879 {
3880 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3881 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3882 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3883 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3884 };
3885 Q_ENUM( ProcessingParameterFlag )
3886
3887
3895 Q_FLAG( ProcessingParameterFlags )
3896
3909 Q_ENUM( ProcessingFileParameterBehavior )
3910
3911
3923 Q_ENUM( ProcessingNumberParameterType )
3924
3925
3933 {
3934 Any = -1,
3935 Numeric = 0,
3936 String = 1,
3937 DateTime = 2,
3938 Binary = 3,
3939 Boolean = 4,
3940 };
3941 Q_ENUM( ProcessingFieldParameterDataType )
3942
3943
3956 Q_ENUM( ProcessingDateTimeParameterDataType )
3957
3958
3964 {
3965 ModelParameter,
3966 ChildOutput,
3967 StaticValue,
3968 Expression,
3969 ExpressionText,
3970 ModelOutput,
3971 };
3972 Q_ENUM( ProcessingModelChildParameterSource )
3973
3974
3980 {
3981 NotExecuted,
3983 Failed,
3984 };
3985 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
3986
3987
3995 {
3996 Vertices,
3997 StructureLines,
3998 BreakLines
3999 };
4000 Q_ENUM( ProcessingTinInputLayerType )
4001
4002
4012 Q_ENUM( CrsDefinitionFormat )
4013
4014
4022 enum class FieldDomainSplitPolicy : int
4023 {
4024 DefaultValue,
4025 Duplicate,
4026 GeometryRatio,
4027 UnsetField,
4028 };
4029 Q_ENUM( FieldDomainSplitPolicy )
4030
4031
4039 enum class FieldDomainMergePolicy : int
4040 {
4041 DefaultValue,
4042 Sum,
4043 GeometryWeighted,
4044 UnsetField,
4045 LargestGeometry,
4046 MinimumValue,
4047 MaximumValue,
4048 SetToNull,
4049 };
4050 Q_ENUM( FieldDomainMergePolicy )
4051
4052
4059 enum class FieldDuplicatePolicy : int
4060 {
4061 DefaultValue,
4062 Duplicate,
4063 UnsetField,
4064 };
4065 Q_ENUM( FieldDuplicatePolicy )
4066
4067
4072 enum class FieldDomainType : int
4073 {
4074 Coded,
4075 Range,
4076 Glob,
4077 };
4078 Q_ENUM( FieldDomainType )
4079
4080
4085 enum class TransactionMode : int
4086 {
4087 Disabled = 0,
4088 AutomaticGroups = 1,
4089 BufferedGroups = 2,
4090 };
4091 Q_ENUM( TransactionMode )
4092
4093
4098 enum class AltitudeClamping : int
4099 {
4100 Absolute,
4101 Relative,
4102 Terrain,
4103 };
4104 Q_ENUM( AltitudeClamping )
4105
4106
4111 enum class AltitudeBinding : int
4112 {
4113 Vertex,
4114 Centroid,
4115 };
4116 Q_ENUM( AltitudeBinding )
4117
4118
4123 enum class RangeLimits : int
4124 {
4125 IncludeBoth = 0,
4126 IncludeLowerExcludeUpper,
4127 ExcludeLowerIncludeUpper,
4128 ExcludeBoth,
4129 };
4130 Q_ENUM( RangeLimits )
4131
4132
4137 enum class RasterElevationMode : int
4138 {
4139 FixedElevationRange = 0,
4140 RepresentsElevationSurface = 1,
4141 FixedRangePerBand = 2,
4142 DynamicRangePerBand = 3,
4143 };
4144 Q_ENUM( RasterElevationMode )
4145
4146
4151 enum class MeshElevationMode : int
4152 {
4153 FixedElevationRange = 0,
4154 FromVertices = 1,
4155 FixedRangePerGroup = 2,
4156 };
4157 Q_ENUM( MeshElevationMode )
4158
4159
4165 {
4166 NoConstraint,
4167 Perpendicular,
4168 Parallel
4169 };
4170 Q_ENUM( BetweenLineConstraint )
4171
4172
4177 enum class LineExtensionSide : int
4178 {
4179 BeforeVertex,
4180 AfterVertex,
4181 NoVertex,
4182 };
4183 Q_ENUM( LineExtensionSide )
4184
4185
4186
4190 enum class CadConstraintType : int
4191 {
4192 Generic,
4193 Angle,
4194 Distance,
4195 XCoordinate,
4196 YCoordinate,
4197 ZValue,
4198 MValue,
4199 };
4200 Q_ENUM( CadConstraintType )
4201
4202
4207 {
4208 Hidden,
4209 Cartesian,
4210 Ellipsoidal,
4211 };
4212 Q_ENUM( CadMeasurementDisplayType )
4213
4214
4219 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
4220 {
4221 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4222 TrustStoredLayerStatistics
4223 = 1 << 1,
4224 RememberLayerEditStatusBetweenSessions = 1 << 2,
4225 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4226 };
4227 Q_ENUM( ProjectFlag )
4228 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
4229 Q_FLAG( ProjectFlags )
4230
4236 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
4237 {
4238 ShowContextMenu = 1 << 0,
4239 };
4240 Q_ENUM( PlotToolFlag )
4241 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
4242 Q_FLAG( PlotToolFlags )
4243
4244
4252 enum class Point3DShape : int
4253 {
4254 Cylinder,
4255 Sphere,
4256 Cone,
4257 Cube,
4258 Torus,
4259 Plane,
4260 ExtrudedText,
4261 Model,
4262 Billboard,
4263 };
4264 Q_ENUM( Point3DShape )
4265
4266
4271 enum class LightSourceType : int
4272 {
4273 Point,
4274 Directional,
4275 };
4276 Q_ENUM( LightSourceType )
4277
4278
4283 enum class NavigationMode : int
4284 {
4285 TerrainBased,
4286 Walk,
4287 GlobeTerrainBased
4288 };
4289 Q_ENUM( NavigationMode )
4290
4291
4296 enum class SceneMode : int
4297 {
4298 Local,
4299 Globe
4300 };
4301 Q_ENUM( SceneMode )
4302
4303
4308 enum class VerticalAxisInversion : int
4309 {
4310 Never,
4311 WhenDragging,
4312 Always,
4313 };
4314 Q_ENUM( VerticalAxisInversion )
4315
4316
4322 {
4323 Line,
4324 FillBelow,
4325 FillAbove,
4326 };
4328
4334 enum class VectorProfileType : int
4335 {
4336 IndividualFeatures,
4337 ContinuousSurface,
4338 };
4340
4346 enum class PointCloudProfileType : int
4347 {
4348 IndividualPoints,
4349 TriangulatedSurface,
4350 };
4352
4358 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4359 {
4360 RespectsMaximumErrorMapUnit = 1 << 0,
4361 RespectsDistanceRange = 1 << 1,
4362 RespectsElevationRange = 1 << 2,
4363 };
4364 Q_ENUM( ProfileGeneratorFlag )
4366 Q_FLAG( ProfileGeneratorFlags )
4367
4373 enum class ProfileExportType : int
4374 {
4375 Features3D,
4376 Profile2D,
4377 DistanceVsElevationTable,
4378 };
4380
4387 {
4388 Square,
4389 Circle,
4390 };
4391 Q_ENUM( PointCloudSymbol )
4392
4393
4399 {
4400 Default,
4401 BottomToTop,
4402 TopToBottom,
4403 };
4404 Q_ENUM( PointCloudDrawOrder )
4405
4406
4414 {
4415 AllowIntersections,
4416 AvoidIntersectionsCurrentLayer,
4417 AvoidIntersectionsLayers,
4418 };
4419 Q_ENUM( AvoidIntersectionsMode )
4420
4421
4429 {
4430 Qgz,
4431 Qgs,
4432 };
4433 Q_ENUM( ProjectFileFormat )
4434
4435
4443 {
4444 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers )
4445 = 1 << 0,
4446 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts )
4447 = 1 << 1,
4448 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata )
4449 = 1 << 2,
4450 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4451 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4452 DontLoadProjectStyles = 1 << 5,
4453 ForceReadOnlyLayers = 1 << 6,
4454 DontUpgradeAnnotations = 1 << 7,
4455 };
4456 Q_ENUM( ProjectReadFlag )
4457
4458
4466 Q_FLAG( ProjectReadFlags )
4467
4476 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4477 {
4478 ProjectStyles = 1 << 0,
4479 };
4480 Q_ENUM( ProjectCapability )
4481
4482
4488 Q_FLAG( ProjectCapabilities )
4489
4496 {
4497 Vector,
4498 Raster,
4499 RasterDem,
4500 GeoJson,
4501 Image,
4502 Video,
4503 Unknown,
4504 };
4505 Q_ENUM( MapBoxGlStyleSourceType )
4506
4507
4515 {
4516 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4517 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4518 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4519 GlobeServer,
4520 GPServer,
4521 GeocodeServer,
4522 Unknown,
4523 SceneServer,
4524 };
4525 Q_ENUM( ArcGisRestServiceType )
4526
4527
4535 {
4536 Normal,
4537 Generated,
4538 };
4539 Q_ENUM( RelationshipType )
4540
4541
4549 {
4550 Association,
4551 Composition,
4552 };
4553 Q_ENUM( RelationshipStrength )
4554
4555
4561 {
4562 OneToOne,
4563 OneToMany,
4564 ManyToOne,
4565 ManyToMany,
4566 };
4567 Q_ENUM( RelationshipCardinality )
4568
4569
4574 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4575 {
4576 MultipleFieldKeys = 1 << 0,
4577 ForwardPathLabel = 1 << 1,
4578 BackwardPathLabel = 1 << 2,
4579 };
4580 Q_ENUM( RelationshipCapability )
4581
4582
4588 Q_FLAG( RelationshipCapabilities )
4589
4595 enum class CoordinateDisplayType : int
4596 {
4597 MapCrs,
4598 MapGeographic,
4599 CustomCrs,
4600 };
4601 Q_ENUM( CoordinateDisplayType )
4602
4603
4608 enum class SettingsOrigin : int
4609 {
4610 Any,
4611 Global,
4612 Local,
4613 };
4614 Q_ENUM( SettingsOrigin )
4615
4616
4621 enum class ScriptLanguage : int
4622 {
4623 Css,
4624 QgisExpression,
4625 Html,
4626 JavaScript,
4627 Json,
4628 Python,
4629 R,
4630 Sql,
4631 Batch,
4632 Bash,
4633 Unknown,
4634 };
4635 Q_ENUM( ScriptLanguage )
4636
4637
4645 {
4646 Reformat = 1 << 0,
4647 CheckSyntax = 1 << 1,
4648 ToggleComment = 1 << 2,
4649 };
4650 Q_ENUM( ScriptLanguageCapability )
4651
4652
4659
4666 {
4667 AboveInsertionPoint,
4668 TopOfTree,
4669 OptimalInInsertionGroup,
4670 };
4671 Q_ENUM( LayerTreeInsertionMethod )
4672
4673
4678 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4679 {
4680 SkipVisibilityCheck = 1 << 0,
4681 };
4682 Q_ENUM( LayerTreeFilterFlag )
4683
4684
4690 Q_FLAG( LayerTreeFilterFlags )
4691
4697 enum class MapLayerLegendFlag : int SIP_ENUM_BASETYPE( IntFlag )
4698 {
4699 ExcludeByDefault = 1 << 0,
4700 };
4701 Q_ENUM( MapLayerLegendFlag )
4702
4703
4709 Q_FLAG( MapLayerLegendFlags )
4710
4719 {
4720 Undefined,
4721 Hidden,
4722 Title,
4723 Group,
4724 Subgroup,
4725 Symbol,
4726 SymbolLabel,
4727 };
4728 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
4729 Q_ENUM( LegendComponent )
4730
4731
4736 enum class LegendSyncMode : int
4737 {
4738 AllProjectLayers,
4739 VisibleLayers,
4740 Manual,
4741 };
4742 Q_ENUM( LegendSyncMode )
4743
4744
4751 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4752 {
4753 ShowRuleDetails = 1 << 0,
4754 };
4755 Q_ENUM( LegendJsonRenderFlag )
4757 Q_FLAG( LegendJsonRenderFlags )
4758
4766 enum class ActionType : int
4767 {
4768 Invalid,
4769 MapLayerAction,
4770 AttributeAction
4771 };
4772 Q_ENUM( ActionType )
4773
4774
4781 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
4782 {
4783 Layer = 1 << 0,
4784 SingleFeature = 1 << 1,
4785 MultipleFeatures = 1 << 2,
4786 AllActions = Layer | SingleFeature | MultipleFeatures
4787 };
4788 Q_ENUM( MapLayerActionTarget )
4789
4790
4798 Q_FLAG( MapLayerActionTargets )
4799
4807 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4808 {
4809 EnabledOnlyWhenEditable = 1 << 1,
4810 EnableOnlyWhenHasGeometry = 1 << 2,
4811 };
4812 Q_ENUM( MapLayerActionFlag )
4813
4814
4822 Q_FLAG( MapLayerActionFlags )
4823
4832 {
4833 Generic,
4834 GenericPython,
4835 Mac,
4836 Windows,
4837 Unix,
4838 OpenUrl,
4839 SubmitUrlEncoded,
4840 SubmitUrlMultipart,
4841 };
4842 Q_ENUM( AttributeActionType )
4843
4844
4850 {
4851 Created,
4852 Published,
4853 Revised,
4854 Superseded,
4855 };
4856 Q_ENUM( MetadataDateType )
4857
4858
4867
4869 {
4870 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
4871 GrayIndex = 1,
4872 PaletteIndex = 2,
4873 RedBand = 3,
4874 GreenBand = 4,
4875 BlueBand = 5,
4876 AlphaBand = 6,
4877 HueBand = 7,
4878 SaturationBand = 8,
4879 LightnessBand = 9,
4880 CyanBand = 10,
4881 MagentaBand = 11,
4882 YellowBand = 12,
4883 BlackBand = 13,
4884 YCbCr_YBand = 14,
4885 YCbCr_CbBand = 15,
4886 YCbCr_CrBand = 16,
4887 ContinuousPalette = 17,
4888
4889 // Note: values between PanBand and SAR_P_Band match additions done in
4890 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
4891
4892 PanBand = 18,
4893 CoastalBand = 19,
4894 RedEdgeBand = 20,
4895 NIRBand = 21,
4896 SWIRBand = 22,
4897 MWIRBand = 23,
4898 LWIRBand = 24,
4899 TIRBand = 25,
4900 OtherIRBand = 26,
4901 SAR_Ka_Band = 27,
4902 SAR_K_Band = 28,
4903 SAR_Ku_Band = 30,
4904 SAR_X_Band = 31,
4905 SAR_C_Band = 32,
4906 SAR_S_Band = 33,
4907 SAR_L_Band = 34,
4908 SAR_P_Band = 35,
4909 };
4910 Q_ENUM( RasterColorInterpretation )
4911
4912
4920 {
4921 GrayOrUndefined,
4922 Palette,
4923 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
4924 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
4925 };
4926 Q_ENUM( RasterLayerType )
4927
4928
4936 {
4937 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
4938 SingleBandGray,
4939 SingleBandPseudoColor,
4940 PalettedColor,
4941 PalettedSingleBandGray,
4942 PalettedSingleBandPseudoColor,
4943 PalettedMultiBandColor,
4944 MultiBandSingleBandGray,
4945 MultiBandSingleBandPseudoColor,
4946 MultiBandColor,
4947 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
4948 };
4949 Q_ENUM( RasterDrawingStyle )
4950
4951
4958 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
4959 {
4960 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
4961 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
4962 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
4963 };
4964 Q_ENUM( RasterPyramidFormat )
4965
4966
4974 {
4975 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
4976 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
4977 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
4978 };
4979 Q_ENUM( RasterBuildPyramidOption )
4980
4981
4989 {
4990 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
4991 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
4992 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
4993 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
4994 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
4995 };
4996 Q_ENUM( RasterIdentifyFormat )
4997
4998 // TODO QGIS 5 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
4999 // remove deprecated members
5000 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
5001
5002
5010 {
5011 NoCapabilities = 0,
5012 Size = 1 << 1,
5013 Create = 1 << 2,
5014 Remove = 1 << 3,
5015 BuildPyramids = 1 << 4,
5016 Identify = 1 << 5,
5017 IdentifyValue = 1 << 6,
5018 IdentifyText = 1 << 7,
5019 IdentifyHtml = 1 << 8,
5020 IdentifyFeature = 1 << 9,
5021 Prefetch = 1 << 10,
5022 };
5023 Q_ENUM( RasterInterfaceCapability )
5024
5025
5032
5033 // TODO QGIS 5 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
5034
5043 {
5044 NoProviderCapabilities = 0,
5045 ReadLayerMetadata = 1 << 1,
5046 WriteLayerMetadata = 1 << 2,
5047 ProviderHintBenefitsFromResampling = 1 << 3,
5048 ProviderHintCanPerformProviderResampling = 1 << 4,
5049 ReloadData = 1 << 5,
5050 DpiDependentData = 1 << 6,
5051 NativeRasterAttributeTable = 1 << 7,
5052 BuildPyramids = 1 << 8,
5053 };
5054 Q_ENUM( RasterProviderCapability )
5055
5056
5065
5072 {
5073 HighestElevation,
5074 NewerElevation,
5075 };
5076 Q_ENUM( ElevationMapCombineMethod )
5077
5078
5087 {
5088 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
5089 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
5090 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
5091 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
5092 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
5093 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
5094 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
5096 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
5097 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
5098 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
5099 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
5100 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
5101 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
5102 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
5103 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
5104 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
5105 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
5106 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
5107 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
5108 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
5109 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
5110 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
5112 };
5113 Q_ENUM( BlendMode )
5114
5115
5123 {
5124 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
5125 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
5126 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
5127 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
5128 };
5129 Q_ENUM( SystemOfMeasurement )
5130
5131
5138 {
5139 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
5140 Pixels,
5141 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
5142 };
5143 Q_ENUM( MapToolUnit )
5144
5145
5153 {
5154 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
5156 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
5157 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
5158 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
5159 };
5160 Q_ENUM( UnitType )
5161
5162
5170 {
5171 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
5172 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
5173 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
5174 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
5175 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
5176 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
5177 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
5178 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
5179 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
5180 Inches,
5181 ChainsInternational,
5182 ChainsBritishBenoit1895A,
5183 ChainsBritishBenoit1895B,
5184 ChainsBritishSears1922Truncated,
5185 ChainsBritishSears1922,
5186 ChainsClarkes,
5187 ChainsUSSurvey,
5188 FeetBritish1865,
5189 FeetBritish1936,
5190 FeetBritishBenoit1895A,
5191 FeetBritishBenoit1895B,
5192 FeetBritishSears1922Truncated,
5193 FeetBritishSears1922,
5194 FeetClarkes,
5195 FeetGoldCoast,
5196 FeetIndian,
5197 FeetIndian1937,
5198 FeetIndian1962,
5199 FeetIndian1975,
5200 FeetUSSurvey,
5201 LinksInternational,
5202 LinksBritishBenoit1895A,
5203 LinksBritishBenoit1895B,
5204 LinksBritishSears1922Truncated,
5205 LinksBritishSears1922,
5206 LinksClarkes,
5207 LinksUSSurvey,
5208 YardsBritishBenoit1895A,
5209 YardsBritishBenoit1895B,
5210 YardsBritishSears1922Truncated,
5211 YardsBritishSears1922,
5212 YardsClarkes,
5213 YardsIndian,
5214 YardsIndian1937,
5215 YardsIndian1962,
5216 YardsIndian1975,
5217 MilesUSSurvey,
5218 Fathoms,
5219 MetersGermanLegal,
5220 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
5221 };
5222 Q_ENUM( DistanceUnit )
5223
5224
5232 {
5233 Standard,
5234 Geographic,
5235 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
5236 };
5237 Q_ENUM( DistanceUnitType )
5238
5239
5247 {
5248 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
5249 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
5250 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
5251 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
5252 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
5253 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
5254 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
5255 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
5256 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
5257 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
5258 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
5259 SquareInches,
5260 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
5261 };
5262 Q_ENUM( AreaUnit )
5263
5264
5272 {
5273 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
5274 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
5275 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
5276 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
5277 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
5278 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
5279 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
5280 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
5281 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
5282 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
5283 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
5284 };
5285 Q_ENUM( VolumeUnit )
5286
5287
5295 {
5296 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
5297 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
5299 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
5300 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
5302 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
5303 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
5304 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
5305 };
5306 Q_ENUM( AngleUnit )
5307
5308
5316 {
5317 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5318 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5319 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5320 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5321 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5322 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5323 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5324 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5325 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5326 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5327 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5328 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5329 };
5330 Q_ENUM( TemporalUnit )
5331
5332
5340 {
5341 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5342 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5343 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5344 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5346 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5347 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5348 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5349 };
5350 Q_ENUM( RenderUnit )
5351
5352
5360 {
5361 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5362 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5363 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5364 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5365 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5367 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5368 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5369 };
5370 Q_ENUM( LayoutUnit )
5371
5372
5380 {
5381 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5382 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5383 };
5384 Q_ENUM( LayoutUnitType )
5385
5386
5394 {
5395 Debug SIP_MONKEYPATCH_COMPAT_NAME( FlagDebug ) = 1 << 1,
5396 OutlineOnly SIP_MONKEYPATCH_COMPAT_NAME( FlagOutlineOnly ) = 1 << 2,
5397 Antialiasing SIP_MONKEYPATCH_COMPAT_NAME( FlagAntialiasing ) = 1 << 3,
5398 UseAdvancedEffects SIP_MONKEYPATCH_COMPAT_NAME( FlagUseAdvancedEffects ) = 1 << 4,
5399 ForceVectorOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagForceVectorOutput )
5400 = 1 << 5,
5401 HideCoverageLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagHideCoverageLayer ) = 1 << 6,
5402 DrawSelection SIP_MONKEYPATCH_COMPAT_NAME( FlagDrawSelection ) = 1 << 7,
5403 DisableTiledRasterLayerRenders SIP_MONKEYPATCH_COMPAT_NAME( FlagDisableTiledRasterLayerRenders )
5404 = 1 << 8,
5405 RenderLabelsByMapLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagRenderLabelsByMapLayer )
5406 = 1 << 9,
5407 LosslessImageRendering SIP_MONKEYPATCH_COMPAT_NAME( FlagLosslessImageRendering )
5408 = 1 << 10,
5409 SynchronousLegendGraphics SIP_MONKEYPATCH_COMPAT_NAME( FlagSynchronousLegendGraphics ) = 1 << 11,
5410 AlwaysUseGlobalMasks SIP_MONKEYPATCH_COMPAT_NAME( FlagAlwaysUseGlobalMasks )
5411 = 1 << 12,
5412 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5413 };
5414 Q_ENUM( LayoutRenderFlag )
5415
5416
5424 Q_FLAG( LayoutRenderFlags )
5425
5434 {
5435 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5436 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5437 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5438 };
5439 Q_ENUM( PictureFormat )
5440
5441
5446 enum class ScaleCalculationMethod : int
5447 {
5448 HorizontalTop = 0,
5449 HorizontalMiddle,
5450 HorizontalBottom,
5451 HorizontalAverage,
5452 AtEquator,
5453 };
5454 Q_ENUM( ScaleCalculationMethod )
5455
5456
5469 Q_ENUM( ScaleBarAlignment )
5470
5471
5479 {
5480 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5481 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5482 };
5483 Q_ENUM( ScaleBarSegmentSizeMode )
5484
5485
5493 {
5494 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5495 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5496 };
5497 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5498
5499
5507 {
5508 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5509 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5510 };
5511 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5512
5513
5514
5522 {
5523 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( MapUnit ),
5526 DynamicPageSizeBased,
5527 };
5528 Q_ENUM( MapGridUnit )
5529
5530
5538 {
5540 LineCrosses SIP_MONKEYPATCH_COMPAT_NAME( Cross ),
5541 Markers,
5542 FrameAndAnnotationsOnly SIP_MONKEYPATCH_COMPAT_NAME( FrameAnnotationsOnly )
5543 };
5544 Q_ENUM( MapGridStyle )
5545
5546
5554 {
5555 ShowAll = 0,
5556 LatitudeOnly,
5557 LongitudeOnly,
5558 HideAll
5559 };
5560 Q_ENUM( MapGridComponentVisibility )
5561
5562
5570 {
5571 InsideMapFrame = 0,
5572 OutsideMapFrame,
5573 };
5574 Q_ENUM( MapGridAnnotationPosition )
5575
5576
5584 {
5585 Horizontal = 0,
5586 Vertical,
5587 VerticalDescending,
5588 BoundaryDirection,
5589 AboveTick,
5590 OnTick,
5591 UnderTick,
5592 };
5593 Q_ENUM( MapGridAnnotationDirection )
5594
5595
5603 {
5604 Decimal = 0,
5605 DegreeMinute,
5606 DegreeMinuteSecond,
5607 DecimalWithSuffix,
5608 DegreeMinuteNoSuffix,
5609 DegreeMinutePadded,
5610 DegreeMinuteSecondNoSuffix,
5611 DegreeMinuteSecondPadded,
5612 CustomFormat
5613 };
5614 Q_ENUM( MapGridAnnotationFormat )
5615
5616
5630 Q_ENUM( MapGridBorderSide )
5631
5632
5640 {
5641 NoFrame = 0,
5642 Zebra,
5643 InteriorTicks,
5644 ExteriorTicks,
5645 InteriorExteriorTicks,
5646 LineBorder,
5647 LineBorderNautical,
5648 ZebraNautical,
5649 };
5650 Q_ENUM( MapGridFrameStyle )
5651
5652
5660 {
5661 OrthogonalTicks = 0,
5662 NormalizedTicks,
5663 };
5664 Q_ENUM( MapGridTickLengthMode )
5665
5666
5667
5675 {
5676 Left SIP_MONKEYPATCH_COMPAT_NAME( FrameLeft ) = 0x01,
5677 Right SIP_MONKEYPATCH_COMPAT_NAME( FrameRight ) = 0x02,
5678 Top SIP_MONKEYPATCH_COMPAT_NAME( FrameTop ) = 0x04,
5679 Bottom SIP_MONKEYPATCH_COMPAT_NAME( FrameBottom ) = 0x08
5680 };
5681 Q_ENUM( MapGridFrameSideFlag )
5682
5683
5691 Q_FLAG( MapGridFrameSideFlags )
5692
5701 {
5702 Longitude = 0,
5703 Latitude
5704 };
5705 Q_ENUM( MapGridAnnotationType )
5706
5707
5712 enum class InputControllerType : int
5713 {
5714 Map2D,
5715 Map3D
5716 };
5718
5725 {
5726 NotSet,
5727 Unknown,
5728 OrdinaryTable,
5729 Index,
5730 Sequence,
5731 View,
5732 MaterializedView,
5733 CompositeType,
5734 ToastTable,
5735 ForeignTable,
5736 PartitionedTable,
5737 };
5738 Q_ENUM( PostgresRelKind )
5739
5740
5746 {
5747 SetFieldComment = 1 << 0,
5748 SetFieldAlias = 1 << 1,
5749 SetTableComment = 1 << 2,
5750 EditFieldDomain = 1 << 3,
5751 DeleteFieldDomain = 1 << 4,
5752 };
5753 Q_ENUM( DatabaseProviderConnectionCapability2 )
5756
5763 {
5764 SetGeometryColumnName = 1 << 0,
5765 SetPrimaryKeyName = 1 << 1,
5766 };
5767 Q_ENUM( DatabaseProviderTableImportCapability )
5770
5777 {
5778 SaveToDatabase = 1 << 1,
5779 LoadFromDatabase = 1 << 2,
5780 DeleteFromDatabase = 1 << 3
5781 };
5785
5786
5792 {
5793 LastProfile,
5794 DefaultProfile,
5795 AskUser,
5796 };
5797 Q_ENUM( UserProfileSelectionPolicy )
5798
5799
5807 {
5808 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
5809 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
5810 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
5811 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
5812 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
5813 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
5814 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
5815 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
5816 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
5817 };
5818 Q_ENUM( AttributeEditorType )
5819
5820
5826 {
5827 GroupBox,
5828 Tab,
5829 Row,
5830 };
5831 Q_ENUM( AttributeEditorContainerType )
5832
5833
5841 {
5842 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
5843 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
5844 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
5845 };
5846 Q_ENUM( AttributeFormLayout )
5847
5848
5856 {
5857 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
5858 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
5859 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
5860 };
5861 Q_ENUM( AttributeFormSuppression )
5862
5863
5871 {
5872 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
5873 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
5874 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
5875 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
5876 };
5877 Q_ENUM( AttributeFormPythonInitCodeSource )
5878
5879
5885 {
5886 NotAllowed = 0,
5887 AllowedDefaultOn = 1,
5888 AllowedDefaultOff = 2,
5889 };
5890 Q_ENUM( AttributeFormReuseLastValuePolicy )
5891
5892
5898 {
5900 PointCloud,
5901 RasterCalculator,
5902 };
5903 Q_ENUM( ExpressionType )
5904
5905
5913 {
5914 NoSymbology = 0,
5915 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
5916 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
5917 };
5918 Q_ENUM( FeatureSymbologyExport )
5919
5920
5925 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
5926 {
5927 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
5928 };
5929 Q_ENUM( VectorTileProviderFlag )
5930
5931
5937 Q_FLAG( VectorTileProviderFlags )
5938
5944 {
5945 ReadLayerMetadata = 1 << 1,
5946 };
5947 Q_ENUM( VectorTileProviderCapability )
5948
5949
5956
5963 {
5964 Available,
5965 NotAvailable,
5966 AvailableNoChildren,
5967 UseLowerZoomLevelTile,
5968 };
5969 Q_ENUM( TileAvailability )
5970
5971
5977 {
5978 ReadLayerMetadata = 1 << 1,
5979 };
5980 Q_ENUM( TiledSceneProviderCapability )
5981
5982
5989
5996 {
5997 Region,
5998 OrientedBox,
5999 Sphere,
6000 };
6001 Q_ENUM( TiledSceneBoundingVolumeType )
6002
6003
6012 {
6013 Replacement,
6014 Additive,
6015 };
6016 Q_ENUM( TileRefinementProcess )
6017
6018
6024 {
6025 NoChildren,
6026 Available,
6027 NeedFetching,
6028 };
6029 Q_ENUM( TileChildrenAvailability )
6030
6031
6036 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
6037 {
6038 NoHierarchyFetch = 1 << 0,
6039 };
6040 Q_ENUM( TiledSceneRequestFlag )
6041
6042
6048 Q_FLAG( TiledSceneRequestFlags )
6049
6055 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
6056 {
6057 RequiresTextures = 1 << 0,
6058 ForceRasterRender = 1 << 1,
6059 RendersTriangles = 1 << 2,
6060 RendersLines = 1 << 3,
6061 };
6062 Q_ENUM( TiledSceneRendererFlag )
6063
6064
6070 Q_FLAG( TiledSceneRendererFlags )
6071
6077 enum class GdalResampleAlgorithm : int
6078 {
6079 RA_NearestNeighbour = 0,
6080 RA_Bilinear = 1,
6081 RA_Cubic = 2,
6082 RA_CubicSpline = 3,
6083 RA_Lanczos = 4,
6084 RA_Average = 5,
6085 RA_Mode = 6,
6086 RA_Max = 8,
6087 RA_Min = 9,
6088 RA_Median = 10,
6089 RA_Q1 = 11,
6090 RA_Q3 = 12,
6091 };
6092 Q_ENUM( GdalResampleAlgorithm )
6093
6094
6099 enum class VsiHandlerType : int
6100 {
6101 Invalid,
6102 Archive,
6103 Network,
6104 Cloud,
6105 Memory,
6106 Other,
6107 };
6108 Q_ENUM( VsiHandlerType )
6109
6110 // TODO QGIS 5: make All include all values (we can't do this before 4.0, as we need to keep
6111 // compatibility with code which expects all these statistics to give numeric results)
6112
6113
6118 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
6119 {
6120 Count = 1 << 0,
6121 Sum = 1 << 1,
6122 Mean = 1 << 2,
6123 Median = 1 << 3,
6124 StDev = 1 << 4,
6125 Min = 1 << 5,
6126 Max = 1 << 6,
6127 Range = 1 << 7,
6128 Minority = 1 << 8,
6129 Majority = 1 << 9,
6130 Variety = 1 << 10,
6131 Variance = 1 << 11,
6132 MinimumPoint = 1 << 12,
6133 MaximumPoint = 1 << 13,
6134 // clang-format off
6135 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6136 // clang-format on
6137 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6138 Default = Count | Sum | Mean,
6139 };
6140 Q_ENUM( ZonalStatistic )
6141
6142
6148 Q_FLAG( ZonalStatistics )
6149
6155 enum class ZonalStatisticResult : int
6156 {
6158 LayerTypeWrong = 1,
6159 LayerInvalid,
6160 RasterInvalid,
6161 RasterBandInvalid,
6162 FailedToCreateField = 8,
6163 Canceled = 9
6164 };
6165 Q_ENUM( ZonalStatisticResult )
6166
6167
6174 {
6175 Count,
6176 CountDistinct,
6177 CountMissing,
6178 Min,
6179 Max,
6180 Sum,
6181 Mean,
6182 Median,
6183 StDev,
6184 StDevSample,
6185 Range,
6186 Minority,
6187 Majority,
6188 FirstQuartile,
6189 ThirdQuartile,
6190 InterQuartileRange,
6191 StringMinimumLength,
6192 StringMaximumLength,
6193 StringConcatenate,
6194 GeometryCollect,
6195 ArrayAggregate,
6196 StringConcatenateUnique
6197 };
6198 Q_ENUM( Aggregate )
6199
6200
6206 {
6207 Count = 1 << 0,
6208 CountMissing = 1 << 15,
6209 Sum = 1 << 1,
6210 Mean = 1 << 2,
6211 Median = 1 << 3,
6212 StDev = 1 << 4,
6213 StDevSample = 1 << 5,
6214 Min = 1 << 6,
6215 Max = 1 << 7,
6216 Range = 1 << 8,
6217 Minority = 1 << 9,
6218 Majority = 1 << 10,
6219 Variety = 1 << 11,
6220 FirstQuartile = 1 << 12,
6221 ThirdQuartile = 1 << 13,
6222 InterQuartileRange = 1 << 14,
6223 First = 1 << 16,
6224 Last = 1 << 17,
6225 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6226 };
6227 Q_ENUM( Statistic )
6228
6229
6235 Q_FLAG( Statistics )
6236
6243 {
6244 Count = 1,
6245 CountDistinct = 2,
6246 CountMissing = 4,
6247 Min = 8,
6248 Max = 16,
6249 Range = 32,
6250 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6251 };
6252 Q_ENUM( DateTimeStatistic )
6253
6254
6260 Q_FLAG( DateTimeStatistics )
6261
6268 {
6269 Count = 1,
6270 CountDistinct = 2,
6271 CountMissing = 4,
6272 Min = 8,
6273 Max = 16,
6274 MinimumLength = 32,
6275 MaximumLength = 64,
6276 MeanLength = 128,
6277 Minority = 256,
6278 Majority = 512,
6279 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6280 };
6281 Q_ENUM( StringStatistic )
6282
6283
6289 Q_FLAG( StringStatistics )
6290
6297 {
6298 NoStatistic = 0,
6299 Min = 1,
6300 Max = 1 << 1,
6301 Range = 1 << 2,
6302 Sum = 1 << 3,
6303 Mean = 1 << 4,
6304 StdDev = 1 << 5,
6305 SumOfSquares = 1 << 6,
6306 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6307 };
6308 Q_ENUM( RasterBandStatistic )
6309
6310
6316 Q_FLAG( RasterBandStatistics )
6317
6323 enum class SensorThingsEntity : int
6324 {
6325 Invalid,
6326 Thing,
6327 Location,
6328 HistoricalLocation,
6329 Datastream,
6330 Sensor,
6331 ObservedProperty,
6332 Observation,
6333 FeatureOfInterest,
6334 MultiDatastream,
6335 };
6336 Q_ENUM( SensorThingsEntity )
6337
6338
6343 enum class ColorModel : int
6344 {
6345 Rgb,
6346 Cmyk,
6347 };
6348 Q_ENUM( ColorModel )
6349
6350
6355 enum class DocumentationApi : int
6356 {
6357 PyQgis,
6358 PyQgisSearch,
6359 CppQgis,
6360 Qt,
6361 };
6362 Q_ENUM( DocumentationApi )
6363
6364
6369 enum class DocumentationBrowser : int
6370 {
6371 DeveloperToolsPanel,
6372 SystemWebBrowser,
6373 };
6374 Q_ENUM( DocumentationBrowser )
6375
6376
6381 enum class MouseHandlesAction : int
6382 {
6383 MoveItem,
6384 ResizeUp,
6385 ResizeDown,
6386 ResizeLeft,
6387 ResizeRight,
6388 ResizeLeftUp,
6389 ResizeRightUp,
6390 ResizeLeftDown,
6391 ResizeRightDown,
6392 RotateTopLeft,
6393 RotateTopRight,
6394 RotateBottomLeft,
6395 RotateBottomRight,
6396 SelectItem,
6397 NoAction
6398 };
6399 Q_ENUM( MouseHandlesAction )
6400
6401
6405 enum class MeshRangeLimit : int
6406 {
6407 NotSet,
6408 MinimumMaximum,
6409 };
6410 Q_ENUM( MeshRangeLimit )
6411
6412
6417 enum class MeshRangeExtent : int
6418 {
6419 WholeMesh,
6420 FixedCanvas,
6421 UpdatedCanvas,
6422 };
6423 Q_ENUM( MeshRangeExtent )
6424
6425
6431 enum class PointCloudAccessType : int
6432 {
6433 Local,
6434 Remote
6435 };
6436 Q_ENUM( PointCloudAccessType )
6437
6438
6443 {
6444 RenderExtents,
6445 RenderOverview,
6446 RenderOverviewAndExtents
6447 };
6448 Q_ENUM( PointCloudZoomOutRenderBehavior )
6449
6450
6455 {
6456 Standard = 0,
6457 Adaptive,
6458 AreaError,
6459 ConstantDensity
6460 };
6461 Q_ENUM( SegmentCalculationMethod )
6462
6463
6467 enum class StacObjectType : int
6468 {
6469 Unknown,
6470 Catalog,
6471 Collection,
6472 Item,
6473 };
6474 Q_ENUM( StacObjectType )
6475
6476
6481 {
6482 WmsScale = 1 << 0,
6483 WmsDpi = 1 << 1,
6484 };
6485 Q_ENUM( RasterProcessingParameterCapability )
6486
6487
6493
6499 {
6500 Status = Qt::UserRole + 1,
6501 Id,
6502 ElapsedTime,
6503 MaximumTime,
6504 Sort,
6505 };
6506 Q_ENUM( DevToolsNodeRole )
6507
6508
6513 enum class ExtrusionFace : int SIP_ENUM_BASETYPE( IntFlag )
6514 {
6515 NoFace = 0,
6516 Walls = 1 << 0,
6517 Roof = 1 << 1,
6518 Floor = 1 << 2
6519 };
6520 Q_ENUM( ExtrusionFace )
6521
6522
6526 Q_DECLARE_FLAGS( ExtrusionFaces, ExtrusionFace )
6527 Q_FLAG( ExtrusionFaces )
6528
6533 enum class TriangulationAlgorithm : int SIP_ENUM_BASETYPE( IntFlag )
6534 {
6535 ConstrainedDelaunay = 0,
6536 Earcut = 1 << 0
6537 };
6538 Q_ENUM( TriangulationAlgorithm )
6539
6540
6543 static const double DEFAULT_SEARCH_RADIUS_MM;
6544
6547
6553 static const QColor DEFAULT_HIGHLIGHT_COLOR;
6554
6558 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
6559
6564
6572 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
6573
6578 static const double DEFAULT_Z_COORDINATE;
6579
6585 static const double DEFAULT_M_COORDINATE;
6586
6591 static const double UI_SCALE_FACTOR;
6592
6596 static const double DEFAULT_SNAP_TOLERANCE;
6597
6602
6606 static const int USER_CRS_START_ID;
6607
6609 static const double DEFAULT_POINT_SIZE;
6610
6612 static const double DEFAULT_LINE_WIDTH;
6613
6615 static const double DEFAULT_SEGMENT_EPSILON;
6616
6619
6622
6628 static QString defaultProjectScales();
6629
6635 static int geosVersionInt();
6636
6642 static int geosVersionMajor();
6643
6649 static int geosVersionMinor();
6650
6656 static int geosVersionPatch();
6657
6663 static QString geosVersion();
6664
6670 static bool hasSfcgal();
6671
6678 static int sfcgalVersionInt();
6679
6685 static bool hasGeographicLib();
6686
6693 static int geographicLibVersion();
6694
6700 Q_DECL_DEPRECATED static bool hasQtWebkit();
6701
6707 static QString geoNone() { return u"NONE"_s; }
6708
6714 static QString geographicCrsAuthId() { return u"EPSG:4326"_s; }
6715
6720 Q_DECL_DEPRECATED static QString geoWkt()
6721 {
6722 return QStringLiteral(
6723 R"""(GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["unknown"],AREA["World"],BBOX[-90,-180,90,180]],ID["EPSG",4326]] )"""
6724 );
6725 }
6726
6731 Q_DECL_DEPRECATED static QString geoProj4() { return u"+proj=longlat +datum=WGS84 +no_defs"_s; }
6732};
6733
6736
6828Q_DECLARE_METATYPE( QTimeZone )
6829
6830// hack to workaround warnings when casting void pointers
6831// retrieved from QLibrary::resolve to function pointers.
6832// It's assumed that this works on all systems supporting
6833// QLibrary
6834#define cast_to_fptr( f ) f
6835
6836
6844// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
6845template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
6846{
6847 public:
6852 explicit QgsSignalBlocker( Object *object )
6853 : mObject( object )
6854 , mPreviousState( object->blockSignals( true ) )
6855 {}
6856
6857 ~QgsSignalBlocker() { mObject->blockSignals( mPreviousState ); }
6858
6860 Object *operator->() { return mObject; }
6861
6862 private:
6863 Object *mObject = nullptr;
6864 bool mPreviousState;
6865};
6866
6879// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
6880template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
6881{
6882 return QgsSignalBlocker<Object>( object );
6883}
6884
6886CORE_EXPORT uint qHash( const QVariant &variant );
6887
6893inline QString qgsDoubleToString( double a, int precision = 17 )
6894{
6895 QString str;
6896 if ( precision )
6897 {
6898 if ( precision < 0 )
6899 {
6900 const double roundFactor = std::pow( 10, -precision );
6901 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
6902 }
6903 else
6904 {
6905 str = QString::number( a, 'f', precision );
6906 if ( str.contains( '.'_L1 ) )
6907 {
6908 // remove ending 0s
6909 int idx = str.length() - 1;
6910 while ( str.at( idx ) == '0' && idx > 1 )
6911 {
6912 idx--;
6913 }
6914 if ( idx < str.length() - 1 )
6915 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
6916 }
6917 }
6918 }
6919 else
6920 {
6921 str = QString::number( a, 'f', precision );
6922 }
6923 // avoid printing -0
6924 // see https://bugreports.qt.io/browse/QTBUG-71439
6925 if ( str == "-0"_L1 )
6926 {
6927 return "0"_L1;
6928 }
6929 return str;
6930}
6931
6938inline bool qgsNanCompatibleEquals( double a, double b )
6939{
6940 const bool aIsNan = std::isnan( a );
6941 const bool bIsNan = std::isnan( b );
6942 if ( aIsNan || bIsNan )
6943 return aIsNan && bIsNan;
6944
6945 return a == b;
6946}
6947
6948#ifndef SIP_RUN
6949
6957template<typename T> inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
6958{
6959 const bool aIsNan = std::isnan( a );
6960 const bool bIsNan = std::isnan( b );
6961 if ( aIsNan || bIsNan )
6962 return aIsNan && bIsNan;
6963
6964 const T diff = a - b;
6965 return diff >= -epsilon && diff <= epsilon;
6966}
6967#endif
6968
6975inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
6976{
6977 return qgsNumberNear<double>( a, b, epsilon );
6978}
6979
6986inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
6987{
6988 return qgsNumberNear<float>( a, b, epsilon );
6989}
6990
6992inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
6993{
6994 const bool aIsNan = std::isnan( a );
6995 const bool bIsNan = std::isnan( b );
6996 if ( aIsNan || bIsNan )
6997 return aIsNan && bIsNan;
6998
6999 // The most simple would be to print numbers as %.xe and compare as strings
7000 // but that is probably too costly
7001 // Then the fastest would be to set some bits directly, but little/big endian
7002 // has to be considered (maybe TODO)
7003 // Is there a better way?
7004 int aexp, bexp;
7005 const double ar = std::frexp( a, &aexp );
7006 const double br = std::frexp( b, &bexp );
7007
7008 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7009}
7010
7015inline double qgsRound( double number, int places )
7016{
7017 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7018 const double scaleFactor = std::pow( 10.0, places );
7019 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7020}
7021
7022#ifndef SIP_RUN
7023
7030template<class Key, class Value> QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
7031{
7032 QString result;
7033 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7034 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
7035
7036 result.chop( separator.size() );
7037 return result;
7038}
7039
7046template<class Key, class Value> QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
7047{
7048 QString result;
7049 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7050 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
7051
7052 result.chop( separator.size() );
7053 return result;
7054}
7055
7062template<class T> QString qgsSetJoin( const QSet<T> &set, const QString &separator )
7063{
7064 QString result;
7065 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
7066 result += QString( "%1%2" ).arg( *it ).arg( separator );
7067
7068 result.chop( separator.size() );
7069 return result;
7070}
7071
7073
7083namespace qgis
7084{
7085
7098 template<typename To, typename From> inline To down_cast( From *f )
7099 {
7100 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ), "target type not derived from source type" );
7101 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
7102 return static_cast<To>( f );
7103 }
7104
7105 template<class T> QSet<T> listToSet( const QList<T> &list )
7106 {
7107 return QSet<T>( list.begin(), list.end() );
7108 }
7109
7110 template<class T> QList<T> setToList( const QSet<T> &set )
7111 {
7112 return QList<T>( set.begin(), set.end() );
7113 }
7114} //namespace qgis
7115
7117#endif
7118
7123template<class T> const QList<T> qgsEnumList() SIP_SKIP
7124{
7125 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7126 Q_ASSERT( metaEnum.isValid() );
7127 QList<T> enumList;
7128 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7129 {
7130 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
7131 }
7132 return enumList;
7133}
7134
7140template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
7141{
7142 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7143 Q_ASSERT( metaEnum.isValid() );
7144 QMap<T, QString> enumMap;
7145 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7146 {
7147 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7148 }
7149 return enumMap;
7150}
7151
7157template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7158{
7159 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7160 Q_ASSERT( metaEnum.isValid() );
7161 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
7162 if ( returnOk )
7163 {
7164 *returnOk = key ? true : false;
7165 }
7166 return QString::fromUtf8( key );
7167}
7168
7176template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7177{
7178 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7179 Q_ASSERT( metaEnum.isValid() );
7180 bool ok = false;
7181 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7182 if ( returnOk )
7183 {
7184 *returnOk = ok;
7185 }
7186 if ( ok )
7187 {
7188 return v;
7189 }
7190 else
7191 {
7192 // if conversion has failed, try with conversion from int value
7193 if ( tryValueAsKey )
7194 {
7195 bool canConvert = false;
7196 const int intValue = key.toInt( &canConvert );
7197 if ( canConvert && metaEnum.valueToKey( intValue ) )
7198 {
7199 if ( returnOk )
7200 {
7201 *returnOk = true;
7202 }
7203 return static_cast<T>( intValue );
7204 }
7205 }
7206 }
7207 return defaultValue;
7208}
7209
7215template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7216{
7217 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7218 Q_ASSERT( metaEnum.isValid() );
7219 int intValue = static_cast<int>( value );
7220 const QByteArray ba = metaEnum.valueToKeys( intValue );
7221 // check that the int value does correspond to a flag
7222 // see https://stackoverflow.com/a/68495949/1548052
7223 const int intValueCheck = metaEnum.keysToValue( ba );
7224 bool ok = intValue == intValueCheck;
7225 if ( returnOk )
7226 *returnOk = ok;
7227 return ok ? QString::fromUtf8( ba ) : QString();
7228}
7229
7237template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7238{
7239 if ( keys.isEmpty() )
7240 {
7241 if ( returnOk )
7242 {
7243 *returnOk = false;
7244 }
7245 return defaultValue;
7246 }
7247 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7248 Q_ASSERT( metaEnum.isValid() );
7249 bool ok = false;
7250 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7251 if ( returnOk )
7252 {
7253 *returnOk = ok;
7254 }
7255 if ( ok )
7256 {
7257 return v;
7258 }
7259 else
7260 {
7261 // if conversion has failed, try with conversion from int value
7262 if ( tryValueAsKey )
7263 {
7264 bool canConvert = false;
7265 const int intValue = keys.toInt( &canConvert );
7266 if ( canConvert )
7267 {
7268 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7269 const int intValueCheck = metaEnum.keysToValue( keyArray );
7270 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7271 {
7272 if ( returnOk )
7273 {
7274 *returnOk = true;
7275 }
7276 return T( intValue );
7277 }
7278 }
7279 }
7280 }
7281 return defaultValue;
7282}
7283
7284
7293CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
7294
7303CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
7304
7314CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
7315
7335CORE_EXPORT int qgsVariantCompare( const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck = false );
7336
7347CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
7348
7357CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
7358
7367CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
7368
7380inline bool operator>( const QVariant &v1, const QVariant &v2 )
7381{
7382 return qgsVariantCompare( v1, v2, true ) > 0;
7383}
7384
7396inline bool operator<( const QVariant &v1, const QVariant &v2 )
7397{
7398 return qgsVariantCompare( v1, v2, true ) < 0;
7399}
7400
7407Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
7408
7414void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
7415
7420void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
7421
7422#ifndef SIP_RUN
7423
7425class ScopedIntIncrementor
7426{
7427 public:
7428 ScopedIntIncrementor( int *variable )
7429 : mVariable( variable )
7430 {
7431 ( *mVariable )++;
7432 }
7433
7434 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
7435 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
7436
7437 void release()
7438 {
7439 if ( mVariable )
7440 ( *mVariable )--;
7441
7442 mVariable = nullptr;
7443 }
7444
7445 ~ScopedIntIncrementor() { release(); }
7446
7447 private:
7448 int *mVariable = nullptr;
7449};
7451
7452#endif
7453
7459Q_DECL_DEPRECATED const long GEOSRID = 4326;
7460
7466Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
7467
7473Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
7474
7475typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
7476
7485typedef unsigned long long qgssize;
7486
7487#ifndef SIP_RUN
7488#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
7489
7490#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
7491#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
7492#define Q_NOWARN_UNREACHABLE_PUSH
7493#define Q_NOWARN_UNREACHABLE_POP
7494
7495#elif defined( _MSC_VER )
7496
7497#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
7498#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
7499#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
7500#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
7501#else
7502
7503#define Q_NOWARN_DEPRECATED_PUSH
7504#define Q_NOWARN_DEPRECATED_POP
7505#define Q_NOWARN_UNREACHABLE_PUSH
7506#define Q_NOWARN_UNREACHABLE_POP
7507
7508#endif
7509#endif
7510
7511#ifndef QGISEXTERN
7512#ifdef Q_OS_WIN
7513#define QGISEXTERN extern "C" __declspec( dllexport )
7514#else
7515#if defined( __GNUC__ ) || defined( __clang__ )
7516#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
7517#else
7518#define QGISEXTERN extern "C"
7519#endif
7520#endif
7521#endif
7522#endif
7523
7524#ifndef SIP_RUN
7525#ifdef _MSC_VER
7526#define BUILTIN_UNREACHABLE __assume( false );
7527#elif defined( __GNUC__ ) && !defined( __clang__ )
7528// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
7529// like:
7530// switch( mVariableThatCanOnlyBeXorY )
7531// {
7532// case X:
7533// return "foo";
7534// case Y:
7535// return "foo";
7536// }
7537// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
7538#define BUILTIN_UNREACHABLE __builtin_unreachable();
7539#else
7540#define BUILTIN_UNREACHABLE
7541#endif
7542#endif // SIP_RUN
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:62
MapGridTickLengthMode
Map grid tick length mode (useful for rotated grids).
Definition qgis.h:5660
DistanceUnitType
Types of distance units.
Definition qgis.h:5232
PieChartLabelType
Pie chart label types.
Definition qgis.h:3460
GnssConstellation
GNSS constellation.
Definition qgis.h:1983
SettingsOption
Settings options.
Definition qgis.h:750
EmbeddedScriptType
Type of Python Embedded in projects.
Definition qgis.h:463
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:4359
ProcessingSourceType
Processing data source types.
Definition qgis.h:3645
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
Definition qgis.h:6601
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:2001
QFlags< MapGridFrameSideFlag > MapGridFrameSideFlags
Flags for controlling which side of the map a frame is drawn on.
Definition qgis.h:5690
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:1002
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3905
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2798
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2893
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4443
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:5768
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:2096
CurvedLabelMode
Modes which determine how curved labels are generated and placed.
Definition qgis.h:1251
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:5138
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3432
static const double DEFAULT_LINE_WIDTH
The default width (in millimeters) for line symbols.
Definition qgis.h:6612
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:3980
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:2063
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:5507
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4387
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:812
static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM
Default highlight line/stroke minimum width in mm.
Definition qgis.h:6563
static QString version()
Version string.
Definition qgis.cpp:682
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:2150
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:5063
ExpressionType
Expression types.
Definition qgis.h:5898
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4808
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5493
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2360
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:525
RasterProcessingParameterCapability
Capabilities of a raster layer processing parameter.
Definition qgis.h:6481
BufferSide
Side of line to buffer.
Definition qgis.h:2176
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1548
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4797
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:5944
ProjectTrustStatus
Project trust status.
Definition qgis.h:476
MultiPartLabelingBehavior
Behavior modifier for labeling features with multi-part geometries.
Definition qgis.h:1290
AltitudeClamping
Altitude clamping.
Definition qgis.h:4099
static const int PREVIEW_JOB_DELAY_MS
Delay between the scheduling of 2 preview jobs.
Definition qgis.h:6618
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:5926
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2669
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1487
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4487
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1340
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
Definition qgis.h:1447
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4596
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3853
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:3145
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3405
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
Definition qgis.h:6578
GpsFixStatus
GPS fix status.
Definition qgis.h:1968
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2596
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:89
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1099
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2835
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2499
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1591
AngularDirection
Angular directions.
Definition qgis.h:3546
DriveType
Drive types.
Definition qgis.h:1152
UnitType
Unit types.
Definition qgis.h:5153
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1924
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1886
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:775
LayoutUnit
Layout measurement units.
Definition qgis.h:5360
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4549
Q_ENUM(GnssConstellation)
PaintEffectFlag
Flags which control how paint effects behave.
Definition qgis.h:2902
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:3243
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4465
LegendComponent
Component of legends which can be styled.
Definition qgis.h:4719
Point3DShape
3D point shape types.
Definition qgis.h:4253
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:2121
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:6288
BrowserItemState
Browser item states.
Definition qgis.h:964
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:5826
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:5987
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2303
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3363
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:2021
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2553
AttributeFormReuseLastValuePolicy
Attribute form policy for reusing last entered values.
Definition qgis.h:5885
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3154
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:3995
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2397
Statistic
Available generic statistics.
Definition qgis.h:6206
TriangulationAlgorithm
Triangulation algorithms.
Definition qgis.h:6534
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:795
AngleUnit
Units of angles.
Definition qgis.h:5295
MapGridAnnotationPosition
Position for map grid annotations.
Definition qgis.h:5570
CaptureTechnique
Capture technique.
Definition qgis.h:418
static QString geosVersion()
GEOS string version linked.
Definition qgis.cpp:704
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:584
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:977
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:5856
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:152
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4689
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4666
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:5043
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:5763
LineClipMode
Line clipping modes.
Definition qgis.h:3377
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
Definition qgis.h:6596
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:3130
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:2155
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:1051
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:6100
NetworkRequestFlag
Flags controlling behavior of network requests.
Definition qgis.h:187
static int geographicLibVersion()
Returns the version of the GeographicLib library if QGIS is built with GeographicLib support.
Definition qgis.cpp:736
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:680
TilePixelRatio
DpiMode enum.
Definition qgis.h:3486
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:5746
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
Definition qgis.h:2912
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1306
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:4365
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
Definition qgis.h:4708
MapGridUnit
Units for map grid values.
Definition qgis.h:5522
LabelPrioritization
Label prioritization.
Definition qgis.h:1218
GradientColorSource
Gradient color sources.
Definition qgis.h:3292
FileFilterType
Type of file filters.
Definition qgis.h:1419
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1232
RasterLayerType
Raster layer types.
Definition qgis.h:4920
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
Definition qgis.h:6585
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:440
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5464
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:4959
ProcessingMode
Types of modes which Processing widgets can be created for.
Definition qgis.h:3786
VectorExportResult
Vector layer export result codes.
Definition qgis.h:1078
DistanceUnit
Units of distance.
Definition qgis.h:5170
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2744
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:906
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
Definition qgis.h:6406
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3336
LegendSyncMode
Legend synchronization mode.
Definition qgis.h:4737
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2586
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1365
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
Definition qgis.h:1623
ScaleMethod
Scale methods.
Definition qgis.h:650
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6491
SldExportOption
SLD export options.
Definition qgis.h:722
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:3114
FilePathType
File path types.
Definition qgis.h:1755
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:4191
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:5871
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3351
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:737
static const double DEFAULT_HIGHLIGHT_BUFFER_MM
Default highlight buffer in mm.
Definition qgis.h:6558
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3572
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4679
ExtrusionFace
Extrusion face types for the QgsTessellator.
Definition qgis.h:6514
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:5841
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2274
VertexType
Types of vertex.
Definition qgis.h:3179
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1503
JoinStyle3D
Join styles for 3D buffers.
Definition qgis.h:2214
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2390
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg).
Definition qgis.h:6078
RasterResamplingMethod
Resampling method for raster provider-level resampling.
Definition qgis.h:1562
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:2164
static int geosVersionPatch()
GEOS Patch version number linked.
Definition qgis.cpp:766
TransactionMode
Transaction mode.
Definition qgis.h:4086
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:864
static const QColor DEFAULT_HIGHLIGHT_COLOR
Default highlight color.
Definition qgis.h:6553
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:5072
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
Definition qgis.h:6572
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:4936
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:2227
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
Definition qgis.h:6621
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:6418
GpsInformationComponent
GPS information component.
Definition qgis.h:2035
Q_ENUM(PointCloudProfileType)
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3591
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3672
FileOperationFlag
File operation flags.
Definition qgis.h:2345
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:1018
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4477
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:2081
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:913
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:5030
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:4832
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2623
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3933
AreaUnit
Units of area.
Definition qgis.h:5247
StringStatistic
Available string statistics.
Definition qgis.h:6268
SelectiveMaskSourceType
Selective masking source types.
Definition qgis.h:3168
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:4040
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6119
MessageLevel
Level for messages This will be used both for message log and message bar in application.
Definition qgis.h:160
@ NoLevel
No level.
Definition qgis.h:165
@ Warning
Warning message.
Definition qgis.h:162
@ Critical
Critical/error message.
Definition qgis.h:163
@ Info
Information message.
Definition qgis.h:161
@ Success
Used for reporting a successful operation.
Definition qgis.h:164
MapGridBorderSide
Border sides for map grid annotations.
Definition qgis.h:5624
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:1134
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:786
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
Definition qgis.h:6720
static Q_DECL_DEPRECATED bool hasQtWebkit()
Returns false.
Definition qgis.cpp:745
MapGridFrameSideFlag
Flags for controlling which side of the map a frame is drawn on.
Definition qgis.h:5675
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3420
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1355
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:5996
TextLayoutMode
Text layout modes.
Definition qgis.h:3002
PropertyType
Property types.
Definition qgis.h:708
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2871
LayerFilter
Filter for layers.
Definition qgis.h:225
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1491
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1580
QFlags< ExtrusionFace > ExtrusionFaces
Tessellator extrusion face types.
Definition qgis.h:6526
static QString devVersion()
The development version.
Definition qgis.cpp:699
CrsType
Coordinate reference system types.
Definition qgis.h:2409
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:2238
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
Definition qgis.h:5554
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:6324
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1738
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:4023
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4515
UriCleaningFlag
Flags for cleaning layer URIs.
Definition qgis.h:1436
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1721
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2608
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3757
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3604
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
Definition qgis.h:1654
ActionType
Action types.
Definition qgis.h:4767
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1169
PlaybackOperation
Media playback operations.
Definition qgis.h:2652
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:936
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3525
QueryStorageBackend
Stored query storage backends.
Definition qgis.h:3631
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:5777
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4414
MarkerShape
Marker shapes.
Definition qgis.h:3194
StacObjectType
Available types of stac objects.
Definition qgis.h:6468
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:4752
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:5087
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:4138
Capitalization
String capitalization options.
Definition qgis.h:3503
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2729
PictureFormat
Picture formats.
Definition qgis.h:5434
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1377
static QString releaseName()
Release name.
Definition qgis.cpp:694
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1320
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:4241
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3534
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1469
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1109
TextOrientation
Text orientations.
Definition qgis.h:2987
TemporalUnit
Temporal units.
Definition qgis.h:5316
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1612
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:893
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1181
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:4008
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2332
VerticalAnchorPoint
Marker symbol vertical anchor points.
Definition qgis.h:840
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
Definition qgis.h:5423
static QString defaultProjectScales()
A string with default project scales.
Definition qgis.cpp:674
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3868
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:5963
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:4220
MapGridStyle
Map grid drawing styles.
Definition qgis.h:5538
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:854
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
Definition qgis.h:6731
BrowserItemType
Browser item types.
Definition qgis.h:945
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2292
static bool hasGeographicLib()
Returns true if the QGIS build contains GeographicLib.
Definition qgis.cpp:727
SettingsType
Types of settings entries.
Definition qgis.h:661
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:755
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2712
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1695
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2942
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:379
RelationshipType
Relationship types.
Definition qgis.h:4535
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4645
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:5010
JoinStyle
Join styles for buffers.
Definition qgis.h:2201
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4399
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:6315
CadMeasurementDisplayType
Advanced digitizing measurement display types.
Definition qgis.h:4207
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3733
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:3078
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:4060
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:5792
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
Definition qgis.h:6546
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2350
DpiMode
DpiMode enum.
Definition qgis.h:3472
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:1027
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3724
AltitudeBinding
Altitude binding.
Definition qgis.h:4112
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
Definition qgis.h:512
StringFormat
Format of log message.
Definition qgis.h:175
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6056
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:4782
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1518
MapLayerLegendFlag
Map layer legend flags.
Definition qgis.h:4698
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:6156
ScriptLanguage
Scripting languages.
Definition qgis.h:4622
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:991
QFlags< NetworkRequestFlag > NetworkRequestFlags
Flags controlling behavior of network requests.
Definition qgis.h:197
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:603
PlotAxisType
Plots axis types.
Definition qgis.h:3448
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:5977
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1403
PointCloudProfileType
Types of elevation profiles to generate for point cloud sources.
Definition qgis.h:4347
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:6297
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:5954
AuthConfigurationStorageCapability
Authentication configuration storage capabilities.
Definition qgis.h:107
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6147
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2699
TextRenderFormat
Options for rendering text.
Definition qgis.h:2923
DocumentationBrowser
Documentation API browser.
Definition qgis.h:6370
DataType
Raster data types.
Definition qgis.h:393
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3596
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1477
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:5123
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1666
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:4309
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2789
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4575
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:4974
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:562
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4284
static int geosVersionMajor()
GEOS Major version number linked.
Definition qgis.cpp:756
LinearReferencingPlacement
Defines how/where the labels should be placed in a linear referencing symbol layer.
Definition qgis.h:3263
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:6024
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:6443
LayerType
Types of layers that can be added to a map.
Definition qgis.h:206
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2559
FieldOrigin
Field origin.
Definition qgis.h:1783
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:3277
LabelWhitespaceCollisionHandling
Label whitespace collision handling.
Definition qgis.h:1206
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
Definition qgis.h:1639
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:6234
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:4237
RenderUnit
Rendering size units.
Definition qgis.h:5340
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:6714
CoordinateOrder
Order of coordinates.
Definition qgis.h:2484
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1876
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:697
EndCapStyle
End cap styles for buffers.
Definition qgis.h:2188
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:5447
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:6047
static bool hasSfcgal()
Returns true if the QGIS build contains SFCGAL.
Definition qgis.cpp:709
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
Definition qgis.h:4821
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2367
QFlags< LoadStyleFlag > LoadStyleFlags
Flags for loading layer styles.
Definition qgis.h:263
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
Definition qgis.h:2092
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:2962
FieldDomainType
Types of field domain.
Definition qgis.h:4073
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2881
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2845
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1531
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2247
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:491
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:5479
Aggregate
Available aggregates to calculate.
Definition qgis.h:6174
static int sfcgalVersionInt()
Returns the version of the SFCGAL library if QGIS is built with SFCGAL.
Definition qgis.cpp:718
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:888
static const double DEFAULT_SEARCH_RADIUS_MM
Identify search radius in mm.
Definition qgis.h:6543
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2582
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4496
LayoutUnitType
Types of layout units.
Definition qgis.h:5380
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:616
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:3390
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1824
MapGridAnnotationType
Annotation coordinate type.
Definition qgis.h:5701
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:6037
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1602
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1912
HistoryProviderBackend
History provider backends.
Definition qgis.h:3617
static const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6615
RasterExportType
Raster file export types.
Definition qgis.h:1708
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1767
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:3062
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4561
GradientType
Gradient types.
Definition qgis.h:3306
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4657
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4335
GpsFeatureType
GPS feature types.
Definition qgis.h:2106
SourceHierarchyLevel
Defines the structural levels within a data source hierarchy.
Definition qgis.h:1456
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:435
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2260
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:4124
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:4228
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2687
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3894
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1117
static int versionInt()
Version number used for comparing versions using the "Check QGIS Version" function.
Definition qgis.cpp:687
VectorEditResult
Specifies the result of a vector layer edit operation.
Definition qgis.h:1897
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:628
Axis
Cartesian axes.
Definition qgis.h:2540
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3745
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4587
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:803
VolumeUnit
Units of volume.
Definition qgis.h:5272
CurvedTextFlag
Flags controlling behavior of curved text generation.
Definition qgis.h:3091
AttributeEditorType
Attribute editor types.
Definition qgis.h:5807
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:4756
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:5783
EmbeddedScriptMode
Authorisation to run script embedded in projects.
Definition qgis.h:448
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:926
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2319
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:879
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3816
MapGridFrameStyle
Style for map grid frames.
Definition qgis.h:5640
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:6432
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4374
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:4152
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4429
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:763
SymbolType
Symbol types.
Definition qgis.h:636
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:4869
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
Definition qgis.h:6606
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4322
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:2973
Q_ENUM(ProcessingAlgorithmFlag)
static int geosVersionMinor()
GEOS Minor version number linked.
Definition qgis.cpp:761
ColorModel
Color model types.
Definition qgis.h:6344
RendererUsage
Usage of the renderer.
Definition qgis.h:3559
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:692
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:2073
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:5725
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:6455
GpsConnectionType
GPS connection types.
Definition qgis.h:1939
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:5754
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:6382
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3801
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:3032
static QString geoNone()
Constant that holds the string representation for "No ellipse/No CRS".
Definition qgis.h:6707
DevToolsNodeRole
Dev tools node custom data roles.
Definition qgis.h:6499
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:252
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:4165
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:5936
MetadataDateType
Date types for metadata.
Definition qgis.h:4850
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2755
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3827
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:4989
MapGridAnnotationDirection
Direction of grid annotations.
Definition qgis.h:5584
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:3043
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:873
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:4178
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:1063
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:294
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:728
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:3321
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3686
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:6012
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:6259
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1837
InputControllerType
Input controller types.
Definition qgis.h:5713
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3521
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1864
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2434
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:3964
static int geosVersionInt()
GEOS version number linked.
Definition qgis.cpp:750
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:3254
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3582
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2514
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6069
MapGridAnnotationFormat
Format for displaying map grid annotations.
Definition qgis.h:5603
DocumentationApi
Documentation API.
Definition qgis.h:6356
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2377
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2569
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3697
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4297
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1800
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4609
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
Definition qgis.h:826
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.
Definition qgis.h:3104
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3879
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1193
static const double UI_SCALE_FACTOR
UI scaling factor.
Definition qgis.h:6591
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:5913
QFlags< LayerFilter > LayerFilters
Definition qgis.h:243
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:3951
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2776
TextComponent
Text components.
Definition qgis.h:3019
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:6243
AnimationState
Animation states.
Definition qgis.h:2639
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2764
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:4272
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3839
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3622
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1267
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1815
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1388
static const double DEFAULT_POINT_SIZE
The default size (in millimeters) for point marker symbols.
Definition qgis.h:6609
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1953
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3919
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2811
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1125
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3771
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1850
LayoutRenderFlag
Flags for controlling how a layout is rendered.
Definition qgis.h:5394
Utility class that encapsulates an action based on vector attributes.
Definition qgsaction.h:38
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
Utility functions for working with ArcGIS REST services.
An abstract base class for any elements of a drag and drop form.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
Represents a coordinate reference system (CRS).
Handles coordinate transforms between two coordinate systems.
Abstract base class for curved geometry type.
Definition qgscurve.h:36
Base class for all items in the model.
Definition qgsdataitem.h:50
Abstract base class for spatial data provider implementations.
Calculator for summary statistics and aggregates for a list of datetimes.
Contains configuration settings for an editor form.
Wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which provide features via a getFeatures method.
Container of fields for a vector layer.
Definition qgsfields.h:46
A geometry is the spatial representation of a feature.
Encapsulates information relating to a GPS position fix.
A fill symbol layer which draws a smooth color gradient over a polygon.
A vector feature renderer which uses numeric attributes to classify features into different ranges.
Stores global configuration for labeling engine.
Contains constants and enums relating to labeling.
Definition qgslabeling.h:33
A browser item that represents a layer that can be opened with one of the providers.
An individual grid which is drawn above the map content in a QgsLayoutItemMap.
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
Stores information relating to the current rendering settings for a layout.
Contains detailed styling information relating to how a layout legend should be rendered.
A proxy model which provides an easy to use model to display the list of layers in widgets.
Base class for all map layer types.
Definition qgsmaplayer.h:83
Contains configuration for rendering maps.
Abstract base class for marker symbol layers.
Interface for showing messages from QGIS in GUI independent way.
Registry for temporary fetched files.
Contains miscellaneous painting utility functions.
Definition qgspainting.h:32
Contains settings for how a map layer will be labeled.
Abstract base class for 2d point cloud renderers.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Encapsulates settings relating to a feature source input to a processing algorithm.
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
A datetime (or pure date or time) parameter for processing algorithms.
Base class for the definition of processing parameters.
A vector layer or feature source field parameter for processing algorithms.
An input file or folder parameter for processing algorithms.
A numeric parameter for processing algorithms.
A parameter for processing algorithms that need a list of input vector layers to construct a TIN.
Makes metadata of processing parameters available.
Abstract base class for processing providers.
Contains enumerations and other constants for use in processing algorithms and parameters.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:113
A store for object properties.
Holds data provider key, description, and associated shared library file or function pointer informat...
A fill symbol layer which places markers at random locations within polygons.
The RasterBandStats struct is a container for statistics about a single raster band.
Implementation of data provider temporal properties for QgsRasterDataProviders.
Base class for raster data providers.
The raster file writer which allows you to save a raster to a new file.
Base class for processing filters like renderers, reprojector, resampler etc.
Implementation of map layer temporal properties for raster layers.
Represents a raster layer.
Describes the origin of minimum and maximum values in a raster.
Contains a pipeline of raster interfaces for sequential raster processing.
Raster namespace.
Definition qgsraster.h:32
Represents a relationship between two vector layers.
Definition qgsrelation.h:42
Contains information about the context of a rendering operation.
Stores the appearance and layout settings for scalebar drawing with QgsScaleBarRenderer.
Represents a settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
Definition qgis.h:6846
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:6860
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:6852
Abstract base class for simple marker symbol layers.
Stores configuration of snapping settings for the project.
Calculator for summary statistics for a list of doubles.
Calculator for summary statistics and aggregates for a list of strings.
Utility functions for working with strings.
Contains utility functions for working with symbols and symbol layers.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:227
Base class for templated line symbols, e.g.
Implements a temporal controller based on a frame by frame navigation and animation.
Container for all settings relating to text rendering.
Utility functions for text rendering.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
Provides calculations for tolerance values in map units.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
Base class for vector data providers.
A convenience class for writing vector layers to disk based formats (e.g.
A convenience class for exporting vector layers to a destination data provider.
Implementation of map layer temporal properties for vector layers.
Represents a vector layer which manages a vector based dataset.
Contains settings for simplifying geometries fetched from a vector layer.
Handles storage of information regarding WKB types and their properties.
Definition qgswkbtypes.h:42
FeatureCountState
Enumeration of feature count states.
Definition qgis.h:571
@ Points
Point based rendering, requires point data.
@ Lines
Line based rendering, requires line data.
As part of the API refactoring and improvements which landed in QGIS
Q_DECL_DEPRECATED const long GEOCRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system in QGIS internal srs database.
Definition qgis.h:7466
Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix(const QString &path)
Returns a the vsi prefix which corresponds to a file path, or an empty string if the path is not asso...
Definition qgis.cpp:606
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
Definition qgis.cpp:611
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
Definition qgis.h:7380
CORE_EXPORT bool qgsVariantEqual(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether they are equal, two NULL values are always treated a...
Definition qgis.cpp:657
Q_DECL_DEPRECATED const long GEOSRID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7459
T qgsEnumKeyToValue(const QString &key, const T &defaultValue, bool tryValueAsKey=true, bool *returnOk=nullptr)
Returns the value corresponding to the given key of an enum.
Definition qgis.h:7176
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:6893
QString qgsMapJoinValues(const QMap< Key, Value > &map, const QString &separator)
Joins all the map values into a single string with each element separated by the given separator.
Definition qgis.h:7046
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:7157
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:7215
QString qgsMapJoinKeys(const QMap< Key, Value > &map, const QString &separator)
Joins all the map keys into a single string with each element separated by the given separator.
Definition qgis.h:7030
T qgsFlagKeysToValue(const QString &keys, const T &defaultValue, bool tryValueAsKey=true, bool *returnOk=nullptr)
Returns the value corresponding to the given keys of a flag.
Definition qgis.h:7237
CORE_EXPORT bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
Definition qgis.cpp:601
unsigned long long qgssize
Qgssize is used instead of size_t, because size_t is stdlib type, unknown by SIP, and it would be har...
Definition qgis.h:7485
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:7140
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
Definition qgis.h:6986
CORE_EXPORT int qgsVariantCompare(const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck=false)
Compares two QVariant values.
Definition qgis.cpp:139
QString qgsSetJoin(const QSet< T > &set, const QString &separator)
Joins all the set values into a single string with each element separated by the given separator.
Definition qgis.h:7062
CORE_EXPORT double qgsPermissiveToDouble(QString string, bool &ok)
Converts a string to a double in a permissive way, e.g., allowing for incorrect numbers of digits bet...
Definition qgis.cpp:91
const QList< T > qgsEnumList()
Returns a list all enum entries.
Definition qgis.h:7123
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:7015
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:6975
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:6938
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:6880
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
Definition qgis.cpp:112
QMap< QString, QString > QgsStringMap
Definition qgis.h:7475
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7473
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:6992
void CORE_EXPORT qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
Definition qgis.cpp:134
bool qgsNumberNear(T a, T b, T epsilon=std::numeric_limits< T >::epsilon() *4)
Compare two numbers of type T (but allow some difference).
Definition qgis.h:6957
CORE_EXPORT qlonglong qgsPermissiveToLongLong(QString string, bool &ok)
Converts a string to an qlonglong in a permissive way, e.g., allowing for incorrect numbers of digits...
Definition qgis.cpp:105
CORE_EXPORT int qgsPermissiveToInt(QString string, bool &ok)
Converts a string to an integer in a permissive way, e.g., allowing for incorrect numbers of digits b...
Definition qgis.cpp:98
CORE_EXPORT bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
Definition qgis.cpp:596
#define QHASH_FOR_CLASS_ENUM(T)
Definition qgis.h:50
bool operator<(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is less than the second.
Definition qgis.h:7396
#define SIP_DEPRECATED
Definition qgis_sip.h:113
#define SIP_ENUM_BASETYPE(type)
Definition qgis_sip.h:274
#define SIP_SKIP
Definition qgis_sip.h:133
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:267
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition qgis_sip.h:268
#define SIP_MONKEYPATCH_SCOPEENUM
Definition qgis_sip.h:266
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Definition qgis_sip.h:269
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsProjectionSelectionWidget::CrsOptions)
Utility class for identifying a unique vertex within a geometry.
Definition qgsvertexid.h:34