QGIS API Documentation 4.1.0-Master (64dc32379c2)
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 TextureFilterQuality : int
4360 {
4361 Trilinear,
4362 Anisotropic2x,
4363 Anisotropic4x,
4364 Anisotropic8x,
4365 Anisotropic16x,
4366 };
4367 Q_ENUM( TextureFilterQuality )
4368
4369
4374 enum class LightSourceType : int
4375 {
4376 Point,
4377 Directional,
4378 };
4379 Q_ENUM( LightSourceType )
4380
4381
4385 enum class Map3DBackgroundType : int
4386 {
4387 NoBackground,
4388 FixedGradientBackground,
4389 DistinctTextureSkybox,
4390 };
4391 Q_ENUM( Map3DBackgroundType )
4392
4393
4398 enum class SkyboxCubeMapping : int
4399 {
4400 NativeZUp,
4401 OpenGLYUp,
4402 GodotYUp,
4403 UnrealEngineZUp,
4404 LeftHandedYUpMirrored,
4405 };
4406 Q_ENUM( SkyboxCubeMapping )
4407
4408
4413 enum class NavigationMode : int
4414 {
4415 TerrainBased,
4416 Walk,
4417 GlobeTerrainBased
4418 };
4419 Q_ENUM( NavigationMode )
4420
4421
4426 enum class SceneMode : int
4427 {
4428 Local,
4429 Globe
4430 };
4431 Q_ENUM( SceneMode )
4432
4433
4438 enum class VerticalAxisInversion : int
4439 {
4440 Never,
4441 WhenDragging,
4442 Always,
4443 };
4444 Q_ENUM( VerticalAxisInversion )
4445
4446
4451 enum class Export3DSceneFormat : int
4452 {
4453 Obj,
4454 StlAscii
4455 };
4456 Q_ENUM( Export3DSceneFormat )
4457
4458
4464 {
4465 Line,
4466 FillBelow,
4467 FillAbove,
4468 };
4470
4476 enum class VectorProfileType : int
4477 {
4478 IndividualFeatures,
4479 ContinuousSurface,
4480 };
4482
4488 enum class PointCloudProfileType : int
4489 {
4490 IndividualPoints,
4491 TriangulatedSurface,
4492 };
4494
4500 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4501 {
4502 RespectsMaximumErrorMapUnit = 1 << 0,
4503 RespectsDistanceRange = 1 << 1,
4504 RespectsElevationRange = 1 << 2,
4505 };
4506 Q_ENUM( ProfileGeneratorFlag )
4508 Q_FLAG( ProfileGeneratorFlags )
4509
4515 enum class ProfileExportType : int
4516 {
4517 Features3D,
4518 Profile2D,
4519 DistanceVsElevationTable,
4520 };
4522
4529 {
4530 Square,
4531 Circle,
4532 };
4533 Q_ENUM( PointCloudSymbol )
4534
4535
4541 {
4542 Default,
4543 BottomToTop,
4544 TopToBottom,
4545 };
4546 Q_ENUM( PointCloudDrawOrder )
4547
4548
4556 {
4557 AllowIntersections,
4558 AvoidIntersectionsCurrentLayer,
4559 AvoidIntersectionsLayers,
4560 };
4561 Q_ENUM( AvoidIntersectionsMode )
4562
4563
4571 {
4572 Qgz,
4573 Qgs,
4574 };
4575 Q_ENUM( ProjectFileFormat )
4576
4577
4585 {
4586 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers )
4587 = 1 << 0,
4588 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts )
4589 = 1 << 1,
4590 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata )
4591 = 1 << 2,
4592 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4593 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4594 DontLoadProjectStyles = 1 << 5,
4595 ForceReadOnlyLayers = 1 << 6,
4596 DontUpgradeAnnotations = 1 << 7,
4597 };
4598 Q_ENUM( ProjectReadFlag )
4599
4600
4608 Q_FLAG( ProjectReadFlags )
4609
4618 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4619 {
4620 ProjectStyles = 1 << 0,
4621 };
4622 Q_ENUM( ProjectCapability )
4623
4624
4630 Q_FLAG( ProjectCapabilities )
4631
4638 {
4639 Vector,
4640 Raster,
4641 RasterDem,
4642 GeoJson,
4643 Image,
4644 Video,
4645 Unknown,
4646 };
4647 Q_ENUM( MapBoxGlStyleSourceType )
4648
4649
4657 {
4658 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4659 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4660 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4661 GlobeServer,
4662 GPServer,
4663 GeocodeServer,
4664 Unknown,
4665 SceneServer,
4666 };
4667 Q_ENUM( ArcGisRestServiceType )
4668
4669
4678 {
4679 Map = 1 << 0,
4680 Query = 1 << 1,
4681 Update = 1 << 2,
4682 Delete = 1 << 3,
4683 Create = 1 << 4,
4684 Image = 1 << 5,
4685 TilesOnly = 1 << 6,
4686 };
4687 Q_ENUM( ArcGisRestServiceCapability )
4688
4689
4696
4705 {
4706 Normal,
4707 Generated,
4708 };
4709 Q_ENUM( RelationshipType )
4710
4711
4719 {
4720 Association,
4721 Composition,
4722 };
4723 Q_ENUM( RelationshipStrength )
4724
4725
4731 {
4732 OneToOne,
4733 OneToMany,
4734 ManyToOne,
4735 ManyToMany,
4736 };
4737 Q_ENUM( RelationshipCardinality )
4738
4739
4744 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4745 {
4746 MultipleFieldKeys = 1 << 0,
4747 ForwardPathLabel = 1 << 1,
4748 BackwardPathLabel = 1 << 2,
4749 };
4750 Q_ENUM( RelationshipCapability )
4751
4752
4758 Q_FLAG( RelationshipCapabilities )
4759
4765 enum class CoordinateDisplayType : int
4766 {
4767 MapCrs,
4768 MapGeographic,
4769 CustomCrs,
4770 };
4771 Q_ENUM( CoordinateDisplayType )
4772
4773
4778 enum class SettingsOrigin : int
4779 {
4780 Any,
4781 Global,
4782 Local,
4783 };
4784 Q_ENUM( SettingsOrigin )
4785
4786
4791 enum class ScriptLanguage : int
4792 {
4793 Css,
4794 QgisExpression,
4795 Html,
4796 JavaScript,
4797 Json,
4798 Python,
4799 R,
4800 Sql,
4801 Batch,
4802 Bash,
4803 Unknown,
4804 };
4805 Q_ENUM( ScriptLanguage )
4806
4807
4815 {
4816 Reformat = 1 << 0,
4817 CheckSyntax = 1 << 1,
4818 ToggleComment = 1 << 2,
4819 };
4820 Q_ENUM( ScriptLanguageCapability )
4821
4822
4829
4836 {
4837 AboveInsertionPoint,
4838 TopOfTree,
4839 OptimalInInsertionGroup,
4840 };
4841 Q_ENUM( LayerTreeInsertionMethod )
4842
4843
4848 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4849 {
4850 SkipVisibilityCheck = 1 << 0,
4851 };
4852 Q_ENUM( LayerTreeFilterFlag )
4853
4854
4860 Q_FLAG( LayerTreeFilterFlags )
4861
4867 enum class MapLayerLegendFlag : int SIP_ENUM_BASETYPE( IntFlag )
4868 {
4869 ExcludeByDefault = 1 << 0,
4870 };
4871 Q_ENUM( MapLayerLegendFlag )
4872
4873
4879 Q_FLAG( MapLayerLegendFlags )
4880
4889 {
4890 Undefined,
4891 Hidden,
4892 Title,
4893 Group,
4894 Subgroup,
4895 Symbol,
4896 SymbolLabel,
4897 };
4898 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
4899 Q_ENUM( LegendComponent )
4900
4901
4906 enum class LegendSyncMode : int
4907 {
4908 AllProjectLayers,
4909 VisibleLayers,
4910 Manual,
4911 };
4912 Q_ENUM( LegendSyncMode )
4913
4914
4921 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4922 {
4923 ShowRuleDetails = 1 << 0,
4924 };
4925 Q_ENUM( LegendJsonRenderFlag )
4927 Q_FLAG( LegendJsonRenderFlags )
4928
4936 enum class ActionType : int
4937 {
4938 Invalid,
4939 MapLayerAction,
4940 AttributeAction
4941 };
4942 Q_ENUM( ActionType )
4943
4944
4951 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
4952 {
4953 Layer = 1 << 0,
4954 SingleFeature = 1 << 1,
4955 MultipleFeatures = 1 << 2,
4956 AllActions = Layer | SingleFeature | MultipleFeatures
4957 };
4958 Q_ENUM( MapLayerActionTarget )
4959
4960
4968 Q_FLAG( MapLayerActionTargets )
4969
4977 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4978 {
4979 EnabledOnlyWhenEditable = 1 << 1,
4980 EnableOnlyWhenHasGeometry = 1 << 2,
4981 };
4982 Q_ENUM( MapLayerActionFlag )
4983
4984
4992 Q_FLAG( MapLayerActionFlags )
4993
5002 {
5003 Generic,
5004 GenericPython,
5005 Mac,
5006 Windows,
5007 Unix,
5008 OpenUrl,
5009 SubmitUrlEncoded,
5010 SubmitUrlMultipart,
5011 };
5012 Q_ENUM( AttributeActionType )
5013
5014
5020 {
5021 Created,
5022 Published,
5023 Revised,
5024 Superseded,
5025 };
5026 Q_ENUM( MetadataDateType )
5027
5028
5037
5039 {
5040 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
5041 GrayIndex = 1,
5042 PaletteIndex = 2,
5043 RedBand = 3,
5044 GreenBand = 4,
5045 BlueBand = 5,
5046 AlphaBand = 6,
5047 HueBand = 7,
5048 SaturationBand = 8,
5049 LightnessBand = 9,
5050 CyanBand = 10,
5051 MagentaBand = 11,
5052 YellowBand = 12,
5053 BlackBand = 13,
5054 YCbCr_YBand = 14,
5055 YCbCr_CbBand = 15,
5056 YCbCr_CrBand = 16,
5057 ContinuousPalette = 17,
5058
5059 // Note: values between PanBand and SAR_P_Band match additions done in
5060 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
5061
5062 PanBand = 18,
5063 CoastalBand = 19,
5064 RedEdgeBand = 20,
5065 NIRBand = 21,
5066 SWIRBand = 22,
5067 MWIRBand = 23,
5068 LWIRBand = 24,
5069 TIRBand = 25,
5070 OtherIRBand = 26,
5071 SAR_Ka_Band = 27,
5072 SAR_K_Band = 28,
5073 SAR_Ku_Band = 30,
5074 SAR_X_Band = 31,
5075 SAR_C_Band = 32,
5076 SAR_S_Band = 33,
5077 SAR_L_Band = 34,
5078 SAR_P_Band = 35,
5079 };
5080 Q_ENUM( RasterColorInterpretation )
5081
5082
5090 {
5091 GrayOrUndefined,
5092 Palette,
5093 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
5094 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
5095 };
5096 Q_ENUM( RasterLayerType )
5097
5098
5106 {
5107 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
5108 SingleBandGray,
5109 SingleBandPseudoColor,
5110 PalettedColor,
5111 PalettedSingleBandGray,
5112 PalettedSingleBandPseudoColor,
5113 PalettedMultiBandColor,
5114 MultiBandSingleBandGray,
5115 MultiBandSingleBandPseudoColor,
5116 MultiBandColor,
5117 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
5118 };
5119 Q_ENUM( RasterDrawingStyle )
5120
5121
5128 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
5129 {
5130 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
5131 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
5132 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
5133 };
5134 Q_ENUM( RasterPyramidFormat )
5135
5136
5144 {
5145 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
5146 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
5147 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
5148 };
5149 Q_ENUM( RasterBuildPyramidOption )
5150
5151
5159 {
5160 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
5161 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
5162 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
5163 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
5164 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
5165 };
5166 Q_ENUM( RasterIdentifyFormat )
5167
5168 // TODO QGIS 5 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
5169 // remove deprecated members
5170 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
5171
5172
5180 {
5181 NoCapabilities = 0,
5182 Size = 1 << 1,
5183 Create = 1 << 2,
5184 Remove = 1 << 3,
5185 BuildPyramids = 1 << 4,
5186 Identify = 1 << 5,
5187 IdentifyValue = 1 << 6,
5188 IdentifyText = 1 << 7,
5189 IdentifyHtml = 1 << 8,
5190 IdentifyFeature = 1 << 9,
5191 Prefetch = 1 << 10,
5192 };
5193 Q_ENUM( RasterInterfaceCapability )
5194
5195
5202
5203 // TODO QGIS 5 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
5204
5213 {
5214 NoProviderCapabilities = 0,
5215 ReadLayerMetadata = 1 << 1,
5216 WriteLayerMetadata = 1 << 2,
5217 ProviderHintBenefitsFromResampling = 1 << 3,
5218 ProviderHintCanPerformProviderResampling = 1 << 4,
5219 ReloadData = 1 << 5,
5220 DpiDependentData = 1 << 6,
5221 NativeRasterAttributeTable = 1 << 7,
5222 BuildPyramids = 1 << 8,
5223 };
5224 Q_ENUM( RasterProviderCapability )
5225
5226
5235
5242 {
5243 HighestElevation,
5244 NewerElevation,
5245 };
5246 Q_ENUM( ElevationMapCombineMethod )
5247
5248
5257 {
5258 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
5259 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
5260 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
5261 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
5262 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
5263 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
5264 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
5266 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
5267 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
5268 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
5269 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
5270 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
5271 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
5272 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
5273 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
5274 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
5275 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
5276 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
5277 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
5278 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
5279 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
5280 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
5282 };
5283 Q_ENUM( BlendMode )
5284
5285
5293 {
5294 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
5295 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
5296 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
5297 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
5298 };
5299 Q_ENUM( SystemOfMeasurement )
5300
5301
5308 {
5309 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
5310 Pixels,
5311 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
5312 };
5313 Q_ENUM( MapToolUnit )
5314
5315
5323 {
5324 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
5326 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
5327 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
5328 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
5329 };
5330 Q_ENUM( UnitType )
5331
5332
5340 {
5341 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
5342 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
5343 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
5344 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
5345 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
5346 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
5347 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
5348 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
5349 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
5350 Inches,
5351 ChainsInternational,
5352 ChainsBritishBenoit1895A,
5353 ChainsBritishBenoit1895B,
5354 ChainsBritishSears1922Truncated,
5355 ChainsBritishSears1922,
5356 ChainsClarkes,
5357 ChainsUSSurvey,
5358 FeetBritish1865,
5359 FeetBritish1936,
5360 FeetBritishBenoit1895A,
5361 FeetBritishBenoit1895B,
5362 FeetBritishSears1922Truncated,
5363 FeetBritishSears1922,
5364 FeetClarkes,
5365 FeetGoldCoast,
5366 FeetIndian,
5367 FeetIndian1937,
5368 FeetIndian1962,
5369 FeetIndian1975,
5370 FeetUSSurvey,
5371 LinksInternational,
5372 LinksBritishBenoit1895A,
5373 LinksBritishBenoit1895B,
5374 LinksBritishSears1922Truncated,
5375 LinksBritishSears1922,
5376 LinksClarkes,
5377 LinksUSSurvey,
5378 YardsBritishBenoit1895A,
5379 YardsBritishBenoit1895B,
5380 YardsBritishSears1922Truncated,
5381 YardsBritishSears1922,
5382 YardsClarkes,
5383 YardsIndian,
5384 YardsIndian1937,
5385 YardsIndian1962,
5386 YardsIndian1975,
5387 MilesUSSurvey,
5388 Fathoms,
5389 MetersGermanLegal,
5390 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
5391 };
5392 Q_ENUM( DistanceUnit )
5393
5394
5402 {
5403 Standard,
5404 Geographic,
5405 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
5406 };
5407 Q_ENUM( DistanceUnitType )
5408
5409
5417 {
5418 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
5419 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
5420 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
5421 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
5422 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
5423 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
5424 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
5425 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
5426 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
5427 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
5428 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
5429 SquareInches,
5430 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
5431 };
5432 Q_ENUM( AreaUnit )
5433
5434
5442 {
5443 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
5444 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
5445 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
5446 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
5447 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
5448 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
5449 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
5450 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
5451 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
5452 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
5453 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
5454 };
5455 Q_ENUM( VolumeUnit )
5456
5457
5465 {
5466 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
5467 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
5469 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
5470 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
5472 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
5473 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
5474 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
5475 };
5476 Q_ENUM( AngleUnit )
5477
5478
5486 {
5487 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5488 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5489 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5490 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5491 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5492 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5493 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5494 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5495 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5496 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5497 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5498 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5499 };
5500 Q_ENUM( TemporalUnit )
5501
5502
5510 {
5511 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5512 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5513 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5514 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5515 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
5516 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5517 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5518 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5519 };
5520 Q_ENUM( RenderUnit )
5521
5522
5530 {
5531 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5532 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5533 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5534 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5535 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5536 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
5537 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5538 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5539 };
5540 Q_ENUM( LayoutUnit )
5541
5542
5550 {
5551 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5552 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5553 };
5554 Q_ENUM( LayoutUnitType )
5555
5556
5564 {
5565 Debug SIP_MONKEYPATCH_COMPAT_NAME( FlagDebug ) = 1 << 1,
5566 OutlineOnly SIP_MONKEYPATCH_COMPAT_NAME( FlagOutlineOnly ) = 1 << 2,
5567 Antialiasing SIP_MONKEYPATCH_COMPAT_NAME( FlagAntialiasing ) = 1 << 3,
5568 UseAdvancedEffects SIP_MONKEYPATCH_COMPAT_NAME( FlagUseAdvancedEffects ) = 1 << 4,
5569 ForceVectorOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagForceVectorOutput )
5570 = 1 << 5,
5571 HideCoverageLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagHideCoverageLayer ) = 1 << 6,
5572 DrawSelection SIP_MONKEYPATCH_COMPAT_NAME( FlagDrawSelection ) = 1 << 7,
5573 DisableTiledRasterLayerRenders SIP_MONKEYPATCH_COMPAT_NAME( FlagDisableTiledRasterLayerRenders )
5574 = 1 << 8,
5575 RenderLabelsByMapLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagRenderLabelsByMapLayer )
5576 = 1 << 9,
5577 LosslessImageRendering SIP_MONKEYPATCH_COMPAT_NAME( FlagLosslessImageRendering )
5578 = 1 << 10,
5579 SynchronousLegendGraphics SIP_MONKEYPATCH_COMPAT_NAME( FlagSynchronousLegendGraphics ) = 1 << 11,
5580 AlwaysUseGlobalMasks SIP_MONKEYPATCH_COMPAT_NAME( FlagAlwaysUseGlobalMasks )
5581 = 1 << 12,
5582 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5583 };
5584 Q_ENUM( LayoutRenderFlag )
5585
5586
5594 Q_FLAG( LayoutRenderFlags )
5595
5604 {
5605 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5606 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5607 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5608 };
5609 Q_ENUM( PictureFormat )
5610
5611
5616 enum class ScaleCalculationMethod : int
5617 {
5618 HorizontalTop = 0,
5619 HorizontalMiddle,
5620 HorizontalBottom,
5621 HorizontalAverage,
5622 AtEquator,
5623 };
5624 Q_ENUM( ScaleCalculationMethod )
5625
5626
5639 Q_ENUM( ScaleBarAlignment )
5640
5641
5649 {
5650 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5651 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5652 };
5653 Q_ENUM( ScaleBarSegmentSizeMode )
5654
5655
5663 {
5664 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5665 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5666 };
5667 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5668
5669
5677 {
5678 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5679 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5680 };
5681 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5682
5683
5684
5692 {
5693 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( MapUnit ),
5696 DynamicPageSizeBased,
5697 };
5698 Q_ENUM( MapGridUnit )
5699
5700
5708 {
5709 Lines SIP_MONKEYPATCH_COMPAT_NAME( Solid ) = 0,
5710 LineCrosses SIP_MONKEYPATCH_COMPAT_NAME( Cross ),
5711 Markers,
5712 FrameAndAnnotationsOnly SIP_MONKEYPATCH_COMPAT_NAME( FrameAnnotationsOnly )
5713 };
5714 Q_ENUM( MapGridStyle )
5715
5716
5724 {
5725 ShowAll = 0,
5726 LatitudeOnly,
5727 LongitudeOnly,
5728 HideAll
5729 };
5730 Q_ENUM( MapGridComponentVisibility )
5731
5732
5740 {
5741 InsideMapFrame = 0,
5742 OutsideMapFrame,
5743 };
5744 Q_ENUM( MapGridAnnotationPosition )
5745
5746
5754 {
5755 Horizontal = 0,
5756 Vertical,
5757 VerticalDescending,
5758 BoundaryDirection,
5759 AboveTick,
5760 OnTick,
5761 UnderTick,
5762 };
5763 Q_ENUM( MapGridAnnotationDirection )
5764
5765
5773 {
5774 Decimal = 0,
5775 DegreeMinute,
5776 DegreeMinuteSecond,
5777 DecimalWithSuffix,
5778 DegreeMinuteNoSuffix,
5779 DegreeMinutePadded,
5780 DegreeMinuteSecondNoSuffix,
5781 DegreeMinuteSecondPadded,
5782 CustomFormat
5783 };
5784 Q_ENUM( MapGridAnnotationFormat )
5785
5786
5800 Q_ENUM( MapGridBorderSide )
5801
5802
5810 {
5811 NoFrame = 0,
5812 Zebra,
5813 InteriorTicks,
5814 ExteriorTicks,
5815 InteriorExteriorTicks,
5816 LineBorder,
5817 LineBorderNautical,
5818 ZebraNautical,
5819 };
5820 Q_ENUM( MapGridFrameStyle )
5821
5822
5830 {
5831 OrthogonalTicks = 0,
5832 NormalizedTicks,
5833 };
5834 Q_ENUM( MapGridTickLengthMode )
5835
5836
5837
5845 {
5846 Left SIP_MONKEYPATCH_COMPAT_NAME( FrameLeft ) = 0x01,
5847 Right SIP_MONKEYPATCH_COMPAT_NAME( FrameRight ) = 0x02,
5848 Top SIP_MONKEYPATCH_COMPAT_NAME( FrameTop ) = 0x04,
5849 Bottom SIP_MONKEYPATCH_COMPAT_NAME( FrameBottom ) = 0x08
5850 };
5851 Q_ENUM( MapGridFrameSideFlag )
5852
5853
5861 Q_FLAG( MapGridFrameSideFlags )
5862
5871 {
5872 Longitude = 0,
5873 Latitude
5874 };
5875 Q_ENUM( MapGridAnnotationType )
5876
5877
5882 enum class InputControllerType : int
5883 {
5884 Map2D,
5885 Map3D
5886 };
5888
5895 {
5896 NotSet,
5897 Unknown,
5898 OrdinaryTable,
5899 Index,
5900 Sequence,
5901 View,
5902 MaterializedView,
5903 CompositeType,
5904 ToastTable,
5905 ForeignTable,
5906 PartitionedTable,
5907 };
5908 Q_ENUM( PostgresRelKind )
5909
5910
5916 {
5917 SetFieldComment = 1 << 0,
5918 SetFieldAlias = 1 << 1,
5919 SetTableComment = 1 << 2,
5920 EditFieldDomain = 1 << 3,
5921 DeleteFieldDomain = 1 << 4,
5922 };
5923 Q_ENUM( DatabaseProviderConnectionCapability2 )
5926
5933 {
5934 SetGeometryColumnName = 1 << 0,
5935 SetPrimaryKeyName = 1 << 1,
5936 };
5937 Q_ENUM( DatabaseProviderTableImportCapability )
5940
5947 {
5948 SaveToDatabase = 1 << 1,
5949 LoadFromDatabase = 1 << 2,
5950 DeleteFromDatabase = 1 << 3
5951 };
5955
5956
5962 {
5963 LastProfile,
5964 DefaultProfile,
5965 AskUser,
5966 };
5967 Q_ENUM( UserProfileSelectionPolicy )
5968
5969
5977 {
5978 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
5979 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
5980 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
5981 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
5982 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
5983 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
5984 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
5985 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
5986 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
5987 };
5988 Q_ENUM( AttributeEditorType )
5989
5990
5996 {
5997 GroupBox,
5998 Tab,
5999 Row,
6000 };
6001 Q_ENUM( AttributeEditorContainerType )
6002
6003
6011 {
6012 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
6013 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
6014 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
6015 };
6016 Q_ENUM( AttributeFormLayout )
6017
6018
6026 {
6027 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
6028 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
6029 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
6030 };
6031 Q_ENUM( AttributeFormSuppression )
6032
6033
6041 {
6042 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
6043 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
6044 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
6045 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
6046 };
6047 Q_ENUM( AttributeFormPythonInitCodeSource )
6048
6049
6055 {
6056 NotAllowed = 0,
6057 AllowedDefaultOn = 1,
6058 AllowedDefaultOff = 2,
6059 };
6060 Q_ENUM( AttributeFormReuseLastValuePolicy )
6061
6062
6068 {
6070 PointCloud,
6071 RasterCalculator,
6072 };
6073 Q_ENUM( ExpressionType )
6074
6075
6083 {
6084 NoSymbology = 0,
6085 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
6086 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
6087 };
6088 Q_ENUM( FeatureSymbologyExport )
6089
6090
6095 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6096 {
6097 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6098 };
6099 Q_ENUM( VectorTileProviderFlag )
6100
6101
6107 Q_FLAG( VectorTileProviderFlags )
6108
6114 {
6115 ReadLayerMetadata = 1 << 1,
6116 };
6117 Q_ENUM( VectorTileProviderCapability )
6118
6119
6126
6133 {
6134 Available,
6135 NotAvailable,
6136 AvailableNoChildren,
6137 UseLowerZoomLevelTile,
6138 };
6139 Q_ENUM( TileAvailability )
6140
6141
6147 {
6148 ReadLayerMetadata = 1 << 1,
6149 };
6150 Q_ENUM( TiledSceneProviderCapability )
6151
6152
6159
6166 {
6167 Region,
6168 OrientedBox,
6169 Sphere,
6170 };
6171 Q_ENUM( TiledSceneBoundingVolumeType )
6172
6173
6182 {
6183 Replacement,
6184 Additive,
6185 };
6186 Q_ENUM( TileRefinementProcess )
6187
6188
6194 {
6195 NoChildren,
6196 Available,
6197 NeedFetching,
6198 };
6199 Q_ENUM( TileChildrenAvailability )
6200
6201
6206 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
6207 {
6208 NoHierarchyFetch = 1 << 0,
6209 };
6210 Q_ENUM( TiledSceneRequestFlag )
6211
6212
6218 Q_FLAG( TiledSceneRequestFlags )
6219
6225 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
6226 {
6227 RequiresTextures = 1 << 0,
6228 ForceRasterRender = 1 << 1,
6229 RendersTriangles = 1 << 2,
6230 RendersLines = 1 << 3,
6231 };
6232 Q_ENUM( TiledSceneRendererFlag )
6233
6234
6240 Q_FLAG( TiledSceneRendererFlags )
6241
6247 enum class GdalResampleAlgorithm : int
6248 {
6249 RA_NearestNeighbour = 0,
6250 RA_Bilinear = 1,
6251 RA_Cubic = 2,
6252 RA_CubicSpline = 3,
6253 RA_Lanczos = 4,
6254 RA_Average = 5,
6255 RA_Mode = 6,
6256 RA_Max = 8,
6257 RA_Min = 9,
6258 RA_Median = 10,
6259 RA_Q1 = 11,
6260 RA_Q3 = 12,
6261 };
6262 Q_ENUM( GdalResampleAlgorithm )
6263
6264
6269 enum class VsiHandlerType : int
6270 {
6271 Invalid,
6272 Archive,
6273 Network,
6274 Cloud,
6275 Memory,
6276 Other,
6277 };
6278 Q_ENUM( VsiHandlerType )
6279
6280 // TODO QGIS 5: make All include all values (we can't do this before 4.0, as we need to keep
6281 // compatibility with code which expects all these statistics to give numeric results)
6282
6283
6288 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
6289 {
6290 Count = 1 << 0,
6291 Sum = 1 << 1,
6292 Mean = 1 << 2,
6293 Median = 1 << 3,
6294 StDev = 1 << 4,
6295 Min = 1 << 5,
6296 Max = 1 << 6,
6297 Range = 1 << 7,
6298 Minority = 1 << 8,
6299 Majority = 1 << 9,
6300 Variety = 1 << 10,
6301 Variance = 1 << 11,
6302 MinimumPoint = 1 << 12,
6303 MaximumPoint = 1 << 13,
6304 // clang-format off
6305 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6306 // clang-format on
6307 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6308 Default = Count | Sum | Mean,
6309 };
6310 Q_ENUM( ZonalStatistic )
6311
6312
6318 Q_FLAG( ZonalStatistics )
6319
6325 enum class ZonalStatisticResult : int
6326 {
6328 LayerTypeWrong = 1,
6329 LayerInvalid,
6330 RasterInvalid,
6331 RasterBandInvalid,
6332 FailedToCreateField = 8,
6333 Canceled = 9
6334 };
6335 Q_ENUM( ZonalStatisticResult )
6336
6337
6344 {
6345 Count,
6346 CountDistinct,
6347 CountMissing,
6348 Min,
6349 Max,
6350 Sum,
6351 Mean,
6352 Median,
6353 StDev,
6354 StDevSample,
6355 Range,
6356 Minority,
6357 Majority,
6358 FirstQuartile,
6359 ThirdQuartile,
6360 InterQuartileRange,
6361 StringMinimumLength,
6362 StringMaximumLength,
6363 StringConcatenate,
6364 GeometryCollect,
6365 ArrayAggregate,
6366 StringConcatenateUnique
6367 };
6368 Q_ENUM( Aggregate )
6369
6370
6376 {
6377 Count = 1 << 0,
6378 CountMissing = 1 << 15,
6379 Sum = 1 << 1,
6380 Mean = 1 << 2,
6381 Median = 1 << 3,
6382 StDev = 1 << 4,
6383 StDevSample = 1 << 5,
6384 Min = 1 << 6,
6385 Max = 1 << 7,
6386 Range = 1 << 8,
6387 Minority = 1 << 9,
6388 Majority = 1 << 10,
6389 Variety = 1 << 11,
6390 FirstQuartile = 1 << 12,
6391 ThirdQuartile = 1 << 13,
6392 InterQuartileRange = 1 << 14,
6393 First = 1 << 16,
6394 Last = 1 << 17,
6395 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6396 };
6397 Q_ENUM( Statistic )
6398
6399
6405 Q_FLAG( Statistics )
6406
6413 {
6414 Count = 1,
6415 CountDistinct = 2,
6416 CountMissing = 4,
6417 Min = 8,
6418 Max = 16,
6419 Range = 32,
6420 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6421 };
6422 Q_ENUM( DateTimeStatistic )
6423
6424
6430 Q_FLAG( DateTimeStatistics )
6431
6438 {
6439 Count = 1,
6440 CountDistinct = 2,
6441 CountMissing = 4,
6442 Min = 8,
6443 Max = 16,
6444 MinimumLength = 32,
6445 MaximumLength = 64,
6446 MeanLength = 128,
6447 Minority = 256,
6448 Majority = 512,
6449 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6450 };
6451 Q_ENUM( StringStatistic )
6452
6453
6459 Q_FLAG( StringStatistics )
6460
6467 {
6468 NoStatistic = 0,
6469 Min = 1,
6470 Max = 1 << 1,
6471 Range = 1 << 2,
6472 Sum = 1 << 3,
6473 Mean = 1 << 4,
6474 StdDev = 1 << 5,
6475 SumOfSquares = 1 << 6,
6476 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6477 };
6478 Q_ENUM( RasterBandStatistic )
6479
6480
6486 Q_FLAG( RasterBandStatistics )
6487
6493 enum class SensorThingsEntity : int
6494 {
6495 Invalid,
6496 Thing,
6497 Location,
6498 HistoricalLocation,
6499 Datastream,
6500 Sensor,
6501 ObservedProperty,
6502 Observation,
6503 FeatureOfInterest,
6504 MultiDatastream,
6505 };
6506 Q_ENUM( SensorThingsEntity )
6507
6508
6513 enum class ColorModel : int
6514 {
6515 Rgb,
6516 Cmyk,
6517 };
6518 Q_ENUM( ColorModel )
6519
6520
6525 enum class DocumentationApi : int
6526 {
6527 PyQgis,
6528 PyQgisSearch,
6529 CppQgis,
6530 Qt,
6531 };
6532 Q_ENUM( DocumentationApi )
6533
6534
6539 enum class DocumentationBrowser : int
6540 {
6541 DeveloperToolsPanel,
6542 SystemWebBrowser,
6543 };
6544 Q_ENUM( DocumentationBrowser )
6545
6546
6551 enum class MouseHandlesAction : int
6552 {
6553 MoveItem,
6554 ResizeUp,
6555 ResizeDown,
6556 ResizeLeft,
6557 ResizeRight,
6558 ResizeLeftUp,
6559 ResizeRightUp,
6560 ResizeLeftDown,
6561 ResizeRightDown,
6562 RotateTopLeft,
6563 RotateTopRight,
6564 RotateBottomLeft,
6565 RotateBottomRight,
6566 SelectItem,
6567 NoAction
6568 };
6569 Q_ENUM( MouseHandlesAction )
6570
6571
6575 enum class MeshRangeLimit : int
6576 {
6577 NotSet,
6578 MinimumMaximum,
6579 };
6580 Q_ENUM( MeshRangeLimit )
6581
6582
6587 enum class MeshRangeExtent : int
6588 {
6589 WholeMesh,
6590 FixedCanvas,
6591 UpdatedCanvas,
6592 };
6593 Q_ENUM( MeshRangeExtent )
6594
6595
6601 enum class PointCloudAccessType : int
6602 {
6603 Local,
6604 Remote
6605 };
6606 Q_ENUM( PointCloudAccessType )
6607
6608
6613 {
6614 RenderExtents,
6615 RenderOverview,
6616 RenderOverviewAndExtents
6617 };
6618 Q_ENUM( PointCloudZoomOutRenderBehavior )
6619
6620
6625 {
6626 Standard = 0,
6627 Adaptive,
6628 AreaError,
6629 ConstantDensity
6630 };
6631 Q_ENUM( SegmentCalculationMethod )
6632
6633
6637 enum class StacObjectType : int
6638 {
6639 Unknown,
6640 Catalog,
6641 Collection,
6642 Item,
6643 };
6644 Q_ENUM( StacObjectType )
6645
6646
6651 {
6652 WmsScale = 1 << 0,
6653 WmsDpi = 1 << 1,
6654 };
6655 Q_ENUM( RasterProcessingParameterCapability )
6656
6657
6663
6669 {
6670 Status = Qt::UserRole + 1,
6671 Id,
6672 ElapsedTime,
6673 MaximumTime,
6674 Sort,
6675 };
6676 Q_ENUM( DevToolsNodeRole )
6677
6678
6683 enum class ExtrusionFace : int SIP_ENUM_BASETYPE( IntFlag )
6684 {
6685 NoFace = 0,
6686 Walls = 1 << 0,
6687 Roof = 1 << 1,
6688 Floor = 1 << 2
6689 };
6690 Q_ENUM( ExtrusionFace )
6691
6692
6696 Q_DECLARE_FLAGS( ExtrusionFaces, ExtrusionFace )
6697 Q_FLAG( ExtrusionFaces )
6698
6703 enum class TriangulationAlgorithm : int SIP_ENUM_BASETYPE( IntFlag )
6704 {
6705 ConstrainedDelaunay = 0,
6706 Earcut = 1 << 0
6707 };
6708 Q_ENUM( TriangulationAlgorithm )
6709
6710
6713 static const double DEFAULT_SEARCH_RADIUS_MM;
6714
6717
6723 static const QColor DEFAULT_HIGHLIGHT_COLOR;
6724
6728 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
6729
6734
6742 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
6743
6748 static const double DEFAULT_Z_COORDINATE;
6749
6755 static const double DEFAULT_M_COORDINATE;
6756
6761 static const double UI_SCALE_FACTOR;
6762
6766 static const double DEFAULT_SNAP_TOLERANCE;
6767
6772
6776 static const int USER_CRS_START_ID;
6777
6779 static const double DEFAULT_POINT_SIZE;
6780
6782 static const double DEFAULT_LINE_WIDTH;
6783
6785 static const double DEFAULT_SEGMENT_EPSILON;
6786
6789
6792
6798 static QString defaultProjectScales();
6799
6805 static int geosVersionInt();
6806
6812 static int geosVersionMajor();
6813
6819 static int geosVersionMinor();
6820
6826 static int geosVersionPatch();
6827
6833 static QString geosVersion();
6834
6840 static bool hasSfcgal();
6841
6848 static int sfcgalVersionInt();
6849
6855 static bool hasGeographicLib();
6856
6863 static int geographicLibVersion();
6864
6870 Q_DECL_DEPRECATED static bool hasQtWebkit();
6871
6877 static QString geoNone() { return u"NONE"_s; }
6878
6884 static QString geographicCrsAuthId() { return u"EPSG:4326"_s; }
6885
6890 Q_DECL_DEPRECATED static QString geoWkt()
6891 {
6892 return QStringLiteral(
6893 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]] )"""
6894 );
6895 }
6896
6901 Q_DECL_DEPRECATED static QString geoProj4() { return u"+proj=longlat +datum=WGS84 +no_defs"_s; }
6902};
6903
6906
7001Q_DECLARE_METATYPE( QTimeZone )
7002
7003// hack to workaround warnings when casting void pointers
7004// retrieved from QLibrary::resolve to function pointers.
7005// It's assumed that this works on all systems supporting
7006// QLibrary
7007#define cast_to_fptr( f ) f
7008
7009
7017// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7018template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
7019{
7020 public:
7025 explicit QgsSignalBlocker( Object *object )
7026 : mObject( object )
7027 , mPreviousState( object->blockSignals( true ) )
7028 {}
7029
7030 ~QgsSignalBlocker() { mObject->blockSignals( mPreviousState ); }
7031
7033 Object *operator->() { return mObject; }
7034
7035 private:
7036 Object *mObject = nullptr;
7037 bool mPreviousState;
7038};
7039
7052// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
7053template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
7054{
7055 return QgsSignalBlocker<Object>( object );
7056}
7057
7059CORE_EXPORT uint qHash( const QVariant &variant );
7060
7066inline QString qgsDoubleToString( double a, int precision = 17 )
7067{
7068 QString str;
7069 if ( precision )
7070 {
7071 if ( precision < 0 )
7072 {
7073 const double roundFactor = std::pow( 10, -precision );
7074 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7075 }
7076 else
7077 {
7078 str = QString::number( a, 'f', precision );
7079 if ( str.contains( '.'_L1 ) )
7080 {
7081 // remove ending 0s
7082 int idx = str.length() - 1;
7083 while ( str.at( idx ) == '0' && idx > 1 )
7084 {
7085 idx--;
7086 }
7087 if ( idx < str.length() - 1 )
7088 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
7089 }
7090 }
7091 }
7092 else
7093 {
7094 str = QString::number( a, 'f', precision );
7095 }
7096 // avoid printing -0
7097 // see https://bugreports.qt.io/browse/QTBUG-71439
7098 if ( str == "-0"_L1 )
7099 {
7100 return "0"_L1;
7101 }
7102 return str;
7103}
7104
7111inline bool qgsNanCompatibleEquals( double a, double b )
7112{
7113 const bool aIsNan = std::isnan( a );
7114 const bool bIsNan = std::isnan( b );
7115 if ( aIsNan || bIsNan )
7116 return aIsNan && bIsNan;
7117
7118 return a == b;
7119}
7120
7121#ifndef SIP_RUN
7122
7130template<typename T> inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7131{
7132 const bool aIsNan = std::isnan( a );
7133 const bool bIsNan = std::isnan( b );
7134 if ( aIsNan || bIsNan )
7135 return aIsNan && bIsNan;
7136
7137 const T diff = a - b;
7138 return diff >= -epsilon && diff <= epsilon;
7139}
7140#endif
7141
7148inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7149{
7150 return qgsNumberNear<double>( a, b, epsilon );
7151}
7152
7159inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
7160{
7161 return qgsNumberNear<float>( a, b, epsilon );
7162}
7163
7165inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
7166{
7167 const bool aIsNan = std::isnan( a );
7168 const bool bIsNan = std::isnan( b );
7169 if ( aIsNan || bIsNan )
7170 return aIsNan && bIsNan;
7171
7172 // The most simple would be to print numbers as %.xe and compare as strings
7173 // but that is probably too costly
7174 // Then the fastest would be to set some bits directly, but little/big endian
7175 // has to be considered (maybe TODO)
7176 // Is there a better way?
7177 int aexp, bexp;
7178 const double ar = std::frexp( a, &aexp );
7179 const double br = std::frexp( b, &bexp );
7180
7181 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7182}
7183
7188inline double qgsRound( double number, int places )
7189{
7190 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7191 const double scaleFactor = std::pow( 10.0, places );
7192 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7193}
7194
7195#ifndef SIP_RUN
7196
7203template<class Key, class Value> QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
7204{
7205 QString result;
7206 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7207 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
7208
7209 result.chop( separator.size() );
7210 return result;
7211}
7212
7219template<class Key, class Value> QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
7220{
7221 QString result;
7222 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7223 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
7224
7225 result.chop( separator.size() );
7226 return result;
7227}
7228
7235template<class T> QString qgsSetJoin( const QSet<T> &set, const QString &separator )
7236{
7237 QString result;
7238 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
7239 result += QString( "%1%2" ).arg( *it ).arg( separator );
7240
7241 result.chop( separator.size() );
7242 return result;
7243}
7244
7246
7256namespace qgis
7257{
7258
7271 template<typename To, typename From> inline To down_cast( From *f )
7272 {
7273 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ), "target type not derived from source type" );
7274 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
7275 return static_cast<To>( f );
7276 }
7277
7278 template<class T> QSet<T> listToSet( const QList<T> &list )
7279 {
7280 return QSet<T>( list.begin(), list.end() );
7281 }
7282
7283 template<class T> QList<T> setToList( const QSet<T> &set )
7284 {
7285 return QList<T>( set.begin(), set.end() );
7286 }
7287} //namespace qgis
7288
7290#endif
7291
7296template<class T> const QList<T> qgsEnumList() SIP_SKIP
7297{
7298 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7299 Q_ASSERT( metaEnum.isValid() );
7300 QList<T> enumList;
7301 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7302 {
7303 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
7304 }
7305 return enumList;
7306}
7307
7313template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
7314{
7315 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7316 Q_ASSERT( metaEnum.isValid() );
7317 QMap<T, QString> enumMap;
7318 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7319 {
7320 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7321 }
7322 return enumMap;
7323}
7324
7330template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7331{
7332 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7333 Q_ASSERT( metaEnum.isValid() );
7334 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
7335 if ( returnOk )
7336 {
7337 *returnOk = key ? true : false;
7338 }
7339 return QString::fromUtf8( key );
7340}
7341
7349template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7350{
7351 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7352 Q_ASSERT( metaEnum.isValid() );
7353 bool ok = false;
7354 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7355 if ( returnOk )
7356 {
7357 *returnOk = ok;
7358 }
7359 if ( ok )
7360 {
7361 return v;
7362 }
7363 else
7364 {
7365 // if conversion has failed, try with conversion from int value
7366 if ( tryValueAsKey )
7367 {
7368 bool canConvert = false;
7369 const int intValue = key.toInt( &canConvert );
7370 if ( canConvert && metaEnum.valueToKey( intValue ) )
7371 {
7372 if ( returnOk )
7373 {
7374 *returnOk = true;
7375 }
7376 return static_cast<T>( intValue );
7377 }
7378 }
7379 }
7380 return defaultValue;
7381}
7382
7388template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7389{
7390 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7391 Q_ASSERT( metaEnum.isValid() );
7392 int intValue = static_cast<int>( value );
7393 if ( intValue == 0 )
7394 {
7395 if ( returnOk )
7396 *returnOk = true;
7397 return u"0"_s;
7398 }
7399
7400 const QByteArray ba = metaEnum.valueToKeys( intValue );
7401 // check that the int value does correspond to a flag
7402 // see https://stackoverflow.com/a/68495949/1548052
7403 const int intValueCheck = metaEnum.keysToValue( ba );
7404 bool ok = intValue == intValueCheck;
7405 if ( returnOk )
7406 *returnOk = ok;
7407 return ok ? QString::fromUtf8( ba ) : QString();
7408}
7409
7417template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7418{
7419 if ( keys.isEmpty() )
7420 {
7421 if ( returnOk )
7422 {
7423 *returnOk = false;
7424 }
7425 return defaultValue;
7426 }
7427 else if ( keys == "0"_L1 )
7428 {
7429 if ( returnOk )
7430 {
7431 *returnOk = true;
7432 }
7433 return T();
7434 }
7435 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7436 Q_ASSERT( metaEnum.isValid() );
7437 bool ok = false;
7438 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7439 if ( returnOk )
7440 {
7441 *returnOk = ok;
7442 }
7443 if ( ok )
7444 {
7445 return v;
7446 }
7447 else
7448 {
7449 // if conversion has failed, try with conversion from int value
7450 if ( tryValueAsKey )
7451 {
7452 bool canConvert = false;
7453 const int intValue = keys.toInt( &canConvert );
7454 if ( canConvert )
7455 {
7456 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7457 const int intValueCheck = metaEnum.keysToValue( keyArray );
7458 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7459 {
7460 if ( returnOk )
7461 {
7462 *returnOk = true;
7463 }
7464 return T( intValue );
7465 }
7466 }
7467 }
7468 }
7469 return defaultValue;
7470}
7471
7472
7481CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
7482
7491CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
7492
7502CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
7503
7523CORE_EXPORT int qgsVariantCompare( const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck = false );
7524
7535CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
7536
7545CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
7546
7555CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
7556
7568inline bool operator>( const QVariant &v1, const QVariant &v2 )
7569{
7570 return qgsVariantCompare( v1, v2, true ) > 0;
7571}
7572
7584inline bool operator<( const QVariant &v1, const QVariant &v2 )
7585{
7586 return qgsVariantCompare( v1, v2, true ) < 0;
7587}
7588
7595Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
7596
7602void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
7603
7608void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
7609
7610#ifndef SIP_RUN
7611
7613class ScopedIntIncrementor
7614{
7615 public:
7616 ScopedIntIncrementor( int *variable )
7617 : mVariable( variable )
7618 {
7619 ( *mVariable )++;
7620 }
7621
7622 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
7623 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
7624
7625 void release()
7626 {
7627 if ( mVariable )
7628 ( *mVariable )--;
7629
7630 mVariable = nullptr;
7631 }
7632
7633 ~ScopedIntIncrementor() { release(); }
7634
7635 private:
7636 int *mVariable = nullptr;
7637};
7639
7640#endif
7641
7647Q_DECL_DEPRECATED const long GEOSRID = 4326;
7648
7654Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
7655
7661Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
7662
7663typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
7664
7673typedef unsigned long long qgssize;
7674
7675#ifndef SIP_RUN
7676#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
7677
7678#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
7679#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
7680#define Q_NOWARN_UNREACHABLE_PUSH
7681#define Q_NOWARN_UNREACHABLE_POP
7682
7683#elif defined( _MSC_VER )
7684
7685#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
7686#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
7687#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
7688#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
7689#else
7690
7691#define Q_NOWARN_DEPRECATED_PUSH
7692#define Q_NOWARN_DEPRECATED_POP
7693#define Q_NOWARN_UNREACHABLE_PUSH
7694#define Q_NOWARN_UNREACHABLE_POP
7695
7696#endif
7697#endif
7698
7699#ifndef QGISEXTERN
7700#ifdef Q_OS_WIN
7701#define QGISEXTERN extern "C" __declspec( dllexport )
7702#else
7703#if defined( __GNUC__ ) || defined( __clang__ )
7704#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
7705#else
7706#define QGISEXTERN extern "C"
7707#endif
7708#endif
7709#endif
7710#endif
7711
7712#ifndef SIP_RUN
7713#ifdef _MSC_VER
7714#define BUILTIN_UNREACHABLE __assume( false );
7715#elif defined( __GNUC__ ) && !defined( __clang__ )
7716// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
7717// like:
7718// switch( mVariableThatCanOnlyBeXorY )
7719// {
7720// case X:
7721// return "foo";
7722// case Y:
7723// return "foo";
7724// }
7725// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
7726#define BUILTIN_UNREACHABLE __builtin_unreachable();
7727#else
7728#define BUILTIN_UNREACHABLE
7729#endif
7730#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:5830
DistanceUnitType
Types of distance units.
Definition qgis.h:5402
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:4501
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:6771
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:5860
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:4585
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:5938
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:5308
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:6782
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:5677
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4529
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:6733
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:5233
ExpressionType
Expression types.
Definition qgis.h:6068
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4978
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5663
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:6651
BufferSide
Side of line to buffer.
Definition qgis.h:2217
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1589
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4967
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:6114
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:6788
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:6096
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:4629
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:4766
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:6748
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:5323
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:4386
LayoutUnit
Layout measurement units.
Definition qgis.h:5530
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4719
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:4607
LegendComponent
Component of legends which can be styled.
Definition qgis.h:4889
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:6458
BrowserItemState
Browser item states.
Definition qgis.h:986
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:5996
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:6157
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:6055
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:4360
Statistic
Available generic statistics.
Definition qgis.h:6376
TriangulationAlgorithm
Triangulation algorithms.
Definition qgis.h:6704
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:796
AngleUnit
Units of angles.
Definition qgis.h:5465
MapGridAnnotationPosition
Position for map grid annotations.
Definition qgis.h:5740
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:6026
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:152
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4859
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4836
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:5213
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:5933
LineClipMode
Line clipping modes.
Definition qgis.h:3444
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
Definition qgis.h:6766
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:6270
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:5916
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:4507
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
Definition qgis.h:4878
MapGridUnit
Units for map grid values.
Definition qgis.h:5692
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:5090
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
Definition qgis.h:6755
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:440
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5634
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:5129
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
DistanceUnit
Units of distance.
Definition qgis.h:5340
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:6576
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:4907
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:6661
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:6041
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:6728
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3639
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4849
ExtrusionFace
Extrusion face types for the QgsTessellator.
Definition qgis.h:6684
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:6011
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:6248
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:6723
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:5242
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
Definition qgis.h:6742
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:5106
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:6791
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:6588
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:4619
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:5200
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:5002
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:5417
StringStatistic
Available string statistics.
Definition qgis.h:6438
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:6289
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:5794
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:6890
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:5845
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:6166
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:6696
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:5724
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:6494
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:4657
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:4937
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:5947
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4556
MarkerShape
Marker shapes.
Definition qgis.h:3261
StacObjectType
Available types of stac objects.
Definition qgis.h:6638
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:4922
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:5257
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:5604
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:5486
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:5593
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:6133
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:4287
MapGridStyle
Map grid drawing styles.
Definition qgis.h:5708
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:6901
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:4705
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4815
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:5180
JoinStyle
Join styles for buffers.
Definition qgis.h:2242
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4541
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:6485
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:5962
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
Definition qgis.h:6716
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:6226
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:4952
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1559
MapLayerLegendFlag
Map layer legend flags.
Definition qgis.h:4868
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:6326
ScriptLanguage
Scripting languages.
Definition qgis.h:4792
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:4452
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:6147
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:4489
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:6467
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:6124
AuthConfigurationStorageCapability
Authentication configuration storage capabilities.
Definition qgis.h:107
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6317
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:6540
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:5293
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:4439
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2856
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4745
SkyboxCubeMapping
Skybox texture cube mapping for distinct texture skyboxes.
Definition qgis.h:4399
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:5144
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:563
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4414
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:6194
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:6613
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:6404
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:4304
RenderUnit
Rendering size units.
Definition qgis.h:5510
QFlags< ArcGisRestServiceCapability > ArcGisRestServiceCapabilities
Available ArcGIS REST service capabilities.
Definition qgis.h:4694
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:6884
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:5617
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:6217
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:4991
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:5649
Aggregate
Available aggregates to calculate.
Definition qgis.h:6344
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:6713
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:4638
LayoutUnitType
Types of layout units.
Definition qgis.h:5550
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:5871
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:6207
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:6785
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:4731
GradientType
Gradient types.
Definition qgis.h:3373
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4827
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4477
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:4757
ArcGisRestServiceCapability
Available ArcGIS REST service capabilities.
Definition qgis.h:4678
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:804
VolumeUnit
Units of volume.
Definition qgis.h:5442
CurvedTextFlag
Flags controlling behavior of curved text generation.
Definition qgis.h:3158
AttributeEditorType
Attribute editor types.
Definition qgis.h:5977
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:4926
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:5953
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:5810
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:6602
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4516
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:4219
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4571
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:5039
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
Definition qgis.h:6776
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4464
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:6514
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:5895
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:6625
GpsConnectionType
GPS connection types.
Definition qgis.h:1980
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:5924
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:6552
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:6877
DevToolsNodeRole
Dev tools node custom data roles.
Definition qgis.h:6669
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:6106
SymbolConverterCapability
Symbol converter capabilities.
Definition qgis.h:813
MetadataDateType
Date types for metadata.
Definition qgis.h:5020
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:5159
MapGridAnnotationDirection
Direction of grid annotations.
Definition qgis.h:5754
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:6182
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:6429
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1878
InputControllerType
Input controller types.
Definition qgis.h:5883
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:6239
MapGridAnnotationFormat
Format for displaying map grid annotations.
Definition qgis.h:5773
DocumentationApi
Documentation API.
Definition qgis.h:6526
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
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4427
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:4779
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:6761
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:6083
QFlags< LayerFilter > LayerFilters
Definition qgis.h:243
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:4018
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:6413
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:4375
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:6779
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:5564
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:7019
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:7033
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:7025
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:7654
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:7568
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:7647
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:7349
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:7066
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:7219
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:7330
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:7388
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:7203
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:7417
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:7673
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:7313
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
Definition qgis.h:7159
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:7235
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:7296
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:7188
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:7148
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:7111
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:7053
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:7663
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7661
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:7165
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:7130
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:7584
#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