QGIS API Documentation 4.1.0-Master (d6fb7a379fb)
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 CacheData = 1 << 28,
552 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
553 };
554 Q_ENUM( VectorProviderCapability )
555
556
565
572 {
573 Uncounted = -2,
574 UnknownCount = -1,
575 };
576 Q_ENUM( FeatureCountState )
577
578
585 {
586 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
587 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
588 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
589 };
590 Q_ENUM( SpatialIndexPresence )
591
592
604 {
605 NoFeaturesAvailable = 0,
606 FeaturesAvailable,
607 FeaturesMaybeAvailable
608 };
609 Q_ENUM( FeatureAvailability )
610
611
617 {
618 EditAlias = 1 << 0,
619 EditComment = 1 << 1,
620 };
621
622 Q_ENUM( VectorDataProviderAttributeEditCapability )
623
624
631
637 {
638 Marker,
639 Line,
640 Fill,
641 Hybrid
642 };
643 Q_ENUM( SymbolType )
644
645
651 {
652 ScaleArea,
653 ScaleDiameter
654 };
655 Q_ENUM( ScaleMethod )
656
657
662 {
663 Custom,
664 Variant,
665 String,
666 StringList,
667 VariantMap,
668 Bool,
669 Integer,
670 Double,
671 EnumFlag,
672 Color
673 };
674 Q_ENUM( SettingsType )
675
676
681 {
682 Root,
683 Standard,
684 NamedList,
685 };
686 Q_ENUM( SettingsTreeNodeType )
687
688
692 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
693 {
694 NamedListSelectedItemSetting = 1 << 0,
695 };
696
697 Q_ENUM( SettingsTreeNodeOption )
700
709 {
710 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
711 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
712 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
713 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
714 };
715 Q_ENUM( PropertyType )
716
717
722 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
723 {
724 NoOptions = 0,
725 Svg = 1 << 0,
726 Png = 1 << 1,
727 };
728 Q_ENUM( SldExportOption )
730 Q_FLAG( SldExportOptions )
731
737 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
738 {
739 NoVendorExtension = 0,
740 GeoServerVendorExtension = 1 << 1,
741 DeegreeVendorExtension = 1 << 2,
742 };
743 Q_ENUM( SldExportVendorExtension )
744
745
746
750 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
751 {
752 SaveFormerValue = 1 << 1,
753 SaveEnumFlagAsInt = 1 << 2,
754 };
755 Q_ENUM( SettingsOption )
756 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
757 Q_FLAG( SettingsOptions )
758
764 {
765 ActiveLayer = 1,
766 AllLayers = 2,
767 AdvancedConfiguration = 3,
768 };
769 Q_ENUM( SnappingMode )
770
771
776 {
777 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
778 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
779 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
780 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
781 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
782 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
783 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
784 };
785 Q_ENUM( SnappingType )
788 Q_FLAG( SnappingTypes )
789
796 {
797 DynamicRotation = 1 << 1,
798 IsSymbolLayerSubSymbol = 1 << 2,
799 ForceVectorRendering = 1 << 3,
800 ExcludeSymbolBuffers = 1 << 4,
801 };
802 Q_ENUM( SymbolRenderHint )
805 Q_FLAG( SymbolRenderHints )
806
813 {
814 ReadSymbol = 1 << 0,
815 WriteSymbol = 1 << 1,
816 };
817
818 Q_ENUM( SymbolConverterCapability )
819
820
827
833 enum class SymbolRotationMode : int
834 {
835 RespectMapRotation,
836 IgnoreMapRotation,
837 };
838 Q_ENUM( SymbolRotationMode )
839
840
841
853 Q_ENUM( HorizontalAnchorPoint )
854
855
868 Q_ENUM( VerticalAnchorPoint )
869
870
875 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
876 {
877 AffectsLabeling = 1 << 0,
878 };
879 Q_ENUM( FeatureRendererFlag )
880
881
887 Q_FLAG( FeatureRendererFlags )
888
894 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
895 {
896 RendererShouldUseSymbolLevels = 1 << 0,
897 AffectsLabeling = 1 << 1,
898 };
899 Q_ENUM( SymbolFlag )
901 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
902 Q_FLAG( SymbolFlags )
903
910 {
911 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
912 };
913 Q_ENUM( SymbolPreviewFlag )
916 Q_FLAG( SymbolPreviewFlags )
917
927 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
928 {
929 DisableFeatureClipping = 1 << 0,
930 CanCalculateMaskGeometryPerFeature = 1 << 1,
931 AffectsLabeling = 1 << 2,
932 };
933 Q_ENUM( SymbolLayerFlag )
936 Q_FLAG( SymbolLayerFlags )
937
947 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
948 {
949 DisableSelectionRecoloring = 1 << 0,
950 };
951 Q_ENUM( SymbolLayerUserFlag )
952
953
959 Q_FLAG( SymbolLayerUserFlags )
960
967 {
968 Collection,
969 Directory,
970 Layer,
971 Error,
972 Favorites,
973 Project,
974 Custom,
975 Fields,
976 Field,
977 };
978 Q_ENUM( BrowserItemType )
979
980
986 {
987 NotPopulated,
988 Populating,
989 Populated,
990 };
991 Q_ENUM( BrowserItemState )
992
993
999 {
1000 NoCapabilities = 0,
1001 SetCrs = 1 << 0,
1002 Fertile = 1 << 1,
1003 Fast = 1 << 2,
1004 Collapse = 1 << 3,
1005 Rename = 1 << 4,
1006 Delete = 1 << 5,
1007 ItemRepresentsFile = 1 << 6,
1008 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
1009 ReadOnly = 1 << 8,
1010 };
1011 Q_ENUM( BrowserItemCapability )
1014 Q_FLAG( BrowserItemCapabilities )
1015
1021 enum class BrowserItemFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
1022 {
1023 HideWhenNotFilteringByLayerType = 1 << 0,
1024 };
1025 Q_ENUM( BrowserItemFilterFlag )
1026
1027
1033 Q_FLAG( BrowserItemFilterFlags )
1034
1043 {
1044 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
1046 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
1047 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
1048 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
1049 };
1050 Q_ENUM( DataItemProviderCapability )
1051
1052
1061
1068 {
1069 NoType,
1070 Vector,
1071 Raster,
1072 Point,
1073 Line,
1074 Polygon,
1075 TableLayer,
1076 Database,
1077 Table,
1078 Plugin,
1079 Mesh,
1080 VectorTile,
1081 PointCloud,
1082 TiledScene,
1083 };
1084 Q_ENUM( BrowserLayerType )
1085
1086
1092 {
1093 Default,
1094 NeverMonitor,
1095 AlwaysMonitor,
1096 };
1097 Q_ENUM( BrowserDirectoryMonitoring )
1098
1099
1103 enum class HttpMethod : int
1104 {
1105 Get = 0,
1106 Post = 1,
1107 Head,
1108 Put,
1109 Delete,
1110 };
1111 Q_ENUM( HttpMethod )
1112
1113
1119 {
1121 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
1122 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
1123 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
1124 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
1125 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
1126 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
1127 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
1128 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
1129 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
1130 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
1131 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
1132 };
1133 Q_ENUM( VectorExportResult )
1134
1135
1140 {
1141 FieldAliases = 1 << 0,
1142 FieldComments = 1 << 2,
1143 };
1144 Q_ENUM( VectorFileWriterCapability )
1145
1146
1152
1158 {
1159 SubsetStringFilter = 1 << 1,
1160 GeometryColumn = 1 << 2,
1161 PrimaryKeys = 1 << 3,
1162 UnstableFeatureIds = 1 << 4
1163 };
1164 Q_ENUM( SqlLayerDefinitionCapability )
1168
1174 enum class SqlKeywordCategory : int
1175 {
1176 Keyword,
1177 Constant,
1178 Function,
1179 Geospatial,
1180 Operator,
1181 Math,
1183 String,
1184 Identifier
1185 };
1186 Q_ENUM( SqlKeywordCategory )
1187
1188
1192 enum class DriveType : int
1193 {
1194 Unknown,
1195 Invalid,
1196 Removable,
1197 Fixed,
1198 Remote,
1199 CdRom,
1200 RamDisk,
1201 Cloud,
1202 };
1203 Q_ENUM( DriveType )
1204
1205
1210 {
1211 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1212 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1213 };
1214 Q_ENUM( ActionStart )
1215
1216
1222 {
1223 FollowEngineSetting,
1224 NeverShow,
1225 };
1226 Q_ENUM( UnplacedLabelVisibility )
1227
1228
1233 enum class LabelOverlapHandling : int
1234 {
1235 PreventOverlap,
1236 AllowOverlapIfRequired,
1237 AllowOverlapAtNoCost,
1238 };
1239 Q_ENUM( LabelOverlapHandling )
1240
1241
1247 {
1248 TreatWhitespaceAsCollision,
1249 IgnoreWhitespaceCollisions,
1250 };
1251 Q_ENUM( LabelWhitespaceCollisionHandling )
1252
1253
1258 enum class LabelPrioritization : int
1259 {
1260 PreferCloser,
1261 PreferPositionOrdering,
1262 };
1263 Q_ENUM( LabelPrioritization )
1264
1265
1273 {
1274 AroundPoint,
1275 OverPoint,
1276 Line,
1277 Curved,
1278 Horizontal,
1279 Free,
1280 OrderedPositionsAroundPoint,
1281 PerimeterCurved,
1282 OutsidePolygons,
1283 };
1284 Q_ENUM( LabelPlacement )
1285
1286
1291 enum class CurvedLabelMode : int
1292 {
1293 Default,
1294 PlaceCharactersAtVertices,
1295 StretchCharacterSpacingToFitLine,
1296 StretchWordSpacingToFitLine,
1297 };
1298 Q_ENUM( CurvedLabelMode )
1299
1300
1308 {
1309 TopLeft,
1310 TopSlightlyLeft,
1311 TopMiddle,
1312 TopSlightlyRight,
1313 TopRight,
1314 MiddleLeft,
1315 MiddleRight,
1316 BottomLeft,
1317 BottomSlightlyLeft,
1318 BottomMiddle,
1319 BottomSlightlyRight,
1320 BottomRight,
1321 OverPoint,
1322 };
1323 Q_ENUM( LabelPredefinedPointPosition )
1324
1325
1331 {
1332 LabelLargestPartOnly,
1333 LabelEveryPartWithEntireLabel,
1334 SplitLabelTextLinesOverParts,
1335 };
1336 Q_ENUM( MultiPartLabelingBehavior )
1337
1338
1347 {
1348 FromPoint,
1349 FromSymbolBounds,
1350 };
1351 Q_ENUM( LabelOffsetType )
1352
1353
1361 {
1362 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1363 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1364 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1366 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1368 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1369 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1370 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1371 };
1372 Q_ENUM( LabelQuadrantPosition )
1373
1374
1381 {
1382 OnLine = 1,
1383 AboveLine = 2,
1384 BelowLine = 4,
1385 MapOrientation = 8,
1386 };
1387 Q_ENUM( LabelLinePlacementFlag )
1388
1389
1397 Q_FLAG( LabelLinePlacementFlags )
1398
1406 {
1407 AllowPlacementOutsideOfPolygon = 1 << 0,
1408 AllowPlacementInsideOfPolygon = 1 << 1,
1409 };
1410 Q_ENUM( LabelPolygonPlacementFlag )
1411
1412
1420
1429 {
1430 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1431 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1432 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1433 };
1434 Q_ENUM( UpsideDownLabelHandling )
1435
1436
1444 {
1446 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1448 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1449 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1450 };
1451 Q_ENUM( LabelMultiLineAlignment )
1452
1453
1460 {
1461 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1462 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1463 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1464 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1465 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1466 VectorTile,
1467 TiledScene,
1468 };
1469 Q_ENUM( FileFilterType )
1470
1471
1476 enum class UriCleaningFlag : int SIP_ENUM_BASETYPE( IntFlag )
1477 {
1478 RemoveCredentials = 1 << 0,
1479 RedactCredentials = 1 << 1,
1480 };
1481 Q_ENUM( UriCleaningFlag )
1482
1483
1489 Q_FLAG( UriCleaningFlags )
1490
1496 enum class SourceHierarchyLevel : int
1497 {
1498 Connection,
1499 Group,
1500 Object,
1501 };
1502 Q_ENUM( SourceHierarchyLevel )
1503
1504
1509 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1510 {
1511 FastScan = 1 << 0,
1512 ResolveGeometryType = 1 << 1,
1513 CountFeatures = 1 << 2,
1514 IncludeSystemTables = 1 << 3,
1515 OpenLayersToResolveDescriptions = 1 << 4,
1516 };
1517
1520 Q_FLAG( SublayerQueryFlags )
1521
1522
1527 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1528 {
1529 SystemTable = 1 << 0,
1530 };
1531
1532 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1534 Q_FLAG( SublayerFlags )
1535
1536
1544 {
1545 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1546 Discrete = 1,
1547 Exact = 2,
1548 };
1549 Q_ENUM( ShaderInterpolationMethod )
1550
1551
1559 {
1560 Continuous = 1,
1561 EqualInterval = 2,
1562 Quantile = 3,
1563 };
1564 Q_ENUM( ShaderClassificationMethod )
1565
1566
1572 {
1573 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1574 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1575 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1576 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1577 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1578 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1579 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1580 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1581 };
1582 Q_ENUM( RasterPipeInterfaceRole )
1583
1584
1589 {
1590 ResampleFilter,
1591 Provider,
1592 };
1593 Q_ENUM( RasterResamplingStage )
1594
1595
1603 {
1604 Nearest,
1605 Bilinear,
1606 Cubic,
1607 CubicSpline,
1608 Lanczos,
1609 Average,
1610 Mode,
1611 Gauss
1612 };
1613 Q_ENUM( RasterResamplingMethod )
1614
1615
1620 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1621 {
1622 InternalLayerOpacityHandling = 1 << 0,
1623 UseNoDataForOutOfRangePixels
1624 = 1 << 1,
1625 };
1626
1633
1635 Q_FLAG( RasterRendererFlags )
1636
1637
1643 {
1644 UsesMultipleBands = 1 << 0,
1645 };
1646 Q_ENUM( RasterRendererCapability )
1647
1648
1655
1664 {
1666 MinimumMaximum SIP_MONKEYPATCH_COMPAT_NAME( MinMax ),
1667 StdDev,
1668 CumulativeCut
1669 };
1670 Q_ENUM( RasterRangeLimit )
1671
1672
1680 {
1681 WholeRaster SIP_MONKEYPATCH_COMPAT_NAME( None_ ),
1682 FixedCanvas SIP_MONKEYPATCH_COMPAT_NAME( CurrentCanvas ),
1683 UpdatedCanvas,
1684 };
1685 Q_ENUM( RasterRangeExtent )
1686
1687
1695 {
1696 Exact,
1697 Estimated,
1698 };
1699 Q_ENUM( RasterRangeAccuracy )
1700
1701
1707 {
1708 Generic = 0,
1709 PixelCount = 1,
1710 Name = 2,
1711 Min = 3,
1712 Max = 4,
1713 MinMax = 5,
1714 Red = 6,
1715 Green = 7,
1716 Blue = 8,
1717 Alpha = 9,
1718 RedMin = 10,
1719 GreenMin = 11,
1720 BlueMin = 12,
1721 AlphaMin = 13,
1722 RedMax = 14,
1723 GreenMax = 15,
1724 BlueMax = 16,
1725 AlphaMax = 17,
1726 MaxCount
1727 };
1728 Q_ENUM( RasterAttributeTableFieldUsage )
1729
1730
1736 {
1737 Thematic = 0,
1738 Athematic = 1
1739 };
1740 Q_ENUM( RasterAttributeTableType )
1741
1742
1749 {
1750 Raw = 0,
1751 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1752 };
1753 Q_ENUM( RasterExportType )
1754
1755
1762 {
1764 SourceProviderError = 1,
1765 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1766 CreateDatasourceError = 3,
1767 WriteError = 4,
1768 NoDataConflict = 5,
1769 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1770 };
1771 Q_ENUM( RasterFileWriterResult )
1772
1773
1778 enum class MeshEditingErrorType : int
1779 {
1780 NoError,
1781 InvalidFace,
1782 TooManyVerticesInFace,
1783 FlatFace,
1784 UniqueSharedVertex,
1785 InvalidVertex,
1786 ManifoldFace,
1787 };
1788 Q_ENUM( MeshEditingErrorType )
1789
1790
1795 enum class FilePathType : int
1796 {
1797 Absolute,
1798 Relative,
1799 };
1800 Q_ENUM( FilePathType )
1801
1802
1807 enum class SublayerPromptMode : int
1808 {
1809 AlwaysAsk,
1810 AskExcludingRasterBands,
1811 NeverAskSkip,
1812 NeverAskLoadAll,
1813 };
1814 Q_ENUM( SublayerPromptMode )
1815
1816
1824 {
1825 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1826 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1827 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1828 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1829 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1830 };
1831 Q_ENUM( FieldOrigin )
1832
1833
1840 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1841 {
1842 NoFlag = 0,
1843 NotSearchable = 1 << 1,
1844 HideFromWms = 1 << 2,
1845 HideFromWfs = 1 << 3,
1846 };
1847 Q_ENUM( FieldConfigurationFlag )
1848
1849
1857 Q_FLAG( FieldConfigurationFlags )
1858
1864 enum class FieldMetadataProperty : int
1865 {
1866 GeometryCrs = 0x1000,
1867 GeometryWkbType = 0x1001,
1868 CustomProperty = 0x100000,
1869 };
1870 Q_ENUM( FieldMetadataProperty )
1871
1872
1877 enum class SelectionRenderingMode : int
1878 {
1879 Default,
1880 CustomColor,
1881 CustomSymbol,
1882 };
1883 Q_ENUM( SelectionRenderingMode )
1884
1885
1891 {
1892 SetSelection,
1893 AddToSelection,
1894 IntersectSelection,
1895 RemoveFromSelection,
1896 };
1897 Q_ENUM( SelectBehavior )
1898
1899
1905 {
1906 Intersect,
1907 Within,
1908 };
1909 Q_ENUM( SelectGeometryRelationship )
1910
1911
1916 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1917 {
1918 SingleFeatureSelection = 1 << 0,
1919 ToggleSelection = 1 << 1,
1920 };
1921
1927 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1928
1930 Q_FLAG( SelectionFlags )
1931
1932
1938 {
1940 EmptyGeometry = 1,
1941 EditFailed = 2,
1942 FetchFeatureFailed = 3,
1943 InvalidLayer = 4,
1944 };
1945 Q_ENUM( VectorEditResult )
1946
1947
1953 {
1954 SemiTransparentCircle,
1955 Cross,
1956 NoMarker,
1957 };
1958 Q_ENUM( VertexMarkerType )
1959
1960
1964 enum class ContentStatus : int
1965 {
1966 NotStarted,
1967 Running,
1968 Finished,
1969 Failed,
1970 Canceled,
1971 };
1972 Q_ENUM( ContentStatus )
1973
1974
1979 enum class GpsConnectionType : int
1980 {
1981 Automatic,
1982 Internal,
1983 Serial,
1984 Gpsd,
1985 };
1986 Q_ENUM( GpsConnectionType )
1987
1988
1993 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1994 {
1995 Disconnected,
1996 Connecting,
1997 Connected,
1998 };
1999 Q_ENUM( DeviceConnectionStatus )
2000
2001
2009 {
2010 NoData,
2011 NoFix,
2012 Fix2D,
2013 Fix3D
2014 };
2016
2017
2024 {
2025 Unknown,
2026 Gps,
2027 Glonass,
2028 Galileo,
2029 BeiDou,
2030 Qzss,
2031 Navic,
2032 Sbas,
2033 };
2035
2042 {
2043 Unknown = -1,
2044 Invalid,
2045 GPS,
2046 DGPS,
2047 PPS,
2048 RTK,
2049 FloatRTK,
2050 Estimated,
2051 Manual,
2052 Simulation,
2053 };
2054 Q_ENUM( GpsQualityIndicator )
2055
2056
2061 enum class GpsNavigationStatus : int
2062 {
2063 NotValid,
2064 Safe,
2065 Caution,
2066 Unsafe,
2067 };
2069
2075 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
2076 {
2077 Location = 1 << 0,
2078 Altitude = 1 << 1,
2079 GroundSpeed = 1 << 2,
2080 Bearing = 1 << 3,
2081 TotalTrackLength = 1 << 4,
2082 TrackDistanceFromStart = 1 << 5,
2083 Pdop = 1 << 6,
2084 Hdop = 1 << 7,
2085 Vdop = 1 << 8,
2086 HorizontalAccuracy = 1 << 9,
2087 VerticalAccuracy = 1 << 10,
2088 HvAccuracy = 1 << 11,
2089 SatellitesUsed = 1 << 12,
2090 Timestamp = 1 << 13,
2091 TrackStartTime = 1 << 14,
2092 TrackEndTime = 1 << 15,
2093 TrackDistanceSinceLastPoint = 1 << 16,
2094 TrackTimeSinceLastPoint = 1 << 17,
2095 GeoidalSeparation = 1 << 18,
2096 EllipsoidAltitude = 1 << 19,
2097 };
2098
2106 Q_FLAG( GpsInformationComponents )
2107
2108
2113 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
2114 {
2115 Import = 1 << 0,
2116 Export = 1 << 1,
2117 Waypoints = 1 << 2,
2118 Routes = 1 << 3,
2119 Tracks = 1 << 4,
2120 };
2121
2124 Q_FLAG( BabelFormatCapabilities )
2125
2126
2132 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
2133 {
2134 QuoteFilePaths = 1 << 0,
2135 };
2136
2139 Q_FLAG( BabelCommandFlags )
2140
2141
2146 enum class GpsFeatureType : int
2147 {
2148 Waypoint,
2149 Route,
2150 Track,
2151 };
2152 Q_ENUM( GpsFeatureType )
2153
2154
2162 {
2164 NothingHappened = 1000,
2165 InvalidBaseGeometry,
2166 InvalidInputGeometryType,
2167 SelectionIsEmpty,
2168 SelectionIsGreaterThanOne,
2169 GeometryEngineError,
2170 LayerNotEditable,
2171 // Add part issues
2172 AddPartSelectedGeometryNotFound,
2173 AddPartNotMultiGeometry,
2174 // Add ring issues
2175 AddRingNotClosed,
2176 AddRingNotValid,
2177 AddRingCrossesExistingRings,
2178 AddRingNotInExistingFeature,
2179 // Split features
2180 SplitCannotSplitPoint,
2181 GeometryTypeHasChanged,
2182 };
2183 Q_ENUM( GeometryOperationResult )
2184
2185
2191 {
2192 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles )
2193 = 1 << 0,
2194 };
2195
2198 Q_FLAG( GeometryValidityFlags )
2199
2200
2205 {
2206 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
2207 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
2208 };
2209 Q_ENUM( GeometryValidationEngine )
2210
2211
2221 Q_ENUM( BufferSide )
2222
2223
2234 Q_ENUM( EndCapStyle )
2235
2236
2242 {
2243 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
2244 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
2245 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
2246 };
2247 Q_ENUM( JoinStyle )
2248
2249
2254 enum class JoinStyle3D : int
2255 {
2256 Round = 1,
2257 Flat,
2258 CylindersAndSpheres,
2259 };
2260 Q_ENUM( JoinStyle3D )
2261
2262
2267 enum class GeometryBackend : int
2268 {
2269 QGIS = 1,
2270 GEOS,
2271 };
2272 Q_ENUM( GeometryBackend )
2273
2274
2279 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2280 {
2281 RejectOnInvalidSubGeometry = 1 << 0,
2282 SkipEmptyInteriorRings = 1 << 1,
2283 };
2284 Q_ENUM( GeosCreationFlag )
2285
2286
2292 Q_FLAG( GeosCreationFlags )
2293
2299 enum class CoverageValidityResult : int
2300 {
2301 Invalid = 0,
2302 Valid = 1,
2303 Error = 2,
2304 };
2305 Q_ENUM( CoverageValidityResult )
2306
2307
2312 enum class MakeValidMethod : int
2313 {
2314 Linework = 0,
2315 Structure = 1,
2316 };
2317 Q_ENUM( MakeValidMethod )
2318
2319
2327 {
2328 NoFlags = 0,
2329 NoGeometry = 1,
2330 SubsetOfAttributes = 2,
2331 ExactIntersect = 4,
2332 IgnoreStaticNodesDuringExpressionCompilation
2333 = 8,
2334 EmbeddedSymbols = 16,
2335 };
2336 Q_ENUM( FeatureRequestFlag )
2337
2338
2346 Q_FLAG( FeatureRequestFlags )
2347
2356 {
2357 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2359 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2361 };
2362 Q_ENUM( FeatureRequestFilterType )
2363
2364
2372 {
2373 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2374 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2375 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2376 };
2377 Q_ENUM( InvalidGeometryCheck )
2378
2379
2384 enum class SpatialFilterType : int
2385 {
2386 NoFilter,
2387 BoundingBox,
2388 DistanceWithin,
2389 };
2390 Q_ENUM( SpatialFilterType )
2391
2392
2397 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2398 {
2399 IncludeMetadataFile = 1 << 0,
2400 IncludeStyleFile = 1 << 1,
2401 };
2402
2405 Q_FLAG( FileOperationFlags )
2406
2407
2412 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2413 {
2414 UsersCannotToggleEditing
2415 = 1 << 0,
2416 IsBasemapLayer = 1 << 1,
2417 Is3DBasemapLayer = 1 << 2,
2418 };
2419
2422 Q_FLAG( MapLayerProperties )
2423
2424
2429 enum class AutoRefreshMode : int
2430 {
2431 Disabled = 0,
2432 ReloadData = 1,
2433 RedrawOnly = 2,
2434 };
2435 Q_ENUM( AutoRefreshMode )
2436
2437
2442 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2443 {
2444 IsBasemapSource = 1 << 1,
2445 FastExtent2D = 1 << 2,
2446 FastExtent3D = 1 << 3,
2447 Is3DBasemapSource = 1 << 4,
2448 };
2449
2452 Q_FLAG( DataProviderFlags )
2453
2454
2461 enum class CrsType : int
2462 {
2463 Unknown,
2464 Geodetic,
2465 Geocentric,
2466 Geographic2d,
2467 Geographic3d,
2468 Vertical,
2469 Projected,
2470 Compound,
2471 Temporal,
2472 Engineering,
2473 Bound,
2474 Other,
2475 DerivedProjected,
2476 };
2477 Q_ENUM( CrsType )
2478
2479
2486 enum class CrsAxisDirection : int
2487 {
2488 North,
2489 NorthNorthEast,
2490 NorthEast,
2491 EastNorthEast,
2492 East,
2493 EastSouthEast,
2494 SouthEast,
2495 SouthSouthEast,
2496 South,
2497 SouthSouthWest,
2498 SouthWest,
2499 WestSouthWest,
2500 West,
2501 WestNorthWest,
2502 NorthWest,
2503 NorthNorthWest,
2504 GeocentricX,
2505 GeocentricY,
2506 GeocentricZ,
2509 Forward,
2510 Aft,
2511 Port,
2512 Starboard,
2513 Clockwise,
2514 CounterClockwise,
2515 ColumnPositive,
2516 ColumnNegative,
2517 RowPositive,
2518 RowNegative,
2519 DisplayRight,
2520 DisplayLeft,
2521 DisplayUp,
2522 DisplayDown,
2523 Future,
2524 Past,
2525 Towards,
2526 AwayFrom,
2527 Unspecified,
2528 };
2529 Q_ENUM( CrsAxisDirection )
2530
2531
2536 enum class CoordinateOrder : int
2537 {
2538 Default,
2539 XY,
2540 YX,
2541 };
2542 Q_ENUM( CoordinateOrder )
2543
2544
2552 {
2553 ShortString,
2554 MediumString,
2555 FullString,
2556 };
2557 Q_ENUM( CrsIdentifierType )
2558
2559
2567 {
2569 WKT1_GDAL
2570 ),
2571 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2572 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2573 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME(
2574 WKT2_2015_SIMPLIFIED
2575 ),
2577 WKT2_2019
2578 ),
2579 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2580 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2581 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED )
2582 = Wkt2_2019Simplified,
2583 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2584 };
2585 Q_ENUM( CrsWktVariant )
2586
2587
2593 {
2594 NoAction = 0,
2595 PromptUserForCrs = 1,
2596 UseProjectCrs = 2,
2597 UseDefaultCrs = 3,
2598 };
2599 Q_ENUM( UnknownLayerCrsBehavior )
2600
2601
2606 enum class Axis : int
2607 {
2608 X,
2609 Y,
2611 };
2612 Q_ENUM( Axis )
2613
2614
2619 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2620 {
2621 ScaleDependentBoundingBox = 1 << 0,
2622 SupportsReferenceScale = 1 << 1,
2623 SupportsCallouts = 1 << 2,
2624 };
2625
2628 Q_FLAG( AnnotationItemFlags )
2629
2630
2636 {
2637 SpatialBounds = 0,
2638 FixedSize,
2639 RelativeToMapFrame,
2640 };
2641 Q_ENUM( AnnotationPlacementMode )
2642
2643
2648 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2649 {
2650 FlagNoCreationTools = 1 << 0,
2651 };
2652
2655 Q_FLAG( AnnotationItemGuiFlags )
2656
2657
2662 enum class AnnotationItemNodeType : int
2663 {
2664 VertexHandle,
2665 CalloutHandle,
2666 };
2667 Q_ENUM( AnnotationItemNodeType )
2668
2669
2675 {
2677 Invalid,
2678 ItemCleared,
2679 };
2680 Q_ENUM( AnnotationItemEditOperationResult )
2681
2682
2690 {
2691 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2692 Animated,
2693 FixedRange,
2694 Movie,
2695 };
2696 Q_ENUM( TemporalNavigationMode )
2697
2698
2711 Q_ENUM( AnimationState )
2712
2713
2718 enum class PlaybackOperation : int
2719 {
2720 SkipToStart,
2721 PreviousFrame,
2722 PlayReverse,
2723 Pause,
2724 PlayForward,
2725 NextFrame,
2726 SkipToEnd,
2727 };
2728 Q_ENUM( PlaybackOperation )
2729
2730
2736 {
2737 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2738 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2739 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2740 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2741 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2743 ModeRedrawLayerOnly
2744 ),
2745 };
2746 Q_ENUM( VectorTemporalMode )
2747
2748
2754 {
2755 IncludeBeginExcludeEnd = 0,
2756 IncludeBeginIncludeEnd,
2757 };
2758 Q_ENUM( VectorTemporalLimitMode )
2759
2760
2766 {
2767 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2768 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2769 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2770 };
2771 Q_ENUM( VectorDataProviderTemporalMode )
2772
2773
2779 {
2780 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2781 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2782 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly )
2783 = 2,
2784 FixedRangePerBand = 3,
2785 RepresentsTemporalValues = 4,
2786 FixedDateTime = 5,
2787 };
2788 Q_ENUM( RasterTemporalMode )
2789
2790
2796 {
2797 MatchUsingWholeRange,
2798 MatchExactUsingStartOfRange,
2799 MatchExactUsingEndOfRange,
2800 FindClosestMatchToStartOfRange,
2801 FindClosestMatchToEndOfRange
2802 };
2803 Q_ENUM( TemporalIntervalMatchMethod )
2804
2805
2811 {
2812 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2813 = 1 << 0,
2814 };
2815 Q_ENUM( RasterTemporalCapabilityFlag )
2816
2817
2824
2835 Q_ENUM( TransformDirection )
2836
2837
2843 {
2844 BallparkTransformsAreAppropriate
2845 = 1 << 0,
2846 IgnoreImpossibleTransformations
2847 = 1 << 1,
2848 };
2849 Q_ENUM( CoordinateTransformationFlag )
2850
2851
2858
2865 {
2866 Default,
2867 PreferVector,
2868 ForceVector,
2869 };
2870 Q_ENUM( RasterizedRenderingPolicy )
2871
2872
2878 {
2879 Antialiasing = 0x01,
2880 DrawEditingInfo = 0x02,
2881 ForceVectorOutput = 0x04,
2882 UseAdvancedEffects = 0x08,
2883 DrawLabeling = 0x10,
2884 UseRenderingOptimization = 0x20,
2885 DrawSelection = 0x40,
2886 DrawSymbolBounds = 0x80,
2887 RenderMapTile = 0x100,
2888 RenderPartialOutput = 0x200,
2889 RenderPreviewJob = 0x400,
2890 RenderBlocking = 0x800,
2891 LosslessImageRendering
2892 = 0x1000,
2893 Render3DMap = 0x2000,
2894 HighQualityImageTransforms = 0x4000,
2895 SkipSymbolRendering = 0x8000,
2896 ForceRasterMasks = 0x10000,
2897 RecordProfile = 0x20000,
2898 AlwaysUseGlobalMasks
2899 = 0x40000,
2900 };
2901
2904 Q_FLAG( MapSettingsFlags )
2905
2906
2912 {
2913 DrawEditingInfo = 0x01,
2914 ForceVectorOutput = 0x02,
2915 UseAdvancedEffects = 0x04,
2916 UseRenderingOptimization = 0x08,
2917 DrawSelection = 0x10,
2918 DrawSymbolBounds = 0x20,
2919 RenderMapTile = 0x40,
2920 Antialiasing = 0x80,
2921 RenderPartialOutput = 0x100,
2922 RenderPreviewJob = 0x200,
2923 RenderBlocking = 0x400,
2924 RenderSymbolPreview = 0x800,
2925 LosslessImageRendering = 0x1000,
2926 ApplyScalingWorkaroundForTextRendering = 0x2000,
2927 Render3DMap = 0x4000,
2928 ApplyClipAfterReprojection = 0x8000,
2929 RenderingSubSymbol = 0x10000,
2930 HighQualityImageTransforms = 0x20000,
2931 SkipSymbolRendering = 0x40000,
2932 RecordProfile = 0x80000,
2933 AlwaysUseGlobalMasks = 0x100000,
2934 DisableSymbolClippingToExtent = 0x200000,
2935 RenderLayerTree = 0x400000
2936 };
2937
2940 Q_FLAG( RenderContextFlags )
2941
2942
2947 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2948 {
2949 RenderPartialOutputs = 1 << 0,
2950 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2951 AffectsLabeling = 1 << 2,
2952 };
2953 Q_ENUM( MapLayerRendererFlag )
2954
2955
2961 Q_FLAG( MapLayerRendererFlags )
2962
2968 enum class PaintEffectFlag : int SIP_ENUM_BASETYPE( IntFlag )
2969 {
2970 RequiresRasterization = 1 << 0,
2971 };
2972 Q_ENUM( PaintEffectFlag )
2973
2974
2980 Q_FLAG( PaintEffectFlags )
2981
2982 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2983 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2984
2990 {
2992 TextFormatAlwaysOutlines
2993 ),
2995 TextFormatAlwaysText
2996 ),
2997 PreferText,
2998 };
2999 Q_ENUM( TextRenderFormat )
3000
3001
3009 {
3010 UseAllLabels = 1 << 1,
3011 UsePartialCandidates = 1 << 2,
3012 // TODO QGIS 5.0: remove
3013 RenderOutlineLabels = 1 << 3,
3014 DrawLabelRectOnly = 1 << 4,
3015 DrawCandidates = 1 << 5,
3016 DrawUnplacedLabels = 1 << 6,
3017 CollectUnplacedLabels = 1 << 7,
3018 DrawLabelMetrics = 1 << 8,
3019 };
3020 Q_ENUM( LabelingFlag )
3021
3022
3030 Q_FLAG( LabelingFlags )
3031
3040 {
3041 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
3042 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
3043 };
3044 Q_ENUM( LabelPlacementEngineVersion )
3045
3046
3054 {
3055 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
3056 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
3057 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
3058 };
3059 Q_ENUM( TextOrientation )
3060
3061
3069 {
3071 Point,
3073 RectangleCapHeightBased,
3074 RectangleAscentBased,
3075 };
3076 Q_ENUM( TextLayoutMode )
3077
3078
3086 {
3087 Text = 1 << 0,
3088 Buffer = 1 << 1,
3089 Background = 1 << 2,
3090 Shadow = 1 << 3,
3091 };
3092 Q_ENUM( TextComponent )
3093
3094
3099 Q_DECLARE_FLAGS( TextComponents, TextComponent )
3100 Q_FLAG( TextComponents )
3101
3116 Q_ENUM( TextHorizontalAlignment )
3117
3118
3129 {
3131 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
3132 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
3133 };
3134 Q_ENUM( TextVerticalAlignment )
3135
3136
3145 {
3146 Normal,
3147 SuperScript,
3148 SubScript,
3149 };
3150 Q_ENUM( TextCharacterVerticalAlignment )
3151
3152
3158 {
3159 TruncateStringWhenLineIsTooShort = 1 << 0,
3160 UseBaselinePlacement = 1 << 1,
3161 UprightCharactersOnly = 1 << 2,
3162 ExtendLineToFitText = 1 << 3,
3163 };
3164 Q_ENUM( CurvedTextFlag )
3165
3166
3172
3181 {
3182 Distance = 0,
3183 SnapToGrid = 1,
3184 Visvalingam = 2,
3185 SnappedToGridGlobal = 3,
3186 };
3187 Q_ENUM( VectorSimplificationAlgorithm )
3188
3189
3197 {
3198 NoSimplification = 0,
3199 GeometrySimplification = 1,
3200 AntialiasingSimplification = 2,
3201 FullSimplification = 3,
3202 };
3203 Q_ENUM( VectorRenderingSimplificationFlag )
3204
3205
3214
3221 {
3222 Generic,
3223 ShadowOffset,
3224 BlurSize,
3225 GlowSpread,
3226 };
3227 Q_ENUM( RenderSubcomponentProperty )
3228
3229
3235 {
3236 SymbolLayer,
3237 Label,
3238 };
3239 Q_ENUM( SelectiveMaskSourceType )
3240
3241
3246 {
3247 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
3248 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
3249 ControlPoint SIP_MONKEYPATCH_COMPAT_NAME( ControlPointVertex ) = 3,
3250 };
3251 Q_ENUM( VertexType )
3252
3253
3261 {
3262 Square,
3263 Diamond,
3264 Pentagon,
3265 Hexagon,
3266 Triangle,
3267 EquilateralTriangle,
3268 Star,
3269 Arrow,
3270 Circle,
3271 Cross,
3272 CrossFill,
3273 Cross2,
3274 Line,
3275 ArrowHead,
3276 ArrowHeadFilled,
3277 SemiCircle,
3278 ThirdCircle,
3279 QuarterCircle,
3280 QuarterSquare,
3281 HalfSquare,
3282 DiagonalHalfSquare,
3283 RightHalfTriangle,
3284 LeftHalfTriangle,
3285 Octagon,
3286 SquareWithCorners,
3287 AsteriskFill,
3288 HalfArc,
3289 ThirdArc,
3290 QuarterArc,
3291 ParallelogramRight,
3292 ParallelogramLeft,
3293 Trapezoid,
3294 Shield,
3295 DiamondStar,
3296 Heart,
3297 Decagon,
3298 RoundedSquare,
3299 };
3300 Q_ENUM( MarkerShape )
3301
3302
3310 {
3311 Interval = 1 << 0,
3312 Vertex = 1 << 1,
3313 LastVertex = 1 << 2,
3314 FirstVertex = 1 << 3,
3315 CentralPoint = 1 << 4,
3316 CurvePoint = 1 << 5,
3317 SegmentCenter = 1 << 6,
3318 InnerVertices = 1 << 7,
3319 };
3320 Q_ENUM( MarkerLinePlacement )
3322 Q_FLAG( MarkerLinePlacements )
3323
3330 {
3331 IntervalCartesian2D = 1 << 0,
3332 IntervalZ = 1 << 1,
3333 IntervalM = 1 << 2,
3334 Vertex = 1 << 3,
3335 };
3336 Q_ENUM( LinearReferencingPlacement )
3337
3338
3344 {
3345 CartesianDistance2D,
3346 Z,
3347 M,
3348 };
3349 Q_ENUM( LinearReferencingLabelSource )
3350
3351
3359 {
3360 SimpleTwoColor,
3361 ColorRamp,
3362 };
3363 Q_ENUM( GradientColorSource )
3364
3365
3378 Q_ENUM( GradientType )
3379
3380
3388 {
3389 Feature,
3390 Viewport,
3391 };
3392 Q_ENUM( SymbolCoordinateReference )
3393
3394
3408 Q_ENUM( GradientSpread )
3409
3410
3418 {
3419 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3420 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3421 };
3422 Q_ENUM( PointCountMethod )
3423
3424
3429 enum class MarkerClipMode : int
3430 {
3431 NoClipping,
3432 Shape,
3433 CentroidWithin,
3434 CompletelyWithin,
3435 };
3436 Q_ENUM( MarkerClipMode )
3437
3438
3443 enum class LineClipMode : int
3444 {
3445 ClipPainterOnly,
3446 ClipToIntersection,
3447 NoClipping,
3448 };
3449 Q_ENUM( LineClipMode )
3450
3451
3457 {
3458 NoRule,
3459 FullDash,
3460 HalfDash,
3461 FullGap,
3462 HalfGap,
3463 };
3464 Q_ENUM( DashPatternLineEndingRule )
3465
3466
3472 {
3473 ScaleBothDashAndGap,
3474 ScaleDashOnly,
3475 ScaleGapOnly,
3476 };
3477 Q_ENUM( DashPatternSizeAdjustment )
3478
3479
3491 Q_ENUM( GraduatedMethod )
3492
3493
3499 {
3500 NoLabels,
3501 EveryLabel,
3502 FirstLabel,
3503 LastLabel,
3504 FirstAndLastLabels,
3505 };
3506 Q_ENUM( PlotAxisSuffixPlacement )
3507
3508
3509
3514 enum class PlotAxisType
3515 {
3516 Interval,
3517 Categorical,
3518 };
3519 Q_ENUM( PlotAxisType )
3520
3521
3526 enum class PieChartLabelType : int
3527 {
3528 NoLabels,
3529 Categories,
3530 Values,
3531 };
3532 Q_ENUM( PieChartLabelType )
3533
3534
3538 enum class DpiMode
3539 {
3540 All = 7,
3541 Off = 0,
3542 QGIS = 1,
3543 UMN = 2,
3544 GeoServer = 4,
3545 };
3546 Q_ENUM( DpiMode )
3547
3548
3553 {
3554 Undefined = 0,
3555 StandardDpi = 1,
3556 HighDpi = 2,
3557 };
3558 Q_ENUM( TilePixelRatio )
3559
3560 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3561
3562
3570 {
3571 MixedCase = 0,
3572 AllUppercase = 1,
3573 AllLowercase = 2,
3574 ForceFirstLetterToCapital = 4,
3575 SmallCaps = 5,
3576 TitleCase = 1004,
3577 UpperCamelCase = 1005,
3578 AllSmallCaps = 1006,
3579 };
3580 Q_ENUM( Capitalization )
3581
3582
3587 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3588 {
3589 WrapLines = 1 << 0,
3590 };
3591 Q_ENUM( TextRendererFlag )
3593 Q_FLAG( TextRendererFlags )
3594
3601 {
3602 MapBox,
3603 Esri,
3604 };
3606
3613 {
3614 Clockwise,
3615 CounterClockwise,
3616 NoOrientation,
3617 };
3618 Q_ENUM( AngularDirection )
3619
3620
3625 enum class RendererUsage : int
3626 {
3627 View,
3628 Export,
3629 Unknown,
3630 };
3631 Q_ENUM( RendererUsage )
3632
3633
3638 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3639 {
3640 ShowMainAnnotationLayer = 1 << 0,
3641 };
3642 Q_ENUM( MapCanvasFlag )
3643
3644
3649 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3650 Q_FLAG( MapCanvasFlags )
3651
3657 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3658 {
3659 Sync3DTo2D = 1 << 0,
3660 Sync2DTo3D = 1 << 1,
3661 };
3662 Q_ENUM( ViewSyncModeFlag )
3664
3671 {
3672 Always,
3673 WhenOutsideVisibleExtent,
3674 Never,
3675 };
3676 Q_ENUM( MapRecenteringMode )
3677
3678
3683 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3684 {
3685 LocalProfile = 1 << 0,
3686 // Project = 1 << 1, //!< QGIS Project (not yet implemented)
3687 };
3688 Q_ENUM( HistoryProviderBackend )
3690 Q_FLAG( HistoryProviderBackends )
3691
3697 enum class QueryStorageBackend : int
3698 {
3699 LocalProfile,
3700 CurrentProject,
3701 };
3702 Q_ENUM( QueryStorageBackend )
3703
3704
3712 {
3713 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3714 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3715 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3716 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3717 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3718 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3719 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3720 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3721 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3722 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3723 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3724 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3725 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10,
3726 TiledScene = 11
3727 };
3728 Q_ENUM( ProcessingSourceType )
3729
3730
3731
3739 {
3740 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults )
3741 = 1 << 1,
3742 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3743 };
3745
3754 Q_FLAG( ProcessingProviderFlags )
3755
3756
3764 {
3765 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3766 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3767 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3768 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3769 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3770 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3771 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3772 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3773 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3774 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3775 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3776 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3777 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3778 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3779 SecurityRisk = 1 << 15,
3780 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3781 };
3783
3792 Q_FLAG( ProcessingAlgorithmFlags )
3793
3794
3800 {
3801 RegeneratesPrimaryKey = 1 << 0,
3802 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3803 RespectsEllipsoid = 1 << 2,
3804 };
3805 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3806
3807
3814
3824 {
3825 NotAvailable,
3826 Available,
3827 };
3828 Q_ENUM( ProcessingPropertyAvailability )
3829
3830
3838 {
3839 DefaultLevel = 0,
3840 Verbose,
3841 ModelDebug,
3842 };
3843 Q_ENUM( ProcessingLogLevel )
3844
3845
3853 {
3854 Standard,
3855 Batch,
3856 Modeler,
3857 };
3858 Q_ENUM( ProcessingMode )
3859
3860
3868 {
3869 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck )
3870 = 1 << 0,
3871 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature )
3872 = 1 << 1,
3873 };
3874 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3875
3876
3885
3894 {
3895 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3896 };
3897 Q_ENUM( ProcessingFeatureSourceFlag )
3898
3899
3908
3920 {
3921 ExposeToModeler = 1
3922 };
3923 Q_ENUM( ProcessingParameterTypeFlag )
3924
3925
3937
3946 {
3947 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3948 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3949 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3950 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3951 };
3952 Q_ENUM( ProcessingParameterFlag )
3953
3954
3962 Q_FLAG( ProcessingParameterFlags )
3963
3976 Q_ENUM( ProcessingFileParameterBehavior )
3977
3978
3990 Q_ENUM( ProcessingNumberParameterType )
3991
3992
4000 {
4001 Any = -1,
4002 Numeric = 0,
4003 String = 1,
4004 DateTime = 2,
4005 Binary = 3,
4006 Boolean = 4,
4007 };
4008 Q_ENUM( ProcessingFieldParameterDataType )
4009
4010
4023 Q_ENUM( ProcessingDateTimeParameterDataType )
4024
4025
4031 {
4032 ModelParameter,
4033 ChildOutput,
4034 StaticValue,
4035 Expression,
4036 ExpressionText,
4037 ModelOutput,
4038 };
4039 Q_ENUM( ProcessingModelChildParameterSource )
4040
4041
4047 {
4048 NotExecuted,
4050 Failed,
4051 };
4052 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4053
4054
4062 {
4063 Vertices,
4064 StructureLines,
4065 BreakLines
4066 };
4067 Q_ENUM( ProcessingTinInputLayerType )
4068
4069
4079 Q_ENUM( CrsDefinitionFormat )
4080
4081
4089 enum class FieldDomainSplitPolicy : int
4090 {
4091 DefaultValue,
4092 Duplicate,
4093 GeometryRatio,
4094 UnsetField,
4095 };
4096 Q_ENUM( FieldDomainSplitPolicy )
4097
4098
4106 enum class FieldDomainMergePolicy : int
4107 {
4108 DefaultValue,
4109 Sum,
4110 GeometryWeighted,
4111 UnsetField,
4112 LargestGeometry,
4113 MinimumValue,
4114 MaximumValue,
4115 SetToNull,
4116 };
4117 Q_ENUM( FieldDomainMergePolicy )
4118
4119
4126 enum class FieldDuplicatePolicy : int
4127 {
4128 DefaultValue,
4129 Duplicate,
4130 UnsetField,
4131 };
4132 Q_ENUM( FieldDuplicatePolicy )
4133
4134
4139 enum class FieldDomainType : int
4140 {
4141 Coded,
4142 Range,
4143 Glob,
4144 };
4145 Q_ENUM( FieldDomainType )
4146
4147
4152 enum class TransactionMode : int
4153 {
4154 Disabled = 0,
4155 AutomaticGroups = 1,
4156 BufferedGroups = 2,
4157 };
4158 Q_ENUM( TransactionMode )
4159
4160
4165 enum class AltitudeClamping : int
4166 {
4167 Absolute,
4168 Relative,
4169 Terrain,
4170 };
4171 Q_ENUM( AltitudeClamping )
4172
4173
4178 enum class AltitudeBinding : int
4179 {
4180 Vertex,
4181 Centroid,
4182 };
4183 Q_ENUM( AltitudeBinding )
4184
4185
4190 enum class RangeLimits : int
4191 {
4192 IncludeBoth = 0,
4193 IncludeLowerExcludeUpper,
4194 ExcludeLowerIncludeUpper,
4195 ExcludeBoth,
4196 };
4197 Q_ENUM( RangeLimits )
4198
4199
4204 enum class RasterElevationMode : int
4205 {
4206 FixedElevationRange = 0,
4207 RepresentsElevationSurface = 1,
4208 FixedRangePerBand = 2,
4209 DynamicRangePerBand = 3,
4210 };
4211 Q_ENUM( RasterElevationMode )
4212
4213
4218 enum class MeshElevationMode : int
4219 {
4220 FixedElevationRange = 0,
4221 FromVertices = 1,
4222 FixedRangePerGroup = 2,
4223 };
4224 Q_ENUM( MeshElevationMode )
4225
4226
4232 {
4233 NoConstraint,
4234 Perpendicular,
4235 Parallel
4236 };
4237 Q_ENUM( BetweenLineConstraint )
4238
4239
4244 enum class LineExtensionSide : int
4245 {
4246 BeforeVertex,
4247 AfterVertex,
4248 NoVertex,
4249 };
4250 Q_ENUM( LineExtensionSide )
4251
4252
4253
4257 enum class CadConstraintType : int
4258 {
4259 Generic,
4260 Angle,
4261 Distance,
4262 XCoordinate,
4263 YCoordinate,
4264 ZValue,
4265 MValue,
4266 };
4267 Q_ENUM( CadConstraintType )
4268
4269
4274 {
4275 Hidden,
4276 Cartesian,
4277 Ellipsoidal,
4278 };
4279 Q_ENUM( CadMeasurementDisplayType )
4280
4281
4286 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
4287 {
4288 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4289 TrustStoredLayerStatistics
4290 = 1 << 1,
4291 RememberLayerEditStatusBetweenSessions = 1 << 2,
4292 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4293 };
4294 Q_ENUM( ProjectFlag )
4295 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
4296 Q_FLAG( ProjectFlags )
4297
4303 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
4304 {
4305 ShowContextMenu = 1 << 0,
4306 };
4307 Q_ENUM( PlotToolFlag )
4308 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
4309 Q_FLAG( PlotToolFlags )
4310
4311
4319 enum class Point3DShape : int
4320 {
4321 Cylinder,
4322 Sphere,
4323 Cone,
4324 Cube,
4325 Torus,
4326 Plane,
4327 ExtrudedText,
4328 Model,
4329 Billboard,
4330 };
4331 Q_ENUM( Point3DShape )
4332
4333
4342 {
4343 Triangles,
4344 Lines,
4345 InstancedPoints,
4346 Points,
4347 TrianglesWithFixedTexture,
4348 TrianglesFromModel,
4349 TrianglesDataDefined,
4350 Billboards,
4351 };
4352 Q_ENUM( MaterialRenderingTechnique )
4353
4354
4359 enum class InstancedMaterialFlag : int SIP_ENUM_BASETYPE( IntFlag )
4360 {
4361 DataDefinedScale = 1 << 0,
4362 DataDefinedRotation = 1 << 1,
4363 };
4364 Q_ENUM( InstancedMaterialFlag )
4366 Q_FLAG( InstancedMaterialFlags )
4367
4373 enum class TextureFilterQuality : int
4374 {
4375 Trilinear,
4376 Anisotropic2x,
4377 Anisotropic4x,
4378 Anisotropic8x,
4379 Anisotropic16x,
4380 };
4381 Q_ENUM( TextureFilterQuality )
4382
4383
4388 enum class ShadowQuality : int
4389 {
4390 Low,
4391 Medium,
4392 High,
4393 VeryHigh,
4394 Extreme,
4395 };
4396 Q_ENUM( ShadowQuality )
4397
4398
4403 enum class LightSourceType : int
4404 {
4405 Point,
4406 Directional,
4407 };
4408 Q_ENUM( LightSourceType )
4409
4410
4414 enum class Map3DBackgroundType : int
4415 {
4416 NoBackground,
4417 FixedGradientBackground,
4418 DistinctTextureSkybox,
4419 };
4420 Q_ENUM( Map3DBackgroundType )
4421
4422
4427 enum class SkyboxCubeMapping : int
4428 {
4429 NativeZUp,
4430 OpenGLYUp,
4431 GodotYUp,
4432 UnrealEngineZUp,
4433 LeftHandedYUpMirrored,
4434 };
4435 Q_ENUM( SkyboxCubeMapping )
4436
4437
4442 enum class NavigationMode : int
4443 {
4444 TerrainBased,
4445 Walk,
4446 GlobeTerrainBased
4447 };
4448 Q_ENUM( NavigationMode )
4449
4450
4455 enum class SceneMode : int
4456 {
4457 Local,
4458 Globe
4459 };
4460 Q_ENUM( SceneMode )
4461
4462
4467 enum class VerticalAxisInversion : int
4468 {
4469 Never,
4470 WhenDragging,
4471 Always,
4472 };
4473 Q_ENUM( VerticalAxisInversion )
4474
4475
4480 enum class Export3DSceneFormat : int
4481 {
4482 Obj,
4483 StlAscii
4484 };
4485 Q_ENUM( Export3DSceneFormat )
4486
4487
4493 {
4494 Line,
4495 FillBelow,
4496 FillAbove,
4497 };
4499
4505 enum class VectorProfileType : int
4506 {
4507 IndividualFeatures,
4508 ContinuousSurface,
4509 };
4511
4517 enum class PointCloudProfileType : int
4518 {
4519 IndividualPoints,
4520 TriangulatedSurface,
4521 };
4523
4529 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4530 {
4531 RespectsMaximumErrorMapUnit = 1 << 0,
4532 RespectsDistanceRange = 1 << 1,
4533 RespectsElevationRange = 1 << 2,
4534 };
4535 Q_ENUM( ProfileGeneratorFlag )
4537 Q_FLAG( ProfileGeneratorFlags )
4538
4544 enum class ProfileExportType : int
4545 {
4546 Features3D,
4547 Profile2D,
4548 DistanceVsElevationTable,
4549 };
4551
4558 {
4559 Square,
4560 Circle,
4561 };
4562 Q_ENUM( PointCloudSymbol )
4563
4564
4570 {
4571 Default,
4572 BottomToTop,
4573 TopToBottom,
4574 };
4575 Q_ENUM( PointCloudDrawOrder )
4576
4577
4585 {
4586 AllowIntersections,
4587 AvoidIntersectionsCurrentLayer,
4588 AvoidIntersectionsLayers,
4589 };
4590 Q_ENUM( AvoidIntersectionsMode )
4591
4592
4600 {
4601 Qgz,
4602 Qgs,
4603 };
4604 Q_ENUM( ProjectFileFormat )
4605
4606
4614 {
4615 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers )
4616 = 1 << 0,
4617 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts )
4618 = 1 << 1,
4619 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata )
4620 = 1 << 2,
4621 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4622 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4623 DontLoadProjectStyles = 1 << 5,
4624 ForceReadOnlyLayers = 1 << 6,
4625 DontUpgradeAnnotations = 1 << 7,
4626 };
4627 Q_ENUM( ProjectReadFlag )
4628
4629
4637 Q_FLAG( ProjectReadFlags )
4638
4647 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4648 {
4649 ProjectStyles = 1 << 0,
4650 };
4651 Q_ENUM( ProjectCapability )
4652
4653
4659 Q_FLAG( ProjectCapabilities )
4660
4667 {
4668 Vector,
4669 Raster,
4670 RasterDem,
4671 GeoJson,
4672 Image,
4673 Video,
4674 Unknown,
4675 };
4676 Q_ENUM( MapBoxGlStyleSourceType )
4677
4678
4686 {
4687 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4688 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4689 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4690 GlobeServer,
4691 GPServer,
4692 GeocodeServer,
4693 Unknown,
4694 SceneServer,
4695 };
4696 Q_ENUM( ArcGisRestServiceType )
4697
4698
4707 {
4708 Map = 1 << 0,
4709 Query = 1 << 1,
4710 Update = 1 << 2,
4711 Delete = 1 << 3,
4712 Create = 1 << 4,
4713 Image = 1 << 5,
4714 TilesOnly = 1 << 6,
4715 };
4716 Q_ENUM( ArcGisRestServiceCapability )
4717
4718
4725
4734 {
4735 Normal,
4736 Generated,
4737 };
4738 Q_ENUM( RelationshipType )
4739
4740
4748 {
4749 Association,
4750 Composition,
4751 };
4752 Q_ENUM( RelationshipStrength )
4753
4754
4760 {
4761 OneToOne,
4762 OneToMany,
4763 ManyToOne,
4764 ManyToMany,
4765 };
4766 Q_ENUM( RelationshipCardinality )
4767
4768
4773 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4774 {
4775 MultipleFieldKeys = 1 << 0,
4776 ForwardPathLabel = 1 << 1,
4777 BackwardPathLabel = 1 << 2,
4778 };
4779 Q_ENUM( RelationshipCapability )
4780
4781
4787 Q_FLAG( RelationshipCapabilities )
4788
4794 enum class CoordinateDisplayType : int
4795 {
4796 MapCrs,
4797 MapGeographic,
4798 CustomCrs,
4799 };
4800 Q_ENUM( CoordinateDisplayType )
4801
4802
4807 enum class SettingsOrigin : int
4808 {
4809 Any,
4810 Global,
4811 Local,
4812 };
4813 Q_ENUM( SettingsOrigin )
4814
4815
4820 enum class ScriptLanguage : int
4821 {
4822 Css,
4823 QgisExpression,
4824 Html,
4825 JavaScript,
4826 Json,
4827 Python,
4828 R,
4829 Sql,
4830 Batch,
4831 Bash,
4832 Unknown,
4833 };
4834 Q_ENUM( ScriptLanguage )
4835
4836
4844 {
4845 Reformat = 1 << 0,
4846 CheckSyntax = 1 << 1,
4847 ToggleComment = 1 << 2,
4848 };
4849 Q_ENUM( ScriptLanguageCapability )
4850
4851
4858
4865 {
4866 AboveInsertionPoint,
4867 TopOfTree,
4868 OptimalInInsertionGroup,
4869 };
4870 Q_ENUM( LayerTreeInsertionMethod )
4871
4872
4878 {
4879 LayerProperties = 0,
4880 AttributeTable = 1,
4881 LayerStyling = 2,
4882 };
4883 Q_ENUM( LegendLayerDoubleClickAction )
4884
4885
4890 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4891 {
4892 SkipVisibilityCheck = 1 << 0,
4893 };
4894 Q_ENUM( LayerTreeFilterFlag )
4895
4896
4902 Q_FLAG( LayerTreeFilterFlags )
4903
4909 enum class MapLayerLegendFlag : int SIP_ENUM_BASETYPE( IntFlag )
4910 {
4911 ExcludeByDefault = 1 << 0,
4912 };
4913 Q_ENUM( MapLayerLegendFlag )
4914
4915
4921 Q_FLAG( MapLayerLegendFlags )
4922
4931 {
4932 Undefined,
4933 Hidden,
4934 Title,
4935 Group,
4936 Subgroup,
4937 Symbol,
4938 SymbolLabel,
4939 };
4940 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
4941 Q_ENUM( LegendComponent )
4942
4943
4948 enum class LegendSyncMode : int
4949 {
4950 AllProjectLayers,
4951 VisibleLayers,
4952 Manual,
4953 };
4954 Q_ENUM( LegendSyncMode )
4955
4956
4963 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4964 {
4965 ShowRuleDetails = 1 << 0,
4966 };
4967 Q_ENUM( LegendJsonRenderFlag )
4969 Q_FLAG( LegendJsonRenderFlags )
4970
4978 enum class ActionType : int
4979 {
4980 Invalid,
4981 MapLayerAction,
4982 AttributeAction
4983 };
4984 Q_ENUM( ActionType )
4985
4986
4993 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
4994 {
4995 Layer = 1 << 0,
4996 SingleFeature = 1 << 1,
4997 MultipleFeatures = 1 << 2,
4998 AllActions = Layer | SingleFeature | MultipleFeatures
4999 };
5000 Q_ENUM( MapLayerActionTarget )
5001
5002
5010 Q_FLAG( MapLayerActionTargets )
5011
5019 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
5020 {
5021 EnabledOnlyWhenEditable = 1 << 1,
5022 EnableOnlyWhenHasGeometry = 1 << 2,
5023 };
5024 Q_ENUM( MapLayerActionFlag )
5025
5026
5034 Q_FLAG( MapLayerActionFlags )
5035
5044 {
5045 Generic,
5046 GenericPython,
5047 Mac,
5048 Windows,
5049 Unix,
5050 OpenUrl,
5051 SubmitUrlEncoded,
5052 SubmitUrlMultipart,
5053 };
5054 Q_ENUM( AttributeActionType )
5055
5056
5062 {
5063 Created,
5064 Published,
5065 Revised,
5066 Superseded,
5067 };
5068 Q_ENUM( MetadataDateType )
5069
5070
5079
5081 {
5082 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
5083 GrayIndex = 1,
5084 PaletteIndex = 2,
5085 RedBand = 3,
5086 GreenBand = 4,
5087 BlueBand = 5,
5088 AlphaBand = 6,
5089 HueBand = 7,
5090 SaturationBand = 8,
5091 LightnessBand = 9,
5092 CyanBand = 10,
5093 MagentaBand = 11,
5094 YellowBand = 12,
5095 BlackBand = 13,
5096 YCbCr_YBand = 14,
5097 YCbCr_CbBand = 15,
5098 YCbCr_CrBand = 16,
5099 ContinuousPalette = 17,
5100
5101 // Note: values between PanBand and SAR_P_Band match additions done in
5102 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
5103
5104 PanBand = 18,
5105 CoastalBand = 19,
5106 RedEdgeBand = 20,
5107 NIRBand = 21,
5108 SWIRBand = 22,
5109 MWIRBand = 23,
5110 LWIRBand = 24,
5111 TIRBand = 25,
5112 OtherIRBand = 26,
5113 SAR_Ka_Band = 27,
5114 SAR_K_Band = 28,
5115 SAR_Ku_Band = 30,
5116 SAR_X_Band = 31,
5117 SAR_C_Band = 32,
5118 SAR_S_Band = 33,
5119 SAR_L_Band = 34,
5120 SAR_P_Band = 35,
5121 };
5122 Q_ENUM( RasterColorInterpretation )
5123
5124
5132 {
5133 GrayOrUndefined,
5134 Palette,
5135 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
5136 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
5137 };
5138 Q_ENUM( RasterLayerType )
5139
5140
5148 {
5149 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
5150 SingleBandGray,
5151 SingleBandPseudoColor,
5152 PalettedColor,
5153 PalettedSingleBandGray,
5154 PalettedSingleBandPseudoColor,
5155 PalettedMultiBandColor,
5156 MultiBandSingleBandGray,
5157 MultiBandSingleBandPseudoColor,
5158 MultiBandColor,
5159 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
5160 };
5161 Q_ENUM( RasterDrawingStyle )
5162
5163
5170 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
5171 {
5172 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
5173 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
5174 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
5175 };
5176 Q_ENUM( RasterPyramidFormat )
5177
5178
5186 {
5187 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
5188 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
5189 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
5190 };
5191 Q_ENUM( RasterBuildPyramidOption )
5192
5193
5201 {
5202 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
5203 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
5204 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
5205 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
5206 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
5207 };
5208 Q_ENUM( RasterIdentifyFormat )
5209
5210 // TODO QGIS 5 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
5211 // remove deprecated members
5212 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
5213
5214
5222 {
5223 NoCapabilities = 0,
5224 Size = 1 << 1,
5225 Create = 1 << 2,
5226 Remove = 1 << 3,
5227 BuildPyramids = 1 << 4,
5228 Identify = 1 << 5,
5229 IdentifyValue = 1 << 6,
5230 IdentifyText = 1 << 7,
5231 IdentifyHtml = 1 << 8,
5232 IdentifyFeature = 1 << 9,
5233 Prefetch = 1 << 10,
5234 };
5235 Q_ENUM( RasterInterfaceCapability )
5236
5237
5244
5245 // TODO QGIS 5 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
5246
5255 {
5256 NoProviderCapabilities = 0,
5257 ReadLayerMetadata = 1 << 1,
5258 WriteLayerMetadata = 1 << 2,
5259 ProviderHintBenefitsFromResampling = 1 << 3,
5260 ProviderHintCanPerformProviderResampling = 1 << 4,
5261 ReloadData = 1 << 5,
5262 DpiDependentData = 1 << 6,
5263 NativeRasterAttributeTable = 1 << 7,
5264 BuildPyramids = 1 << 8,
5265 };
5266 Q_ENUM( RasterProviderCapability )
5267
5268
5277
5284 {
5285 HighestElevation,
5286 NewerElevation,
5287 };
5288 Q_ENUM( ElevationMapCombineMethod )
5289
5290
5299 {
5300 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
5301 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
5302 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
5303 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
5304 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
5305 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
5306 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
5308 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
5309 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
5310 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
5311 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
5312 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
5313 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
5314 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
5315 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
5316 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
5317 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
5318 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
5319 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
5320 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
5321 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
5322 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
5324 };
5325 Q_ENUM( BlendMode )
5326
5327
5335 {
5336 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
5337 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
5338 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
5339 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
5340 };
5341 Q_ENUM( SystemOfMeasurement )
5342
5343
5350 {
5351 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
5352 Pixels,
5353 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
5354 };
5355 Q_ENUM( MapToolUnit )
5356
5357
5365 {
5366 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
5368 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
5369 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
5370 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
5371 };
5372 Q_ENUM( UnitType )
5373
5374
5382 {
5383 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
5384 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
5385 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
5386 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
5387 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
5388 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
5389 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
5390 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
5391 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
5392 Inches,
5393 ChainsInternational,
5394 ChainsBritishBenoit1895A,
5395 ChainsBritishBenoit1895B,
5396 ChainsBritishSears1922Truncated,
5397 ChainsBritishSears1922,
5398 ChainsClarkes,
5399 ChainsUSSurvey,
5400 FeetBritish1865,
5401 FeetBritish1936,
5402 FeetBritishBenoit1895A,
5403 FeetBritishBenoit1895B,
5404 FeetBritishSears1922Truncated,
5405 FeetBritishSears1922,
5406 FeetClarkes,
5407 FeetGoldCoast,
5408 FeetIndian,
5409 FeetIndian1937,
5410 FeetIndian1962,
5411 FeetIndian1975,
5412 FeetUSSurvey,
5413 LinksInternational,
5414 LinksBritishBenoit1895A,
5415 LinksBritishBenoit1895B,
5416 LinksBritishSears1922Truncated,
5417 LinksBritishSears1922,
5418 LinksClarkes,
5419 LinksUSSurvey,
5420 YardsBritishBenoit1895A,
5421 YardsBritishBenoit1895B,
5422 YardsBritishSears1922Truncated,
5423 YardsBritishSears1922,
5424 YardsClarkes,
5425 YardsIndian,
5426 YardsIndian1937,
5427 YardsIndian1962,
5428 YardsIndian1975,
5429 MilesUSSurvey,
5430 Fathoms,
5431 MetersGermanLegal,
5432 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
5433 };
5434 Q_ENUM( DistanceUnit )
5435
5436
5444 {
5445 Standard,
5446 Geographic,
5447 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
5448 };
5449 Q_ENUM( DistanceUnitType )
5450
5451
5459 {
5460 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
5461 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
5462 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
5463 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
5464 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
5465 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
5466 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
5467 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
5468 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
5469 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
5470 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
5471 SquareInches,
5472 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
5473 };
5474 Q_ENUM( AreaUnit )
5475
5476
5484 {
5485 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
5486 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
5487 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
5488 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
5489 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
5490 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
5491 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
5492 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
5493 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
5494 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
5495 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
5496 };
5497 Q_ENUM( VolumeUnit )
5498
5499
5507 {
5508 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
5509 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
5511 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
5512 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
5514 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
5515 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
5516 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
5517 };
5518 Q_ENUM( AngleUnit )
5519
5520
5528 {
5529 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5530 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5531 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5532 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5533 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5534 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5535 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5536 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5537 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5538 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5539 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5540 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5541 };
5542 Q_ENUM( TemporalUnit )
5543
5544
5552 {
5553 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5554 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5555 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5556 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5557 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
5558 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5559 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5560 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5561 };
5562 Q_ENUM( RenderUnit )
5563
5564
5572 {
5573 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5574 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5575 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5576 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5577 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5578 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
5579 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5580 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5581 };
5582 Q_ENUM( LayoutUnit )
5583
5584
5592 {
5593 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5594 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5595 };
5596 Q_ENUM( LayoutUnitType )
5597
5598
5606 {
5607 Debug SIP_MONKEYPATCH_COMPAT_NAME( FlagDebug ) = 1 << 1,
5608 OutlineOnly SIP_MONKEYPATCH_COMPAT_NAME( FlagOutlineOnly ) = 1 << 2,
5609 Antialiasing SIP_MONKEYPATCH_COMPAT_NAME( FlagAntialiasing ) = 1 << 3,
5610 UseAdvancedEffects SIP_MONKEYPATCH_COMPAT_NAME( FlagUseAdvancedEffects ) = 1 << 4,
5611 ForceVectorOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagForceVectorOutput )
5612 = 1 << 5,
5613 HideCoverageLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagHideCoverageLayer ) = 1 << 6,
5614 DrawSelection SIP_MONKEYPATCH_COMPAT_NAME( FlagDrawSelection ) = 1 << 7,
5615 DisableTiledRasterLayerRenders SIP_MONKEYPATCH_COMPAT_NAME( FlagDisableTiledRasterLayerRenders )
5616 = 1 << 8,
5617 RenderLabelsByMapLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagRenderLabelsByMapLayer )
5618 = 1 << 9,
5619 LosslessImageRendering SIP_MONKEYPATCH_COMPAT_NAME( FlagLosslessImageRendering )
5620 = 1 << 10,
5621 SynchronousLegendGraphics SIP_MONKEYPATCH_COMPAT_NAME( FlagSynchronousLegendGraphics ) = 1 << 11,
5622 AlwaysUseGlobalMasks SIP_MONKEYPATCH_COMPAT_NAME( FlagAlwaysUseGlobalMasks )
5623 = 1 << 12,
5624 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5625 };
5626 Q_ENUM( LayoutRenderFlag )
5627
5628
5636 Q_FLAG( LayoutRenderFlags )
5637
5646 {
5647 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5648 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5649 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5650 };
5651 Q_ENUM( PictureFormat )
5652
5653
5658 enum class ScaleCalculationMethod : int
5659 {
5660 HorizontalTop = 0,
5661 HorizontalMiddle,
5662 HorizontalBottom,
5663 HorizontalAverage,
5664 AtEquator,
5665 };
5666 Q_ENUM( ScaleCalculationMethod )
5667
5668
5681 Q_ENUM( ScaleBarAlignment )
5682
5683
5691 {
5692 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5693 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5694 };
5695 Q_ENUM( ScaleBarSegmentSizeMode )
5696
5697
5705 {
5706 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5707 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5708 };
5709 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5710
5711
5719 {
5720 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5721 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5722 };
5723 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5724
5725
5726
5734 {
5735 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( MapUnit ),
5738 DynamicPageSizeBased,
5739 };
5740 Q_ENUM( MapGridUnit )
5741
5742
5750 {
5751 Lines SIP_MONKEYPATCH_COMPAT_NAME( Solid ) = 0,
5752 LineCrosses SIP_MONKEYPATCH_COMPAT_NAME( Cross ),
5753 Markers,
5754 FrameAndAnnotationsOnly SIP_MONKEYPATCH_COMPAT_NAME( FrameAnnotationsOnly )
5755 };
5756 Q_ENUM( MapGridStyle )
5757
5758
5766 {
5767 ShowAll = 0,
5768 LatitudeOnly,
5769 LongitudeOnly,
5770 HideAll
5771 };
5772 Q_ENUM( MapGridComponentVisibility )
5773
5774
5782 {
5783 InsideMapFrame = 0,
5784 OutsideMapFrame,
5785 };
5786 Q_ENUM( MapGridAnnotationPosition )
5787
5788
5796 {
5797 Horizontal = 0,
5798 Vertical,
5799 VerticalDescending,
5800 BoundaryDirection,
5801 AboveTick,
5802 OnTick,
5803 UnderTick,
5804 };
5805 Q_ENUM( MapGridAnnotationDirection )
5806
5807
5815 {
5816 Decimal = 0,
5817 DegreeMinute,
5818 DegreeMinuteSecond,
5819 DecimalWithSuffix,
5820 DegreeMinuteNoSuffix,
5821 DegreeMinutePadded,
5822 DegreeMinuteSecondNoSuffix,
5823 DegreeMinuteSecondPadded,
5824 CustomFormat
5825 };
5826 Q_ENUM( MapGridAnnotationFormat )
5827
5828
5842 Q_ENUM( MapGridBorderSide )
5843
5844
5852 {
5853 NoFrame = 0,
5854 Zebra,
5855 InteriorTicks,
5856 ExteriorTicks,
5857 InteriorExteriorTicks,
5858 LineBorder,
5859 LineBorderNautical,
5860 ZebraNautical,
5861 };
5862 Q_ENUM( MapGridFrameStyle )
5863
5864
5872 {
5873 OrthogonalTicks = 0,
5874 NormalizedTicks,
5875 };
5876 Q_ENUM( MapGridTickLengthMode )
5877
5878
5879
5887 {
5888 Left SIP_MONKEYPATCH_COMPAT_NAME( FrameLeft ) = 0x01,
5889 Right SIP_MONKEYPATCH_COMPAT_NAME( FrameRight ) = 0x02,
5890 Top SIP_MONKEYPATCH_COMPAT_NAME( FrameTop ) = 0x04,
5891 Bottom SIP_MONKEYPATCH_COMPAT_NAME( FrameBottom ) = 0x08
5892 };
5893 Q_ENUM( MapGridFrameSideFlag )
5894
5895
5903 Q_FLAG( MapGridFrameSideFlags )
5904
5913 {
5914 Longitude = 0,
5915 Latitude
5916 };
5917 Q_ENUM( MapGridAnnotationType )
5918
5919
5924 enum class InputControllerType : int
5925 {
5926 Map2D,
5927 Map3D
5928 };
5930
5937 {
5938 NotSet,
5939 Unknown,
5940 OrdinaryTable,
5941 Index,
5942 Sequence,
5943 View,
5944 MaterializedView,
5945 CompositeType,
5946 ToastTable,
5947 ForeignTable,
5948 PartitionedTable,
5949 };
5950 Q_ENUM( PostgresRelKind )
5951
5952
5958 {
5959 SetFieldComment = 1 << 0,
5960 SetFieldAlias = 1 << 1,
5961 SetTableComment = 1 << 2,
5962 EditFieldDomain = 1 << 3,
5963 DeleteFieldDomain = 1 << 4,
5964 };
5965 Q_ENUM( DatabaseProviderConnectionCapability2 )
5968
5975 {
5976 SetGeometryColumnName = 1 << 0,
5977 SetPrimaryKeyName = 1 << 1,
5978 };
5979 Q_ENUM( DatabaseProviderTableImportCapability )
5982
5989 {
5990 SaveToDatabase = 1 << 1,
5991 LoadFromDatabase = 1 << 2,
5992 DeleteFromDatabase = 1 << 3
5993 };
5997
5998
6004 {
6005 LastProfile,
6006 DefaultProfile,
6007 AskUser,
6008 };
6009 Q_ENUM( UserProfileSelectionPolicy )
6010
6011
6019 {
6020 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
6021 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
6022 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
6023 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
6024 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
6025 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
6026 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
6027 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
6028 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
6029 };
6030 Q_ENUM( AttributeEditorType )
6031
6032
6038 {
6039 GroupBox,
6040 Tab,
6041 Row,
6042 };
6043 Q_ENUM( AttributeEditorContainerType )
6044
6045
6053 {
6054 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
6055 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
6056 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
6057 };
6058 Q_ENUM( AttributeFormLayout )
6059
6060
6068 {
6069 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
6070 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
6071 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
6072 };
6073 Q_ENUM( AttributeFormSuppression )
6074
6075
6083 {
6084 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
6085 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
6086 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
6087 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
6088 };
6089 Q_ENUM( AttributeFormPythonInitCodeSource )
6090
6091
6097 {
6098 NotAllowed = 0,
6099 AllowedDefaultOn = 1,
6100 AllowedDefaultOff = 2,
6101 };
6102 Q_ENUM( AttributeFormReuseLastValuePolicy )
6103
6104
6110 {
6112 PointCloud,
6113 RasterCalculator,
6114 };
6115 Q_ENUM( ExpressionType )
6116
6117
6125 {
6126 NoSymbology = 0,
6127 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
6128 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
6129 };
6130 Q_ENUM( FeatureSymbologyExport )
6131
6132
6137 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6138 {
6139 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6140 };
6141 Q_ENUM( VectorTileProviderFlag )
6142
6143
6149 Q_FLAG( VectorTileProviderFlags )
6150
6156 {
6157 ReadLayerMetadata = 1 << 1,
6158 };
6159 Q_ENUM( VectorTileProviderCapability )
6160
6161
6168
6175 {
6176 Available,
6177 NotAvailable,
6178 AvailableNoChildren,
6179 UseLowerZoomLevelTile,
6180 };
6181 Q_ENUM( TileAvailability )
6182
6183
6189 {
6190 ReadLayerMetadata = 1 << 1,
6191 };
6192 Q_ENUM( TiledSceneProviderCapability )
6193
6194
6201
6208 {
6209 Region,
6210 OrientedBox,
6211 Sphere,
6212 };
6213 Q_ENUM( TiledSceneBoundingVolumeType )
6214
6215
6224 {
6225 Replacement,
6226 Additive,
6227 };
6228 Q_ENUM( TileRefinementProcess )
6229
6230
6236 {
6237 NoChildren,
6238 Available,
6239 NeedFetching,
6240 };
6241 Q_ENUM( TileChildrenAvailability )
6242
6243
6248 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
6249 {
6250 NoHierarchyFetch = 1 << 0,
6251 };
6252 Q_ENUM( TiledSceneRequestFlag )
6253
6254
6260 Q_FLAG( TiledSceneRequestFlags )
6261
6267 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
6268 {
6269 RequiresTextures = 1 << 0,
6270 ForceRasterRender = 1 << 1,
6271 RendersTriangles = 1 << 2,
6272 RendersLines = 1 << 3,
6273 };
6274 Q_ENUM( TiledSceneRendererFlag )
6275
6276
6282 Q_FLAG( TiledSceneRendererFlags )
6283
6289 enum class GdalResampleAlgorithm : int
6290 {
6291 RA_NearestNeighbour = 0,
6292 RA_Bilinear = 1,
6293 RA_Cubic = 2,
6294 RA_CubicSpline = 3,
6295 RA_Lanczos = 4,
6296 RA_Average = 5,
6297 RA_Mode = 6,
6298 RA_Max = 8,
6299 RA_Min = 9,
6300 RA_Median = 10,
6301 RA_Q1 = 11,
6302 RA_Q3 = 12,
6303 };
6304 Q_ENUM( GdalResampleAlgorithm )
6305
6306
6311 enum class VsiHandlerType : int
6312 {
6313 Invalid,
6314 Archive,
6315 Network,
6316 Cloud,
6317 Memory,
6318 Other,
6319 };
6320 Q_ENUM( VsiHandlerType )
6321
6322 // TODO QGIS 5: make All include all values (we can't do this before 4.0, as we need to keep
6323 // compatibility with code which expects all these statistics to give numeric results)
6324
6325
6330 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
6331 {
6332 Count = 1 << 0,
6333 Sum = 1 << 1,
6334 Mean = 1 << 2,
6335 Median = 1 << 3,
6336 StDev = 1 << 4,
6337 Min = 1 << 5,
6338 Max = 1 << 6,
6339 Range = 1 << 7,
6340 Minority = 1 << 8,
6341 Majority = 1 << 9,
6342 Variety = 1 << 10,
6343 Variance = 1 << 11,
6344 MinimumPoint = 1 << 12,
6345 MaximumPoint = 1 << 13,
6346 // clang-format off
6347 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6348 // clang-format on
6349 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6350 Default = Count | Sum | Mean,
6351 };
6352 Q_ENUM( ZonalStatistic )
6353
6354
6360 Q_FLAG( ZonalStatistics )
6361
6367 enum class ZonalStatisticResult : int
6368 {
6370 LayerTypeWrong = 1,
6371 LayerInvalid,
6372 RasterInvalid,
6373 RasterBandInvalid,
6374 FailedToCreateField = 8,
6375 Canceled = 9
6376 };
6377 Q_ENUM( ZonalStatisticResult )
6378
6379
6386 {
6387 Count,
6388 CountDistinct,
6389 CountMissing,
6390 Min,
6391 Max,
6392 Sum,
6393 Mean,
6394 Median,
6395 StDev,
6396 StDevSample,
6397 Range,
6398 Minority,
6399 Majority,
6400 FirstQuartile,
6401 ThirdQuartile,
6402 InterQuartileRange,
6403 StringMinimumLength,
6404 StringMaximumLength,
6405 StringConcatenate,
6406 GeometryCollect,
6407 ArrayAggregate,
6408 StringConcatenateUnique
6409 };
6410 Q_ENUM( Aggregate )
6411
6412
6418 {
6419 Count = 1 << 0,
6420 CountMissing = 1 << 15,
6421 Sum = 1 << 1,
6422 Mean = 1 << 2,
6423 Median = 1 << 3,
6424 StDev = 1 << 4,
6425 StDevSample = 1 << 5,
6426 Min = 1 << 6,
6427 Max = 1 << 7,
6428 Range = 1 << 8,
6429 Minority = 1 << 9,
6430 Majority = 1 << 10,
6431 Variety = 1 << 11,
6432 FirstQuartile = 1 << 12,
6433 ThirdQuartile = 1 << 13,
6434 InterQuartileRange = 1 << 14,
6435 First = 1 << 16,
6436 Last = 1 << 17,
6437 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6438 };
6439 Q_ENUM( Statistic )
6440
6441
6447 Q_FLAG( Statistics )
6448
6455 {
6456 Count = 1,
6457 CountDistinct = 2,
6458 CountMissing = 4,
6459 Min = 8,
6460 Max = 16,
6461 Range = 32,
6462 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6463 };
6464 Q_ENUM( DateTimeStatistic )
6465
6466
6472 Q_FLAG( DateTimeStatistics )
6473
6480 {
6481 Count = 1,
6482 CountDistinct = 2,
6483 CountMissing = 4,
6484 Min = 8,
6485 Max = 16,
6486 MinimumLength = 32,
6487 MaximumLength = 64,
6488 MeanLength = 128,
6489 Minority = 256,
6490 Majority = 512,
6491 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6492 };
6493 Q_ENUM( StringStatistic )
6494
6495
6501 Q_FLAG( StringStatistics )
6502
6509 {
6510 NoStatistic = 0,
6511 Min = 1,
6512 Max = 1 << 1,
6513 Range = 1 << 2,
6514 Sum = 1 << 3,
6515 Mean = 1 << 4,
6516 StdDev = 1 << 5,
6517 SumOfSquares = 1 << 6,
6518 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6519 };
6520 Q_ENUM( RasterBandStatistic )
6521
6522
6528 Q_FLAG( RasterBandStatistics )
6529
6535 enum class SensorThingsEntity : int
6536 {
6537 Invalid,
6538 Thing,
6539 Location,
6540 HistoricalLocation,
6541 Datastream,
6542 Sensor,
6543 ObservedProperty,
6544 Observation,
6545 FeatureOfInterest,
6546 MultiDatastream,
6547 };
6548 Q_ENUM( SensorThingsEntity )
6549
6550
6555 enum class ColorModel : int
6556 {
6557 Rgb,
6558 Cmyk,
6559 };
6560 Q_ENUM( ColorModel )
6561
6562
6567 enum class DocumentationApi : int
6568 {
6569 PyQgis,
6570 PyQgisSearch,
6571 CppQgis,
6572 Qt,
6573 };
6574 Q_ENUM( DocumentationApi )
6575
6576
6581 enum class DocumentationBrowser : int
6582 {
6583 DeveloperToolsPanel,
6584 SystemWebBrowser,
6585 };
6586 Q_ENUM( DocumentationBrowser )
6587
6588
6593 enum class MouseHandlesAction : int
6594 {
6595 MoveItem,
6596 ResizeUp,
6597 ResizeDown,
6598 ResizeLeft,
6599 ResizeRight,
6600 ResizeLeftUp,
6601 ResizeRightUp,
6602 ResizeLeftDown,
6603 ResizeRightDown,
6604 RotateTopLeft,
6605 RotateTopRight,
6606 RotateBottomLeft,
6607 RotateBottomRight,
6608 SelectItem,
6609 NoAction
6610 };
6611 Q_ENUM( MouseHandlesAction )
6612
6613
6617 enum class MeshRangeLimit : int
6618 {
6619 NotSet,
6620 MinimumMaximum,
6621 };
6622 Q_ENUM( MeshRangeLimit )
6623
6624
6629 enum class MeshRangeExtent : int
6630 {
6631 WholeMesh,
6632 FixedCanvas,
6633 UpdatedCanvas,
6634 };
6635 Q_ENUM( MeshRangeExtent )
6636
6637
6643 enum class PointCloudAccessType : int
6644 {
6645 Local,
6646 Remote
6647 };
6648 Q_ENUM( PointCloudAccessType )
6649
6650
6655 {
6656 RenderExtents,
6657 RenderOverview,
6658 RenderOverviewAndExtents
6659 };
6660 Q_ENUM( PointCloudZoomOutRenderBehavior )
6661
6662
6667 {
6668 Standard = 0,
6669 Adaptive,
6670 AreaError,
6671 ConstantDensity
6672 };
6673 Q_ENUM( SegmentCalculationMethod )
6674
6675
6679 enum class StacObjectType : int
6680 {
6681 Unknown,
6682 Catalog,
6683 Collection,
6684 Item,
6685 };
6686 Q_ENUM( StacObjectType )
6687
6688
6693 {
6694 WmsScale = 1 << 0,
6695 WmsDpi = 1 << 1,
6696 };
6697 Q_ENUM( RasterProcessingParameterCapability )
6698
6699
6705
6711 {
6712 Status = Qt::UserRole + 1,
6713 Id,
6714 ElapsedTime,
6715 MaximumTime,
6716 Sort,
6717 };
6718 Q_ENUM( DevToolsNodeRole )
6719
6720
6725 enum class ExtrusionFace : int SIP_ENUM_BASETYPE( IntFlag )
6726 {
6727 NoFace = 0,
6728 Walls = 1 << 0,
6729 Roof = 1 << 1,
6730 Floor = 1 << 2
6731 };
6732 Q_ENUM( ExtrusionFace )
6733
6734
6738 Q_DECLARE_FLAGS( ExtrusionFaces, ExtrusionFace )
6739 Q_FLAG( ExtrusionFaces )
6740
6745 enum class TriangulationAlgorithm : int SIP_ENUM_BASETYPE( IntFlag )
6746 {
6747 ConstrainedDelaunay = 0,
6748 Earcut = 1 << 0
6749 };
6750 Q_ENUM( TriangulationAlgorithm )
6751
6752
6763 enum class WmsGroupRequestMode : int
6764 {
6765 Normal,
6766 Opaque,
6767 };
6768 Q_ENUM( WmsGroupRequestMode )
6769
6770
6776 {
6777 RestorePreviousState,
6778 ForceDocked,
6779 ForceDialog,
6780 };
6781 Q_ENUM( DockableWidgetInitialState )
6782
6783
6786 static const double DEFAULT_SEARCH_RADIUS_MM;
6787
6790
6796 static const QColor DEFAULT_HIGHLIGHT_COLOR;
6797
6801 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
6802
6807
6815 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
6816
6821 static const double DEFAULT_Z_COORDINATE;
6822
6828 static const double DEFAULT_M_COORDINATE;
6829
6834 static const double UI_SCALE_FACTOR;
6835
6839 static const double DEFAULT_SNAP_TOLERANCE;
6840
6845
6849 static const int USER_CRS_START_ID;
6850
6852 static const double DEFAULT_POINT_SIZE;
6853
6855 static const double DEFAULT_LINE_WIDTH;
6856
6858 static const double DEFAULT_SEGMENT_EPSILON;
6859
6862
6865
6871 static QString defaultProjectScales();
6872
6878 static int geosVersionInt();
6879
6885 static int geosVersionMajor();
6886
6892 static int geosVersionMinor();
6893
6899 static int geosVersionPatch();
6900
6906 static QString geosVersion();
6907
6913 static bool hasSfcgal();
6914
6921 static int sfcgalVersionInt();
6922
6928 static bool hasGeographicLib();
6929
6936 static int geographicLibVersion();
6937
6943 Q_DECL_DEPRECATED static bool hasQtWebkit();
6944
6950 static QString geoNone() { return u"NONE"_s; }
6951
6957 static QString geographicCrsAuthId() { return u"EPSG:4326"_s; }
6958
6963 Q_DECL_DEPRECATED static QString geoWkt()
6964 {
6965 return QStringLiteral(
6966 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]] )"""
6967 );
6968 }
6969
6974 Q_DECL_DEPRECATED static QString geoProj4() { return u"+proj=longlat +datum=WGS84 +no_defs"_s; }
6975};
6976
6979
7075Q_DECLARE_METATYPE( QTimeZone )
7076
7077// hack to workaround warnings when casting void pointers
7078// retrieved from QLibrary::resolve to function pointers.
7079// It's assumed that this works on all systems supporting
7080// QLibrary
7081#define cast_to_fptr( f ) f
7082
7083
7091// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7092template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
7093{
7094 public:
7099 explicit QgsSignalBlocker( Object *object )
7100 : mObject( object )
7101 , mPreviousState( object->blockSignals( true ) )
7102 {}
7103
7104 ~QgsSignalBlocker() { mObject->blockSignals( mPreviousState ); }
7105
7107 Object *operator->() { return mObject; }
7108
7109 private:
7110 Object *mObject = nullptr;
7111 bool mPreviousState;
7112};
7113
7126// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7127template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
7128{
7129 return QgsSignalBlocker<Object>( object );
7130}
7131
7133CORE_EXPORT uint qHash( const QVariant &variant );
7134
7140inline QString qgsDoubleToString( double a, int precision = 17 )
7141{
7142 QString str;
7143 if ( precision )
7144 {
7145 if ( precision < 0 )
7146 {
7147 const double roundFactor = std::pow( 10, -precision );
7148 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7149 }
7150 else
7151 {
7152 str = QString::number( a, 'f', precision );
7153 if ( str.contains( '.'_L1 ) )
7154 {
7155 // remove ending 0s
7156 int idx = str.length() - 1;
7157 while ( str.at( idx ) == '0' && idx > 1 )
7158 {
7159 idx--;
7160 }
7161 if ( idx < str.length() - 1 )
7162 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
7163 }
7164 }
7165 }
7166 else
7167 {
7168 str = QString::number( a, 'f', precision );
7169 }
7170 // avoid printing -0
7171 // see https://bugreports.qt.io/browse/QTBUG-71439
7172 if ( str == "-0"_L1 )
7173 {
7174 return "0"_L1;
7175 }
7176 return str;
7177}
7178
7185inline bool qgsNanCompatibleEquals( double a, double b )
7186{
7187 const bool aIsNan = std::isnan( a );
7188 const bool bIsNan = std::isnan( b );
7189 if ( aIsNan || bIsNan )
7190 return aIsNan && bIsNan;
7191
7192 return a == b;
7193}
7194
7195#ifndef SIP_RUN
7196
7204template<typename T> inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7205{
7206 const bool aIsNan = std::isnan( a );
7207 const bool bIsNan = std::isnan( b );
7208 if ( aIsNan || bIsNan )
7209 return aIsNan && bIsNan;
7210
7211 const T diff = a - b;
7212 return diff >= -epsilon && diff <= epsilon;
7213}
7214#endif
7215
7222inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7223{
7224 return qgsNumberNear<double>( a, b, epsilon );
7225}
7226
7233inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
7234{
7235 return qgsNumberNear<float>( a, b, epsilon );
7236}
7237
7239inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
7240{
7241 const bool aIsNan = std::isnan( a );
7242 const bool bIsNan = std::isnan( b );
7243 if ( aIsNan || bIsNan )
7244 return aIsNan && bIsNan;
7245
7246 // The most simple would be to print numbers as %.xe and compare as strings
7247 // but that is probably too costly
7248 // Then the fastest would be to set some bits directly, but little/big endian
7249 // has to be considered (maybe TODO)
7250 // Is there a better way?
7251 int aexp, bexp;
7252 const double ar = std::frexp( a, &aexp );
7253 const double br = std::frexp( b, &bexp );
7254
7255 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7256}
7257
7262inline double qgsRound( double number, int places )
7263{
7264 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7265 const double scaleFactor = std::pow( 10.0, places );
7266 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7267}
7268
7269#ifndef SIP_RUN
7270
7277template<class Key, class Value> QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
7278{
7279 QString result;
7280 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7281 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
7282
7283 result.chop( separator.size() );
7284 return result;
7285}
7286
7293template<class Key, class Value> QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
7294{
7295 QString result;
7296 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7297 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
7298
7299 result.chop( separator.size() );
7300 return result;
7301}
7302
7309template<class T> QString qgsSetJoin( const QSet<T> &set, const QString &separator )
7310{
7311 QString result;
7312 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
7313 result += QString( "%1%2" ).arg( *it ).arg( separator );
7314
7315 result.chop( separator.size() );
7316 return result;
7317}
7318
7320
7330namespace qgis
7331{
7332
7345 template<typename To, typename From> inline To down_cast( From *f )
7346 {
7347 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ), "target type not derived from source type" );
7348 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
7349 return static_cast<To>( f );
7350 }
7351
7352 template<class T> QSet<T> listToSet( const QList<T> &list )
7353 {
7354 return QSet<T>( list.begin(), list.end() );
7355 }
7356
7357 template<class T> QList<T> setToList( const QSet<T> &set )
7358 {
7359 return QList<T>( set.begin(), set.end() );
7360 }
7361} //namespace qgis
7362
7364#endif
7365
7370template<class T> const QList<T> qgsEnumList() SIP_SKIP
7371{
7372 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7373 Q_ASSERT( metaEnum.isValid() );
7374 QList<T> enumList;
7375 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7376 {
7377 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
7378 }
7379 return enumList;
7380}
7381
7387template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
7388{
7389 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7390 Q_ASSERT( metaEnum.isValid() );
7391 QMap<T, QString> enumMap;
7392 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7393 {
7394 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7395 }
7396 return enumMap;
7397}
7398
7404template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7405{
7406 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7407 Q_ASSERT( metaEnum.isValid() );
7408 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
7409 if ( returnOk )
7410 {
7411 *returnOk = key ? true : false;
7412 }
7413 return QString::fromUtf8( key );
7414}
7415
7423template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7424{
7425 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7426 Q_ASSERT( metaEnum.isValid() );
7427 bool ok = false;
7428 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7429 if ( returnOk )
7430 {
7431 *returnOk = ok;
7432 }
7433 if ( ok )
7434 {
7435 return v;
7436 }
7437 else
7438 {
7439 // if conversion has failed, try with conversion from int value
7440 if ( tryValueAsKey )
7441 {
7442 bool canConvert = false;
7443 const int intValue = key.toInt( &canConvert );
7444 if ( canConvert && metaEnum.valueToKey( intValue ) )
7445 {
7446 if ( returnOk )
7447 {
7448 *returnOk = true;
7449 }
7450 return static_cast<T>( intValue );
7451 }
7452 }
7453 }
7454 return defaultValue;
7455}
7456
7462template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7463{
7464 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7465 Q_ASSERT( metaEnum.isValid() );
7466 int intValue = static_cast<int>( value );
7467 if ( intValue == 0 )
7468 {
7469 if ( returnOk )
7470 *returnOk = true;
7471 return u"0"_s;
7472 }
7473
7474 const QByteArray ba = metaEnum.valueToKeys( intValue );
7475 // check that the int value does correspond to a flag
7476 // see https://stackoverflow.com/a/68495949/1548052
7477 const int intValueCheck = metaEnum.keysToValue( ba );
7478 bool ok = intValue == intValueCheck;
7479 if ( returnOk )
7480 *returnOk = ok;
7481 return ok ? QString::fromUtf8( ba ) : QString();
7482}
7483
7491template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7492{
7493 if ( keys.isEmpty() )
7494 {
7495 if ( returnOk )
7496 {
7497 *returnOk = false;
7498 }
7499 return defaultValue;
7500 }
7501 else if ( keys == "0"_L1 )
7502 {
7503 if ( returnOk )
7504 {
7505 *returnOk = true;
7506 }
7507 return T();
7508 }
7509 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7510 Q_ASSERT( metaEnum.isValid() );
7511 bool ok = false;
7512 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7513 if ( returnOk )
7514 {
7515 *returnOk = ok;
7516 }
7517 if ( ok )
7518 {
7519 return v;
7520 }
7521 else
7522 {
7523 // if conversion has failed, try with conversion from int value
7524 if ( tryValueAsKey )
7525 {
7526 bool canConvert = false;
7527 const int intValue = keys.toInt( &canConvert );
7528 if ( canConvert )
7529 {
7530 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7531 const int intValueCheck = metaEnum.keysToValue( keyArray );
7532 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7533 {
7534 if ( returnOk )
7535 {
7536 *returnOk = true;
7537 }
7538 return T( intValue );
7539 }
7540 }
7541 }
7542 }
7543 return defaultValue;
7544}
7545
7546
7555CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
7556
7565CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
7566
7576CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
7577
7597CORE_EXPORT int qgsVariantCompare( const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck = false );
7598
7609CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
7610
7619CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
7620
7629CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
7630
7642inline bool operator>( const QVariant &v1, const QVariant &v2 )
7643{
7644 return qgsVariantCompare( v1, v2, true ) > 0;
7645}
7646
7658inline bool operator<( const QVariant &v1, const QVariant &v2 )
7659{
7660 return qgsVariantCompare( v1, v2, true ) < 0;
7661}
7662
7669Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
7670
7676void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
7677
7682void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
7683
7684#ifndef SIP_RUN
7685
7687class ScopedIntIncrementor
7688{
7689 public:
7690 ScopedIntIncrementor( int *variable )
7691 : mVariable( variable )
7692 {
7693 ( *mVariable )++;
7694 }
7695
7696 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
7697 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
7698
7699 void release()
7700 {
7701 if ( mVariable )
7702 ( *mVariable )--;
7703
7704 mVariable = nullptr;
7705 }
7706
7707 ~ScopedIntIncrementor() { release(); }
7708
7709 private:
7710 int *mVariable = nullptr;
7711};
7713
7714#endif
7715
7721Q_DECL_DEPRECATED const long GEOSRID = 4326;
7722
7728Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
7729
7735Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
7736
7737typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
7738
7747typedef unsigned long long qgssize;
7748
7749#ifndef SIP_RUN
7750#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
7751
7752#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
7753#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
7754#define Q_NOWARN_UNREACHABLE_PUSH
7755#define Q_NOWARN_UNREACHABLE_POP
7756
7757#elif defined( _MSC_VER )
7758
7759#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
7760#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
7761#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
7762#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
7763#else
7764
7765#define Q_NOWARN_DEPRECATED_PUSH
7766#define Q_NOWARN_DEPRECATED_POP
7767#define Q_NOWARN_UNREACHABLE_PUSH
7768#define Q_NOWARN_UNREACHABLE_POP
7769
7770#endif
7771#endif
7772
7773#ifndef QGISEXTERN
7774#ifdef Q_OS_WIN
7775#define QGISEXTERN extern "C" __declspec( dllexport )
7776#else
7777#if defined( __GNUC__ ) || defined( __clang__ )
7778#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
7779#else
7780#define QGISEXTERN extern "C"
7781#endif
7782#endif
7783#endif
7784#endif
7785
7786#ifndef SIP_RUN
7787#ifdef _MSC_VER
7788#define BUILTIN_UNREACHABLE __assume( false );
7789#elif defined( __GNUC__ ) && !defined( __clang__ )
7790// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
7791// like:
7792// switch( mVariableThatCanOnlyBeXorY )
7793// {
7794// case X:
7795// return "foo";
7796// case Y:
7797// return "foo";
7798// }
7799// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
7800#define BUILTIN_UNREACHABLE __builtin_unreachable();
7801#else
7802#define BUILTIN_UNREACHABLE
7803#endif
7804#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:5872
DistanceUnitType
Types of distance units.
Definition qgis.h:5444
PieChartLabelType
Pie chart label types.
Definition qgis.h:3527
GnssConstellation
GNSS constellation.
Definition qgis.h:2024
SettingsOption
Settings options.
Definition qgis.h:751
EmbeddedScriptType
Type of Python Embedded in projects.
Definition qgis.h:463
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:4530
GeometryBackend
Geometry backend for QgsGeometry.
Definition qgis.h:2268
ProcessingSourceType
Processing data source types.
Definition qgis.h:3712
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
Definition qgis.h:6844
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:2042
QFlags< MapGridFrameSideFlag > MapGridFrameSideFlags
Flags for controlling which side of the map a frame is drawn on.
Definition qgis.h:5902
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:1043
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3972
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2865
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2960
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4614
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:5980
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:2137
CurvedLabelMode
Modes which determine how curved labels are generated and placed.
Definition qgis.h:1292
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:5350
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3499
static const double DEFAULT_LINE_WIDTH
The default width (in millimeters) for line symbols.
Definition qgis.h:6855
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:4047
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:2104
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:5719
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4558
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:834
static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM
Default highlight line/stroke minimum width in mm.
Definition qgis.h:6806
static QString version()
Version string.
Definition qgis.cpp:682
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:2191
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:5275
ExpressionType
Expression types.
Definition qgis.h:6110
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:5020
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5705
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2413
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:525
RasterProcessingParameterCapability
Capabilities of a raster layer processing parameter.
Definition qgis.h:6693
BufferSide
Side of line to buffer.
Definition qgis.h:2217
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1589
WmsGroupRequestMode
Request mode of groups in a WMS context.
Definition qgis.h:6764
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:5009
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:6156
ProjectTrustStatus
Project trust status.
Definition qgis.h:476
MultiPartLabelingBehavior
Behavior modifier for labeling features with multi-part geometries.
Definition qgis.h:1331
AltitudeClamping
Altitude clamping.
Definition qgis.h:4166
static const int PREVIEW_JOB_DELAY_MS
Delay between the scheduling of 2 preview jobs.
Definition qgis.h:6861
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:6138
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2736
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1528
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4658
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1381
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
Definition qgis.h:1488
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4795
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3920
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:3212
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3472
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
Definition qgis.h:6821
GpsFixStatus
GPS fix status.
Definition qgis.h:2009
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2663
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:89
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1140
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2902
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2552
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1632
AngularDirection
Angular directions.
Definition qgis.h:3613
DriveType
Drive types.
Definition qgis.h:1193
UnitType
Unit types.
Definition qgis.h:5365
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1965
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1927
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:776
Map3DBackgroundType
Background types for 3D map view.
Definition qgis.h:4415
LayoutUnit
Layout measurement units.
Definition qgis.h:5572
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4748
Q_ENUM(GnssConstellation)
PaintEffectFlag
Flags which control how paint effects behave.
Definition qgis.h:2969
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:3310
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4636
LegendComponent
Component of legends which can be styled.
Definition qgis.h:4931
Point3DShape
3D point shape types.
Definition qgis.h:4320
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:2162
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:6500
BrowserItemState
Browser item states.
Definition qgis.h:986
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:6038
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:6199
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2356
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3430
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:2062
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2620
AttributeFormReuseLastValuePolicy
Attribute form policy for reusing last entered values.
Definition qgis.h:6097
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3221
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:4062
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2450
TextureFilterQuality
Texture filtering qualities.
Definition qgis.h:4374
Statistic
Available generic statistics.
Definition qgis.h:6418
TriangulationAlgorithm
Triangulation algorithms.
Definition qgis.h:6746
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:796
AngleUnit
Units of angles.
Definition qgis.h:5507
MapGridAnnotationPosition
Position for map grid annotations.
Definition qgis.h:5782
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:585
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:999
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:6068
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:152
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4901
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4865
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:5255
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:5975
LineClipMode
Line clipping modes.
Definition qgis.h:3444
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
Definition qgis.h:6839
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:3197
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:2196
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:1092
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:6312
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:681
TilePixelRatio
DpiMode enum.
Definition qgis.h:3553
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:5958
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
Definition qgis.h:2979
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1347
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:4536
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
Definition qgis.h:4920
MapGridUnit
Units for map grid values.
Definition qgis.h:5734
LabelPrioritization
Label prioritization.
Definition qgis.h:1259
GradientColorSource
Gradient color sources.
Definition qgis.h:3359
FileFilterType
Type of file filters.
Definition qgis.h:1460
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1273
RasterLayerType
Raster layer types.
Definition qgis.h:5132
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
Definition qgis.h:6828
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:440
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5676
LegendLayerDoubleClickAction
Action performed when double-clicking a layer in the legend.
Definition qgis.h:4878
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:5171
ProcessingMode
Types of modes which Processing widgets can be created for.
Definition qgis.h:3853
VectorExportResult
Vector layer export result codes.
Definition qgis.h:1119
ShadowQuality
Shadow texture quality.
Definition qgis.h:4389
DistanceUnit
Units of distance.
Definition qgis.h:5382
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2811
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:928
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
Definition qgis.h:6618
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3403
LegendSyncMode
Legend synchronization mode.
Definition qgis.h:4949
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2653
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1406
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
Definition qgis.h:1664
ScaleMethod
Scale methods.
Definition qgis.h:651
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6703
SldExportOption
SLD export options.
Definition qgis.h:723
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:3181
FilePathType
File path types.
Definition qgis.h:1796
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:4258
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:6083
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3418
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:738
static const double DEFAULT_HIGHLIGHT_BUFFER_MM
Default highlight buffer in mm.
Definition qgis.h:6801
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3639
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4891
ExtrusionFace
Extrusion face types for the QgsTessellator.
Definition qgis.h:6726
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:6053
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2327
VertexType
Types of vertex.
Definition qgis.h:3246
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1544
JoinStyle3D
Join styles for 3D buffers.
Definition qgis.h:2255
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2443
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg).
Definition qgis.h:6290
RasterResamplingMethod
Resampling method for raster provider-level resampling.
Definition qgis.h:1603
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:2205
static int geosVersionPatch()
GEOS Patch version number linked.
Definition qgis.cpp:766
TransactionMode
Transaction mode.
Definition qgis.h:4153
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:886
static const QColor DEFAULT_HIGHLIGHT_COLOR
Default highlight color.
Definition qgis.h:6796
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:5284
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
Definition qgis.h:6815
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:5148
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:2280
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
Definition qgis.h:6864
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:6630
GpsInformationComponent
GPS information component.
Definition qgis.h:2076
Q_ENUM(PointCloudProfileType)
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3658
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3739
FileOperationFlag
File operation flags.
Definition qgis.h:2398
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:1059
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4648
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:2122
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:935
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:5242
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:5044
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2690
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:4000
AreaUnit
Units of area.
Definition qgis.h:5459
StringStatistic
Available string statistics.
Definition qgis.h:6480
SelectiveMaskSourceType
Selective masking source types.
Definition qgis.h:3235
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:4107
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6331
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:5836
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:1175
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:787
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
Definition qgis.h:6963
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:5887
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3487
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1396
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:6208
TextLayoutMode
Text layout modes.
Definition qgis.h:3069
PropertyType
Property types.
Definition qgis.h:709
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2938
LayerFilter
Filter for layers.
Definition qgis.h:225
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1532
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1621
QFlags< ExtrusionFace > ExtrusionFaces
Tessellator extrusion face types.
Definition qgis.h:6738
static QString devVersion()
The development version.
Definition qgis.cpp:699
CrsType
Coordinate reference system types.
Definition qgis.h:2462
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:2291
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
Definition qgis.h:5766
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:6536
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1779
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:4090
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4686
UriCleaningFlag
Flags for cleaning layer URIs.
Definition qgis.h:1477
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1762
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2675
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3824
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3671
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
Definition qgis.h:1695
ActionType
Action types.
Definition qgis.h:4979
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1210
PlaybackOperation
Media playback operations.
Definition qgis.h:2719
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:958
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3592
QueryStorageBackend
Stored query storage backends.
Definition qgis.h:3698
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:5989
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4585
MarkerShape
Marker shapes.
Definition qgis.h:3261
StacObjectType
Available types of stac objects.
Definition qgis.h:6680
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:4964
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:5299
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:4205
Capitalization
String capitalization options.
Definition qgis.h:3570
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2796
PictureFormat
Picture formats.
Definition qgis.h:5646
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1418
static QString releaseName()
Release name.
Definition qgis.cpp:694
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1361
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:4308
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3601
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1510
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1150
TextOrientation
Text orientations.
Definition qgis.h:3054
TemporalUnit
Temporal units.
Definition qgis.h:5528
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1653
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:915
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1222
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:4075
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2385
VerticalAnchorPoint
Marker symbol vertical anchor points.
Definition qgis.h:862
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
Definition qgis.h:5635
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:3935
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:6175
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:4287
MapGridStyle
Map grid drawing styles.
Definition qgis.h:5750
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:876
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
Definition qgis.h:6974
BrowserItemType
Browser item types.
Definition qgis.h:967
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2345
static bool hasGeographicLib()
Returns true if the QGIS build contains GeographicLib.
Definition qgis.cpp:727
SettingsType
Types of settings entries.
Definition qgis.h:662
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:756
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2779
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1736
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:3009
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:379
RelationshipType
Relationship types.
Definition qgis.h:4734
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4844
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:5222
JoinStyle
Join styles for buffers.
Definition qgis.h:2242
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4570
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:6527
CadMeasurementDisplayType
Advanced digitizing measurement display types.
Definition qgis.h:4274
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3800
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:3145
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:4127
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:6004
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
Definition qgis.h:6789
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2403
DpiMode
DpiMode enum.
Definition qgis.h:3539
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:1068
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3791
AltitudeBinding
Altitude binding.
Definition qgis.h:4179
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:6268
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:4994
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1559
MapLayerLegendFlag
Map layer legend flags.
Definition qgis.h:4910
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:6368
ScriptLanguage
Scripting languages.
Definition qgis.h:4821
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:1013
QFlags< NetworkRequestFlag > NetworkRequestFlags
Flags controlling behavior of network requests.
Definition qgis.h:197
Export3DSceneFormat
The file format used when exporting a 3D scene.
Definition qgis.h:4481
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:604
PlotAxisType
Plots axis types.
Definition qgis.h:3515
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:6189
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1444
PointCloudProfileType
Types of elevation profiles to generate for point cloud sources.
Definition qgis.h:4518
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:6509
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:6166
AuthConfigurationStorageCapability
Authentication configuration storage capabilities.
Definition qgis.h:107
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6359
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2766
TextRenderFormat
Options for rendering text.
Definition qgis.h:2990
DocumentationBrowser
Documentation API browser.
Definition qgis.h:6582
DataType
Raster data types.
Definition qgis.h:393
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3663
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1518
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:5335
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1707
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:4468
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2856
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4774
SkyboxCubeMapping
Skybox texture cube mapping for distinct texture skyboxes.
Definition qgis.h:4428
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:5186
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:563
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4443
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:3330
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:6236
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:6655
QFlags< SymbolConverterCapability > SymbolConverterCapabilities
Symbol converter capabilities.
Definition qgis.h:825
LayerType
Types of layers that can be added to a map.
Definition qgis.h:206
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2626
FieldOrigin
Field origin.
Definition qgis.h:1824
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:3344
QFlags< BrowserItemFilterFlag > BrowserItemFilterFlags
Browser item filter flags.
Definition qgis.h:1032
LabelWhitespaceCollisionHandling
Label whitespace collision handling.
Definition qgis.h:1247
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
Definition qgis.h:1680
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:6446
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:4304
RenderUnit
Rendering size units.
Definition qgis.h:5552
QFlags< ArcGisRestServiceCapability > ArcGisRestServiceCapabilities
Available ArcGIS REST service capabilities.
Definition qgis.h:4723
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:6957
CoordinateOrder
Order of coordinates.
Definition qgis.h:2537
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1917
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:698
EndCapStyle
End cap styles for buffers.
Definition qgis.h:2229
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:5659
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:6259
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:5033
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2420
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:2133
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:3029
FieldDomainType
Types of field domain.
Definition qgis.h:4140
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2948
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2912
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1572
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2300
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:491
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:5691
Aggregate
Available aggregates to calculate.
Definition qgis.h:6386
static int sfcgalVersionInt()
Returns the version of the SFCGAL library if QGIS is built with SFCGAL.
Definition qgis.cpp:718
UnknownLayerCrsBehavior
Behavior to use when encountering a layer with an unknown (invalid) CRS.
Definition qgis.h:2593
BrowserItemFilterFlag
Browser item filter flags.
Definition qgis.h:1022
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:910
static const double DEFAULT_SEARCH_RADIUS_MM
Identify search radius in mm.
Definition qgis.h:6786
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2649
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4667
LayoutUnitType
Types of layout units.
Definition qgis.h:5592
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:617
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:3457
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1865
MapGridAnnotationType
Annotation coordinate type.
Definition qgis.h:5913
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:6249
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1643
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1953
HistoryProviderBackend
History provider backends.
Definition qgis.h:3684
static const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6858
RasterExportType
Raster file export types.
Definition qgis.h:1749
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1808
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:3129
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4760
GradientType
Gradient types.
Definition qgis.h:3373
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4856
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4506
GpsFeatureType
GPS feature types.
Definition qgis.h:2147
SourceHierarchyLevel
Defines the structural levels within a data source hierarchy.
Definition qgis.h:1497
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:435
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2313
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:4191
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:4295
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2754
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3961
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1158
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:1938
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:629
Axis
Cartesian axes.
Definition qgis.h:2607
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3812
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4786
ArcGisRestServiceCapability
Available ArcGIS REST service capabilities.
Definition qgis.h:4707
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:804
VolumeUnit
Units of volume.
Definition qgis.h:5484
CurvedTextFlag
Flags controlling behavior of curved text generation.
Definition qgis.h:3158
AttributeEditorType
Attribute editor types.
Definition qgis.h:6019
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:4968
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:5995
EmbeddedScriptMode
Authorisation to run script embedded in projects.
Definition qgis.h:448
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:948
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2372
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:901
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3883
MapGridFrameStyle
Style for map grid frames.
Definition qgis.h:5852
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:6644
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4545
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:4219
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4600
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:764
SymbolType
Symbol types.
Definition qgis.h:637
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:5081
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
Definition qgis.h:6849
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4493
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:3040
Q_ENUM(ProcessingAlgorithmFlag)
static int geosVersionMinor()
GEOS Minor version number linked.
Definition qgis.cpp:761
MaterialRenderingTechnique
Material rendering techniques.
Definition qgis.h:4342
ColorModel
Color model types.
Definition qgis.h:6556
RendererUsage
Usage of the renderer.
Definition qgis.h:3626
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:693
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:2114
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:5937
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:6667
GpsConnectionType
GPS connection types.
Definition qgis.h:1980
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:5966
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:6594
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3868
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:3099
static QString geoNone()
Constant that holds the string representation for "No ellipse/No CRS".
Definition qgis.h:6950
DevToolsNodeRole
Dev tools node custom data roles.
Definition qgis.h:6711
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:252
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:4232
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:6148
SymbolConverterCapability
Symbol converter capabilities.
Definition qgis.h:813
MetadataDateType
Date types for metadata.
Definition qgis.h:5062
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2822
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3894
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:5201
MapGridAnnotationDirection
Direction of grid annotations.
Definition qgis.h:5796
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:3110
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:895
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:4245
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:1104
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:294
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:729
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:3388
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3753
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:6224
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:6471
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1878
InputControllerType
Input controller types.
Definition qgis.h:5925
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3588
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1905
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2487
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:4031
static int geosVersionInt()
GEOS version number linked.
Definition qgis.cpp:750
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:3321
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3649
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2567
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6281
MapGridAnnotationFormat
Format for displaying map grid annotations.
Definition qgis.h:5815
DocumentationApi
Documentation API.
Definition qgis.h:6568
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2430
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2636
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3764
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
Definition qgis.h:4365
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4456
InstancedMaterialFlag
Optional per-instance properties of instanced materials.
Definition qgis.h:4360
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1841
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4808
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
Definition qgis.h:848
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.
Definition qgis.h:3171
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3946
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1234
static const double UI_SCALE_FACTOR
UI scaling factor.
Definition qgis.h:6834
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:6125
QFlags< LayerFilter > LayerFilters
Definition qgis.h:243
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:4018
DockableWidgetInitialState
Dockable widget initial states.
Definition qgis.h:6776
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2843
TextComponent
Text components.
Definition qgis.h:3086
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:6455
AnimationState
Animation states.
Definition qgis.h:2706
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2831
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:4404
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3906
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3689
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1308
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1856
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1429
static const double DEFAULT_POINT_SIZE
The default size (in millimeters) for point marker symbols.
Definition qgis.h:6852
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1994
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3986
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2878
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1166
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3838
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1891
LayoutRenderFlag
Flags for controlling how a layout is rendered.
Definition qgis.h:5606
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:114
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:7093
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:7107
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:7099
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:572
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:7728
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:7642
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:7721
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:7423
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:7140
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:7293
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:7404
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:7462
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:7277
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:7491
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:7747
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:7387
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
Definition qgis.h:7233
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:7309
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:7370
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:7262
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:7222
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:7185
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:7127
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:7737
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7735
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:7239
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:7204
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:7658
#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