QGIS API Documentation 4.1.0-Master (467af3bbe65)
Loading...
Searching...
No Matches
qgis.h
Go to the documentation of this file.
1/***************************************************************************
2 qgis.h - QGIS namespace
3 -------------------
4 begin : Sat Jun 30 2002
5 copyright : (C) 2002 by Gary E.Sherman
6 email : sherman at mrcc.com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGIS_H
19#define QGIS_H
20
21
22#include <cfloat>
23#include <cmath>
24#include <memory>
25
26#include "qgis_core.h"
27#include "qgis_sip.h"
28
29#include <QMetaEnum>
30#include <QString>
31#include <QTimeZone>
32
33using namespace Qt::StringLiterals;
34
35#ifdef SIP_RUN
36// clang-format off
37% ModuleHeaderCode
38#include <qgis.h>
39% End
40
41% ModuleCode
42int QgisEvent = QEvent::User + 1;
43% End
44// clang-format on
45#endif
46
47#ifndef SIP_RUN
48// qHash implementation for scoped enum type
49// https://gitlab.com/frostasm/programming-knowledge-base/-/snippets/20120
50#define QHASH_FOR_CLASS_ENUM( T ) \
51 inline uint qHash( const T &t, uint seed ) \
52 { \
53 return ::qHash( static_cast<typename std::underlying_type<T>::type>( t ), seed ); \
54 }
55#endif
56
61 class CORE_EXPORT Qgis
62{
63 Q_GADGET
64 Q_CLASSINFO( "RegisterEnumClassesUnscoped", "false" )
65
66 public:
72 static QString version();
73
79 static int versionInt();
80
86 static QString releaseName();
87
89 static const char *QGIS_DEV_VERSION;
90
96 static QString devVersion();
97
98 // Enumerations
99 //
100
107 {
108 ClearStorage = 1 << 0,
109
110 ReadConfiguration = 1 << 1,
111 UpdateConfiguration = 1 << 2,
112 DeleteConfiguration = 1 << 3,
113 CreateConfiguration = 1 << 4,
114
115 ReadCertificateIdentity = 1 << 5,
116 UpdateCertificateIdentity = 1 << 6,
117 DeleteCertificateIdentity = 1 << 7,
118 CreateCertificateIdentity = 1 << 8,
119
120 ReadSslCertificateCustomConfig = 1 << 9,
121 UpdateSslCertificateCustomConfig = 1 << 10,
122 DeleteSslCertificateCustomConfig = 1 << 11,
123 CreateSslCertificateCustomConfig = 1 << 12,
124
125 ReadCertificateAuthority = 1 << 13,
126 UpdateCertificateAuthority = 1 << 14,
127 DeleteCertificateAuthority = 1 << 15,
128 CreateCertificateAuthority = 1 << 16,
129
130 ReadCertificateTrustPolicy = 1 << 17,
131 UpdateCertificateTrustPolicy = 1 << 18,
132 DeleteCertificateTrustPolicy = 1 << 19,
133 CreateCertificateTrustPolicy = 1 << 20,
134
135 ReadMasterPassword = 1 << 21,
136 UpdateMasterPassword = 1 << 22,
137 DeleteMasterPassword = 1 << 23,
138 CreateMasterPassword = 1 << 24,
139
140 ReadSetting = 1 << 25,
141 UpdateSetting = 1 << 26,
142 DeleteSetting = 1 << 27,
143 CreateSetting = 1 << 28,
144
145 };
146 Q_ENUM( AuthConfigurationStorageCapability )
147
148
154
160 {
161 Info = 0,
166 };
167 Q_ENUM( MessageLevel )
168
169
175 {
176 PlainText SIP_MONKEYPATCH_COMPAT_NAME( MessageText ),
177 Html SIP_MONKEYPATCH_COMPAT_NAME( MessageHtml ),
178 };
179 Q_ENUM( StringFormat )
180
181
186 enum class NetworkRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
187 {
188 DisableMessageLogging = 1 << 0,
189 };
190 Q_ENUM( NetworkRequestFlag )
191
192
198 Q_FLAG( NetworkRequestFlags )
199
206 {
207 Vector SIP_MONKEYPATCH_COMPAT_NAME( VectorLayer ),
208 Raster SIP_MONKEYPATCH_COMPAT_NAME( RasterLayer ),
209 Plugin SIP_MONKEYPATCH_COMPAT_NAME( PluginLayer ),
210 Mesh SIP_MONKEYPATCH_COMPAT_NAME( MeshLayer ),
211 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( VectorTileLayer ),
212 Annotation SIP_MONKEYPATCH_COMPAT_NAME( AnnotationLayer ),
213 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( PointCloudLayer ),
214 Group SIP_MONKEYPATCH_COMPAT_NAME( GroupLayer ),
215 TiledScene,
216 };
217 Q_ENUM( LayerType )
218
219
225 {
226 RasterLayer = 1,
227 NoGeometry = 2,
228 PointLayer = 4,
229 LineLayer = 8,
230 PolygonLayer = 16,
231 HasGeometry = PointLayer | LineLayer | PolygonLayer,
232 VectorLayer = NoGeometry | HasGeometry,
233 PluginLayer = 32,
234 WritableLayer = 64,
235 MeshLayer = 128,
236 VectorTileLayer = 256,
237 PointCloudLayer = 512,
238 AnnotationLayer = 1024,
239 TiledSceneLayer = 2048,
240 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
241 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
242 };
243 Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
244 Q_FLAG( LayerFilters )
245
246
251 enum class LoadStyleFlag : int SIP_ENUM_BASETYPE( IntFlag )
252 {
253 IgnoreMissingStyleErrors
254 = 1 << 0,
255 };
256 Q_ENUM( LoadStyleFlag )
257
258
263 Q_DECLARE_FLAGS( LoadStyleFlags, LoadStyleFlag )
264 Q_FLAG( LoadStyleFlags )
265
294 {
295 Unknown = 0,
296 Point = 1,
297 LineString = 2,
298 Polygon = 3,
299 Triangle = 17,
300 MultiPoint = 4,
301 MultiLineString = 5,
302 MultiPolygon = 6,
303 GeometryCollection = 7,
304 CircularString = 8,
305 CompoundCurve = 9,
306 CurvePolygon = 10,
307 MultiCurve = 11,
308 MultiSurface = 12,
309 PolyhedralSurface = 15,
310 TIN = 16,
311 NurbsCurve = 21,
312 NoGeometry = 100,
313 PointZ = 1001,
314 LineStringZ = 1002,
315 PolygonZ = 1003,
316 TriangleZ = 1017,
317 MultiPointZ = 1004,
318 MultiLineStringZ = 1005,
319 MultiPolygonZ = 1006,
320 GeometryCollectionZ = 1007,
321 CircularStringZ = 1008,
322 CompoundCurveZ = 1009,
323 CurvePolygonZ = 1010,
324 MultiCurveZ = 1011,
325 MultiSurfaceZ = 1012,
326 PolyhedralSurfaceZ = 1015,
327 TINZ = 1016,
328 NurbsCurveZ = 1021,
329 PointM = 2001,
330 LineStringM = 2002,
331 PolygonM = 2003,
332 TriangleM = 2017,
333 MultiPointM = 2004,
334 MultiLineStringM = 2005,
335 MultiPolygonM = 2006,
336 GeometryCollectionM = 2007,
337 CircularStringM = 2008,
338 CompoundCurveM = 2009,
339 CurvePolygonM = 2010,
340 MultiCurveM = 2011,
341 MultiSurfaceM = 2012,
342 PolyhedralSurfaceM = 2015,
343 TINM = 2016,
344 NurbsCurveM = 2021,
345 PointZM = 3001,
346 LineStringZM = 3002,
347 PolygonZM = 3003,
348 MultiPointZM = 3004,
349 MultiLineStringZM = 3005,
350 MultiPolygonZM = 3006,
351 GeometryCollectionZM = 3007,
352 CircularStringZM = 3008,
353 CompoundCurveZM = 3009,
354 CurvePolygonZM = 3010,
355 MultiCurveZM = 3011,
356 MultiSurfaceZM = 3012,
357 PolyhedralSurfaceZM = 3015,
358 TINZM = 3016,
359 TriangleZM = 3017,
360 NurbsCurveZM = 3021,
361 Point25D = 0x80000001,
362 LineString25D,
363 Polygon25D,
364 MultiPoint25D,
365 MultiLineString25D,
366 MultiPolygon25D
367 };
368 Q_ENUM( WkbType )
369
370
379 {
380 Point SIP_MONKEYPATCH_COMPAT_NAME( PointGeometry ),
381 Line SIP_MONKEYPATCH_COMPAT_NAME( LineGeometry ),
382 Polygon SIP_MONKEYPATCH_COMPAT_NAME( PolygonGeometry ),
383 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownGeometry ),
384 Null SIP_MONKEYPATCH_COMPAT_NAME( NullGeometry ),
385 };
386 Q_ENUM( GeometryType )
387
388
393 {
394 UnknownDataType = 0,
395 Byte = 1,
396 Int8 = 14,
397 UInt16 = 2,
398 Int16 = 3,
399 UInt32 = 4,
400 Int32 = 5,
401 Float32 = 6,
402 Float64 = 7,
403 CInt16 = 8,
404 CInt32 = 9,
405 CFloat32 = 10,
406 CFloat64 = 11,
407 ARGB32 = 12,
408 ARGB32_Premultiplied = 13
409 };
410 Q_ENUM( DataType )
411
412
417 enum class CaptureTechnique : int
418 {
419 StraightSegments,
420 CircularString,
421 Streaming,
422 Shape,
423 PolyBezier,
424 NurbsCurve,
425 };
426 Q_ENUM( CaptureTechnique )
427
428
429
434 enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
435 {
436 SqlQuery = 1 << 0
437 };
438 Q_ENUM( VectorLayerTypeFlag )
441 Q_FLAG( VectorLayerTypeFlags )
442
447 enum class EmbeddedScriptMode SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, PythonMacroMode ) : int
448 {
449 Never = 0,
450 Ask = 1,
451 SessionOnly = 2,
452 Always = 3,
453 NotForThisSession = 4,
454 NeverAsk = 5,
455 };
456 Q_ENUM( EmbeddedScriptMode )
457
458
462 enum class EmbeddedScriptType : int
463 {
464 Macro = 0,
465 ExpressionFunction = 1,
466 Action = 2,
467 FormInitCode = 3,
468 };
469 Q_ENUM( EmbeddedScriptType )
470
471
475 enum class ProjectTrustStatus : int
476 {
477 Undetermined = 0,
478 Trusted = 1,
479 Untrusted = 2,
480 };
481 Q_ENUM( ProjectTrustStatus )
482
483
491 {
492 TrustDataSource SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustDataSource )
493 = 1 << 0,
494 SkipFeatureCount = 1 << 1,
495 LoadDefaultStyle SIP_MONKEYPATCH_COMPAT_NAME( FlagLoadDefaultStyle ) = 1 << 2,
496 SkipGetExtent = 1 << 3,
497 SkipFullScan = 1 << 4,
498 ForceReadOnly = 1 << 5,
499 SkipCredentialsRequest
500 = 1 << 6,
501 ParallelThreadLoading = 1 << 7,
502 };
503 Q_ENUM( DataProviderReadFlag )
504
505
513 Q_FLAG( DataProviderReadFlags )
514
515 // TODO QGIS 5 -- remove NoCapabilities and rely on VectorProviderCapabilities() instead
516
525 {
526 NoCapabilities = 0,
527 AddFeatures = 1,
528 DeleteFeatures = 1 << 1,
529 ChangeAttributeValues = 1 << 2,
530 AddAttributes = 1 << 3,
531 DeleteAttributes = 1 << 4,
532 CreateSpatialIndex = 1 << 6,
533 SelectAtId = 1 << 7,
534 ChangeGeometries = 1 << 8,
535 SelectEncoding = 1 << 13,
536 CreateAttributeIndex = 1 << 12,
537 SimplifyGeometries = 1 << 14,
538 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
539 TransactionSupport = 1 << 16,
540 CircularGeometries = 1 << 17,
541 ChangeFeatures = 1 << 18,
542 RenameAttributes = 1 << 19,
543 FastTruncate = 1 << 20,
544 ReadLayerMetadata = 1 << 21,
545 WriteLayerMetadata = 1 << 22,
546 CancelSupport = 1 << 23,
547 CreateRenderer = 1 << 24,
548 CreateLabeling = 1 << 25,
549 ReloadData = 1 << 26,
550 FeatureSymbology = 1 << 27,
551 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
552 };
553 Q_ENUM( VectorProviderCapability )
554
555
564
571 {
572 Uncounted = -2,
573 UnknownCount = -1,
574 };
575 Q_ENUM( FeatureCountState )
576
577
584 {
585 Unknown SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexUnknown ) = 0,
586 NotPresent SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexNotPresent ) = 1,
587 Present SIP_MONKEYPATCH_COMPAT_NAME( SpatialIndexPresent ) = 2,
588 };
589 Q_ENUM( SpatialIndexPresence )
590
591
603 {
604 NoFeaturesAvailable = 0,
605 FeaturesAvailable,
606 FeaturesMaybeAvailable
607 };
608 Q_ENUM( FeatureAvailability )
609
610
616 {
617 EditAlias = 1 << 0,
618 EditComment = 1 << 1,
619 };
620
621 Q_ENUM( VectorDataProviderAttributeEditCapability )
622
623
630
636 {
637 Marker,
638 Line,
639 Fill,
640 Hybrid
641 };
642 Q_ENUM( SymbolType )
643
644
650 {
651 ScaleArea,
652 ScaleDiameter
653 };
654 Q_ENUM( ScaleMethod )
655
656
661 {
662 Custom,
663 Variant,
664 String,
665 StringList,
666 VariantMap,
667 Bool,
668 Integer,
669 Double,
670 EnumFlag,
671 Color
672 };
673 Q_ENUM( SettingsType )
674
675
680 {
681 Root,
682 Standard,
683 NamedList,
684 };
685 Q_ENUM( SettingsTreeNodeType )
686
687
691 enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
692 {
693 NamedListSelectedItemSetting = 1 << 0,
694 };
695
696 Q_ENUM( SettingsTreeNodeOption )
699
708 {
709 Invalid SIP_MONKEYPATCH_COMPAT_NAME( InvalidProperty ),
710 Static SIP_MONKEYPATCH_COMPAT_NAME( StaticProperty ),
711 Field SIP_MONKEYPATCH_COMPAT_NAME( FieldBasedProperty ),
712 Expression SIP_MONKEYPATCH_COMPAT_NAME( ExpressionBasedProperty ),
713 };
714 Q_ENUM( PropertyType )
715
716
721 enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
722 {
723 NoOptions = 0,
724 Svg = 1 << 0,
725 Png = 1 << 1,
726 };
727 Q_ENUM( SldExportOption )
729 Q_FLAG( SldExportOptions )
730
736 enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
737 {
738 NoVendorExtension = 0,
739 GeoServerVendorExtension = 1 << 1,
740 DeegreeVendorExtension = 1 << 2,
741 };
742 Q_ENUM( SldExportVendorExtension )
743
744
745
749 enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
750 {
751 SaveFormerValue = 1 << 1,
752 SaveEnumFlagAsInt = 1 << 2,
753 };
754 Q_ENUM( SettingsOption )
755 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
756 Q_FLAG( SettingsOptions )
757
763 {
764 ActiveLayer = 1,
765 AllLayers = 2,
766 AdvancedConfiguration = 3,
767 };
768 Q_ENUM( SnappingMode )
769
770
775 {
776 NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0,
777 Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0,
778 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentFlag ) = 1 << 1,
779 Area SIP_MONKEYPATCH_COMPAT_NAME( AreaFlag ) = 1 << 2,
780 Centroid SIP_MONKEYPATCH_COMPAT_NAME( CentroidFlag ) = 1 << 3,
781 MiddleOfSegment SIP_MONKEYPATCH_COMPAT_NAME( MiddleOfSegmentFlag ) = 1 << 4,
782 LineEndpoint SIP_MONKEYPATCH_COMPAT_NAME( LineEndpointFlag ) = 1 << 5,
783 };
784 Q_ENUM( SnappingType )
787 Q_FLAG( SnappingTypes )
788
795 {
796 DynamicRotation = 1 << 1,
797 IsSymbolLayerSubSymbol = 1 << 2,
798 ForceVectorRendering = 1 << 3,
799 ExcludeSymbolBuffers = 1 << 4,
800 };
801 Q_ENUM( SymbolRenderHint )
804 Q_FLAG( SymbolRenderHints )
805
812 {
813 ReadSymbol = 1 << 0,
814 WriteSymbol = 1 << 1,
815 };
816
817 Q_ENUM( SymbolConverterCapability )
818
819
826
832 enum class SymbolRotationMode : int
833 {
834 RespectMapRotation,
835 IgnoreMapRotation,
836 };
837 Q_ENUM( SymbolRotationMode )
838
839
840
852 Q_ENUM( HorizontalAnchorPoint )
853
854
867 Q_ENUM( VerticalAnchorPoint )
868
869
874 enum class FeatureRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
875 {
876 AffectsLabeling = 1 << 0,
877 };
878 Q_ENUM( FeatureRendererFlag )
879
880
886 Q_FLAG( FeatureRendererFlags )
887
893 enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
894 {
895 RendererShouldUseSymbolLevels = 1 << 0,
896 AffectsLabeling = 1 << 1,
897 };
898 Q_ENUM( SymbolFlag )
900 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
901 Q_FLAG( SymbolFlags )
902
909 {
910 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
911 };
912 Q_ENUM( SymbolPreviewFlag )
915 Q_FLAG( SymbolPreviewFlags )
916
926 enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
927 {
928 DisableFeatureClipping = 1 << 0,
929 CanCalculateMaskGeometryPerFeature = 1 << 1,
930 AffectsLabeling = 1 << 2,
931 };
932 Q_ENUM( SymbolLayerFlag )
935 Q_FLAG( SymbolLayerFlags )
936
946 enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
947 {
948 DisableSelectionRecoloring = 1 << 0,
949 };
950 Q_ENUM( SymbolLayerUserFlag )
951
952
958 Q_FLAG( SymbolLayerUserFlags )
959
966 {
967 Collection,
968 Directory,
969 Layer,
970 Error,
971 Favorites,
972 Project,
973 Custom,
974 Fields,
975 Field,
976 };
977 Q_ENUM( BrowserItemType )
978
979
985 {
986 NotPopulated,
987 Populating,
988 Populated,
989 };
990 Q_ENUM( BrowserItemState )
991
992
998 {
999 NoCapabilities = 0,
1000 SetCrs = 1 << 0,
1001 Fertile = 1 << 1,
1002 Fast = 1 << 2,
1003 Collapse = 1 << 3,
1004 Rename = 1 << 4,
1005 Delete = 1 << 5,
1006 ItemRepresentsFile = 1 << 6,
1007 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
1008 ReadOnly = 1 << 8,
1009 };
1010 Q_ENUM( BrowserItemCapability )
1013 Q_FLAG( BrowserItemCapabilities )
1014
1020 enum class BrowserItemFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
1021 {
1022 HideWhenNotFilteringByLayerType = 1 << 0,
1023 };
1024 Q_ENUM( BrowserItemFilterFlag )
1025
1026
1032 Q_FLAG( BrowserItemFilterFlags )
1033
1042 {
1043 NoCapabilities SIP_MONKEYPATCH_COMPAT_NAME( NoDataCapabilities ) = 0,
1045 Directories SIP_MONKEYPATCH_COMPAT_NAME( Dir ) = 1 << 1,
1046 Databases SIP_MONKEYPATCH_COMPAT_NAME( Database ) = 1 << 2,
1047 NetworkSources SIP_MONKEYPATCH_COMPAT_NAME( Net ) = 1 << 3,
1048 };
1049 Q_ENUM( DataItemProviderCapability )
1050
1051
1060
1067 {
1068 NoType,
1069 Vector,
1070 Raster,
1071 Point,
1072 Line,
1073 Polygon,
1074 TableLayer,
1075 Database,
1076 Table,
1077 Plugin,
1078 Mesh,
1079 VectorTile,
1080 PointCloud,
1081 TiledScene,
1082 };
1083 Q_ENUM( BrowserLayerType )
1084
1085
1091 {
1092 Default,
1093 NeverMonitor,
1094 AlwaysMonitor,
1095 };
1096 Q_ENUM( BrowserDirectoryMonitoring )
1097
1098
1102 enum class HttpMethod : int
1103 {
1104 Get = 0,
1105 Post = 1,
1106 Head,
1107 Put,
1108 Delete,
1109 };
1110 Q_ENUM( HttpMethod )
1111
1112
1118 {
1120 ErrorCreatingDataSource SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateDataSource ),
1121 ErrorCreatingLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrCreateLayer ),
1122 ErrorAttributeTypeUnsupported SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeTypeUnsupported ),
1123 ErrorAttributeCreationFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrAttributeCreationFailed ),
1124 ErrorProjectingFeatures SIP_MONKEYPATCH_COMPAT_NAME( ErrProjection ),
1125 ErrorFeatureWriteFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrFeatureWriteFailed ),
1126 ErrorInvalidLayer SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidLayer ),
1127 ErrorInvalidProvider SIP_MONKEYPATCH_COMPAT_NAME( ErrInvalidProvider ),
1128 ErrorProviderUnsupportedFeature SIP_MONKEYPATCH_COMPAT_NAME( ErrProviderUnsupportedFeature ),
1129 ErrorConnectionFailed SIP_MONKEYPATCH_COMPAT_NAME( ErrConnectionFailed ),
1130 UserCanceled SIP_MONKEYPATCH_COMPAT_NAME( ErrUserCanceled ),
1131 };
1132 Q_ENUM( VectorExportResult )
1133
1134
1139 {
1140 FieldAliases = 1 << 0,
1141 FieldComments = 1 << 2,
1142 };
1143 Q_ENUM( VectorFileWriterCapability )
1144
1145
1151
1157 {
1158 SubsetStringFilter = 1 << 1,
1159 GeometryColumn = 1 << 2,
1160 PrimaryKeys = 1 << 3,
1161 UnstableFeatureIds = 1 << 4
1162 };
1163 Q_ENUM( SqlLayerDefinitionCapability )
1167
1173 enum class SqlKeywordCategory : int
1174 {
1175 Keyword,
1176 Constant,
1177 Function,
1178 Geospatial,
1179 Operator,
1180 Math,
1182 String,
1183 Identifier
1184 };
1185 Q_ENUM( SqlKeywordCategory )
1186
1187
1191 enum class DriveType : int
1192 {
1193 Unknown,
1194 Invalid,
1195 Removable,
1196 Fixed,
1197 Remote,
1198 CdRom,
1199 RamDisk,
1200 Cloud,
1201 };
1202 Q_ENUM( DriveType )
1203
1204
1209 {
1210 Deferred SIP_MONKEYPATCH_COMPAT_NAME( DownloadLater ),
1211 Immediate SIP_MONKEYPATCH_COMPAT_NAME( DownloadImmediately ),
1212 };
1213 Q_ENUM( ActionStart )
1214
1215
1221 {
1222 FollowEngineSetting,
1223 NeverShow,
1224 };
1225 Q_ENUM( UnplacedLabelVisibility )
1226
1227
1232 enum class LabelOverlapHandling : int
1233 {
1234 PreventOverlap,
1235 AllowOverlapIfRequired,
1236 AllowOverlapAtNoCost,
1237 };
1238 Q_ENUM( LabelOverlapHandling )
1239
1240
1246 {
1247 TreatWhitespaceAsCollision,
1248 IgnoreWhitespaceCollisions,
1249 };
1250 Q_ENUM( LabelWhitespaceCollisionHandling )
1251
1252
1257 enum class LabelPrioritization : int
1258 {
1259 PreferCloser,
1260 PreferPositionOrdering,
1261 };
1262 Q_ENUM( LabelPrioritization )
1263
1264
1272 {
1273 AroundPoint,
1274 OverPoint,
1275 Line,
1276 Curved,
1277 Horizontal,
1278 Free,
1279 OrderedPositionsAroundPoint,
1280 PerimeterCurved,
1281 OutsidePolygons,
1282 };
1283 Q_ENUM( LabelPlacement )
1284
1285
1290 enum class CurvedLabelMode : int
1291 {
1292 Default,
1293 PlaceCharactersAtVertices,
1294 StretchCharacterSpacingToFitLine,
1295 StretchWordSpacingToFitLine,
1296 };
1297 Q_ENUM( CurvedLabelMode )
1298
1299
1307 {
1308 TopLeft,
1309 TopSlightlyLeft,
1310 TopMiddle,
1311 TopSlightlyRight,
1312 TopRight,
1313 MiddleLeft,
1314 MiddleRight,
1315 BottomLeft,
1316 BottomSlightlyLeft,
1317 BottomMiddle,
1318 BottomSlightlyRight,
1319 BottomRight,
1320 OverPoint,
1321 };
1322 Q_ENUM( LabelPredefinedPointPosition )
1323
1324
1330 {
1331 LabelLargestPartOnly,
1332 LabelEveryPartWithEntireLabel,
1333 SplitLabelTextLinesOverParts,
1334 };
1335 Q_ENUM( MultiPartLabelingBehavior )
1336
1337
1346 {
1347 FromPoint,
1348 FromSymbolBounds,
1349 };
1350 Q_ENUM( LabelOffsetType )
1351
1352
1360 {
1361 AboveLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveLeft ),
1362 Above SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAbove ),
1363 AboveRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantAboveRight ),
1365 Over SIP_MONKEYPATCH_COMPAT_NAME( QuadrantOver ),
1367 BelowLeft SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowLeft ),
1368 Below SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelow ),
1369 BelowRight SIP_MONKEYPATCH_COMPAT_NAME( QuadrantBelowRight ),
1370 };
1371 Q_ENUM( LabelQuadrantPosition )
1372
1373
1380 {
1381 OnLine = 1,
1382 AboveLine = 2,
1383 BelowLine = 4,
1384 MapOrientation = 8,
1385 };
1386 Q_ENUM( LabelLinePlacementFlag )
1387
1388
1396 Q_FLAG( LabelLinePlacementFlags )
1397
1405 {
1406 AllowPlacementOutsideOfPolygon = 1 << 0,
1407 AllowPlacementInsideOfPolygon = 1 << 1,
1408 };
1409 Q_ENUM( LabelPolygonPlacementFlag )
1410
1411
1419
1428 {
1429 FlipUpsideDownLabels SIP_MONKEYPATCH_COMPAT_NAME( Upright ),
1430 AllowUpsideDownWhenRotationIsDefined SIP_MONKEYPATCH_COMPAT_NAME( ShowDefined ),
1431 AlwaysAllowUpsideDown SIP_MONKEYPATCH_COMPAT_NAME( ShowAll )
1432 };
1433 Q_ENUM( UpsideDownLabelHandling )
1434
1435
1443 {
1445 Center SIP_MONKEYPATCH_COMPAT_NAME( MultiCenter ),
1447 FollowPlacement SIP_MONKEYPATCH_COMPAT_NAME( MultiFollowPlacement ),
1448 Justify SIP_MONKEYPATCH_COMPAT_NAME( MultiJustify ),
1449 };
1450 Q_ENUM( LabelMultiLineAlignment )
1451
1452
1459 {
1460 Vector SIP_MONKEYPATCH_COMPAT_NAME( FilterVector ) = 1,
1461 Raster SIP_MONKEYPATCH_COMPAT_NAME( FilterRaster ),
1462 Mesh SIP_MONKEYPATCH_COMPAT_NAME( FilterMesh ),
1463 MeshDataset SIP_MONKEYPATCH_COMPAT_NAME( FilterMeshDataset ),
1464 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( FilterPointCloud ),
1465 VectorTile,
1466 TiledScene,
1467 };
1468 Q_ENUM( FileFilterType )
1469
1470
1475 enum class UriCleaningFlag : int SIP_ENUM_BASETYPE( IntFlag )
1476 {
1477 RemoveCredentials = 1 << 0,
1478 RedactCredentials = 1 << 1,
1479 };
1480 Q_ENUM( UriCleaningFlag )
1481
1482
1488 Q_FLAG( UriCleaningFlags )
1489
1495 enum class SourceHierarchyLevel : int
1496 {
1497 Connection,
1498 Group,
1499 Object,
1500 };
1501 Q_ENUM( SourceHierarchyLevel )
1502
1503
1508 enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
1509 {
1510 FastScan = 1 << 0,
1511 ResolveGeometryType = 1 << 1,
1512 CountFeatures = 1 << 2,
1513 IncludeSystemTables = 1 << 3,
1514 OpenLayersToResolveDescriptions = 1 << 4,
1515 };
1516
1519 Q_FLAG( SublayerQueryFlags )
1520
1521
1526 enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
1527 {
1528 SystemTable = 1 << 0,
1529 };
1530
1531 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1533 Q_FLAG( SublayerFlags )
1534
1535
1543 {
1544 Linear SIP_MONKEYPATCH_COMPAT_NAME( Interpolated ) = 0,
1545 Discrete = 1,
1546 Exact = 2,
1547 };
1548 Q_ENUM( ShaderInterpolationMethod )
1549
1550
1558 {
1559 Continuous = 1,
1560 EqualInterval = 2,
1561 Quantile = 3,
1562 };
1563 Q_ENUM( ShaderClassificationMethod )
1564
1565
1571 {
1572 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownRole ) = 0,
1573 Provider SIP_MONKEYPATCH_COMPAT_NAME( ProviderRole ) = 1,
1574 Renderer SIP_MONKEYPATCH_COMPAT_NAME( RendererRole ) = 2,
1575 Brightness SIP_MONKEYPATCH_COMPAT_NAME( BrightnessRole ) = 3,
1576 Resampler SIP_MONKEYPATCH_COMPAT_NAME( ResamplerRole ) = 4,
1577 Projector SIP_MONKEYPATCH_COMPAT_NAME( ProjectorRole ) = 5,
1578 Nuller SIP_MONKEYPATCH_COMPAT_NAME( NullerRole ) = 6,
1579 HueSaturation SIP_MONKEYPATCH_COMPAT_NAME( HueSaturationRole ) = 7,
1580 };
1581 Q_ENUM( RasterPipeInterfaceRole )
1582
1583
1588 {
1589 ResampleFilter,
1590 Provider,
1591 };
1592 Q_ENUM( RasterResamplingStage )
1593
1594
1602 {
1603 Nearest,
1604 Bilinear,
1605 Cubic,
1606 CubicSpline,
1607 Lanczos,
1608 Average,
1609 Mode,
1610 Gauss
1611 };
1612 Q_ENUM( RasterResamplingMethod )
1613
1614
1619 enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
1620 {
1621 InternalLayerOpacityHandling = 1 << 0,
1622 UseNoDataForOutOfRangePixels
1623 = 1 << 1,
1624 };
1625
1632
1634 Q_FLAG( RasterRendererFlags )
1635
1636
1642 {
1643 UsesMultipleBands = 1 << 0,
1644 };
1645 Q_ENUM( RasterRendererCapability )
1646
1647
1654
1663 {
1665 MinimumMaximum SIP_MONKEYPATCH_COMPAT_NAME( MinMax ),
1666 StdDev,
1667 CumulativeCut
1668 };
1669 Q_ENUM( RasterRangeLimit )
1670
1671
1679 {
1680 WholeRaster SIP_MONKEYPATCH_COMPAT_NAME( None_ ),
1681 FixedCanvas SIP_MONKEYPATCH_COMPAT_NAME( CurrentCanvas ),
1682 UpdatedCanvas,
1683 };
1684 Q_ENUM( RasterRangeExtent )
1685
1686
1694 {
1695 Exact,
1696 Estimated,
1697 };
1698 Q_ENUM( RasterRangeAccuracy )
1699
1700
1706 {
1707 Generic = 0,
1708 PixelCount = 1,
1709 Name = 2,
1710 Min = 3,
1711 Max = 4,
1712 MinMax = 5,
1713 Red = 6,
1714 Green = 7,
1715 Blue = 8,
1716 Alpha = 9,
1717 RedMin = 10,
1718 GreenMin = 11,
1719 BlueMin = 12,
1720 AlphaMin = 13,
1721 RedMax = 14,
1722 GreenMax = 15,
1723 BlueMax = 16,
1724 AlphaMax = 17,
1725 MaxCount
1726 };
1727 Q_ENUM( RasterAttributeTableFieldUsage )
1728
1729
1735 {
1736 Thematic = 0,
1737 Athematic = 1
1738 };
1739 Q_ENUM( RasterAttributeTableType )
1740
1741
1748 {
1749 Raw = 0,
1750 RenderedImage SIP_MONKEYPATCH_COMPAT_NAME( Image ) = 1
1751 };
1752 Q_ENUM( RasterExportType )
1753
1754
1761 {
1763 SourceProviderError = 1,
1764 DestinationProviderError SIP_MONKEYPATCH_COMPAT_NAME( DestProviderError ) = 2,
1765 CreateDatasourceError = 3,
1766 WriteError = 4,
1767 NoDataConflict = 5,
1768 Canceled SIP_MONKEYPATCH_COMPAT_NAME( WriteCanceled ) = 6,
1769 };
1770 Q_ENUM( RasterFileWriterResult )
1771
1772
1777 enum class MeshEditingErrorType : int
1778 {
1779 NoError,
1780 InvalidFace,
1781 TooManyVerticesInFace,
1782 FlatFace,
1783 UniqueSharedVertex,
1784 InvalidVertex,
1785 ManifoldFace,
1786 };
1787 Q_ENUM( MeshEditingErrorType )
1788
1789
1794 enum class FilePathType : int
1795 {
1796 Absolute,
1797 Relative,
1798 };
1799 Q_ENUM( FilePathType )
1800
1801
1806 enum class SublayerPromptMode : int
1807 {
1808 AlwaysAsk,
1809 AskExcludingRasterBands,
1810 NeverAskSkip,
1811 NeverAskLoadAll,
1812 };
1813 Q_ENUM( SublayerPromptMode )
1814
1815
1823 {
1824 Unknown SIP_MONKEYPATCH_COMPAT_NAME( OriginUnknown ),
1825 Provider SIP_MONKEYPATCH_COMPAT_NAME( OriginProvider ),
1826 Join SIP_MONKEYPATCH_COMPAT_NAME( OriginJoin ),
1827 Edit SIP_MONKEYPATCH_COMPAT_NAME( OriginEdit ),
1828 Expression SIP_MONKEYPATCH_COMPAT_NAME( OriginExpression )
1829 };
1830 Q_ENUM( FieldOrigin )
1831
1832
1839 enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
1840 {
1841 NoFlag = 0,
1842 NotSearchable = 1 << 1,
1843 HideFromWms = 1 << 2,
1844 HideFromWfs = 1 << 3,
1845 };
1846 Q_ENUM( FieldConfigurationFlag )
1847
1848
1856 Q_FLAG( FieldConfigurationFlags )
1857
1863 enum class FieldMetadataProperty : int
1864 {
1865 GeometryCrs = 0x1000,
1866 GeometryWkbType = 0x1001,
1867 CustomProperty = 0x100000,
1868 };
1869 Q_ENUM( FieldMetadataProperty )
1870
1871
1876 enum class SelectionRenderingMode : int
1877 {
1878 Default,
1879 CustomColor,
1880 CustomSymbol,
1881 };
1882 Q_ENUM( SelectionRenderingMode )
1883
1884
1890 {
1891 SetSelection,
1892 AddToSelection,
1893 IntersectSelection,
1894 RemoveFromSelection,
1895 };
1896 Q_ENUM( SelectBehavior )
1897
1898
1904 {
1905 Intersect,
1906 Within,
1907 };
1908 Q_ENUM( SelectGeometryRelationship )
1909
1910
1915 enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
1916 {
1917 SingleFeatureSelection = 1 << 0,
1918 ToggleSelection = 1 << 1,
1919 };
1920
1926 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1927
1929 Q_FLAG( SelectionFlags )
1930
1931
1937 {
1939 EmptyGeometry = 1,
1940 EditFailed = 2,
1941 FetchFeatureFailed = 3,
1942 InvalidLayer = 4,
1943 };
1944 Q_ENUM( VectorEditResult )
1945
1946
1952 {
1953 SemiTransparentCircle,
1954 Cross,
1955 NoMarker,
1956 };
1957 Q_ENUM( VertexMarkerType )
1958
1959
1963 enum class ContentStatus : int
1964 {
1965 NotStarted,
1966 Running,
1967 Finished,
1968 Failed,
1969 Canceled,
1970 };
1971 Q_ENUM( ContentStatus )
1972
1973
1978 enum class GpsConnectionType : int
1979 {
1980 Automatic,
1981 Internal,
1982 Serial,
1983 Gpsd,
1984 };
1985 Q_ENUM( GpsConnectionType )
1986
1987
1992 enum class DeviceConnectionStatus SIP_MONKEYPATCH_SCOPEENUM_UNNEST( Qgis, GpsConnectionStatus ) : int
1993 {
1994 Disconnected,
1995 Connecting,
1996 Connected,
1997 };
1998 Q_ENUM( DeviceConnectionStatus )
1999
2000
2008 {
2009 NoData,
2010 NoFix,
2011 Fix2D,
2012 Fix3D
2013 };
2015
2016
2023 {
2024 Unknown,
2025 Gps,
2026 Glonass,
2027 Galileo,
2028 BeiDou,
2029 Qzss,
2030 Navic,
2031 Sbas,
2032 };
2034
2041 {
2042 Unknown = -1,
2043 Invalid,
2044 GPS,
2045 DGPS,
2046 PPS,
2047 RTK,
2048 FloatRTK,
2049 Estimated,
2050 Manual,
2051 Simulation,
2052 };
2053 Q_ENUM( GpsQualityIndicator )
2054
2055
2060 enum class GpsNavigationStatus : int
2061 {
2062 NotValid,
2063 Safe,
2064 Caution,
2065 Unsafe,
2066 };
2068
2074 enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
2075 {
2076 Location = 1 << 0,
2077 Altitude = 1 << 1,
2078 GroundSpeed = 1 << 2,
2079 Bearing = 1 << 3,
2080 TotalTrackLength = 1 << 4,
2081 TrackDistanceFromStart = 1 << 5,
2082 Pdop = 1 << 6,
2083 Hdop = 1 << 7,
2084 Vdop = 1 << 8,
2085 HorizontalAccuracy = 1 << 9,
2086 VerticalAccuracy = 1 << 10,
2087 HvAccuracy = 1 << 11,
2088 SatellitesUsed = 1 << 12,
2089 Timestamp = 1 << 13,
2090 TrackStartTime = 1 << 14,
2091 TrackEndTime = 1 << 15,
2092 TrackDistanceSinceLastPoint = 1 << 16,
2093 TrackTimeSinceLastPoint = 1 << 17,
2094 GeoidalSeparation = 1 << 18,
2095 EllipsoidAltitude = 1 << 19,
2096 };
2097
2105 Q_FLAG( GpsInformationComponents )
2106
2107
2112 enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
2113 {
2114 Import = 1 << 0,
2115 Export = 1 << 1,
2116 Waypoints = 1 << 2,
2117 Routes = 1 << 3,
2118 Tracks = 1 << 4,
2119 };
2120
2123 Q_FLAG( BabelFormatCapabilities )
2124
2125
2131 enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
2132 {
2133 QuoteFilePaths = 1 << 0,
2134 };
2135
2138 Q_FLAG( BabelCommandFlags )
2139
2140
2145 enum class GpsFeatureType : int
2146 {
2147 Waypoint,
2148 Route,
2149 Track,
2150 };
2151 Q_ENUM( GpsFeatureType )
2152
2153
2161 {
2163 NothingHappened = 1000,
2164 InvalidBaseGeometry,
2165 InvalidInputGeometryType,
2166 SelectionIsEmpty,
2167 SelectionIsGreaterThanOne,
2168 GeometryEngineError,
2169 LayerNotEditable,
2170 // Add part issues
2171 AddPartSelectedGeometryNotFound,
2172 AddPartNotMultiGeometry,
2173 // Add ring issues
2174 AddRingNotClosed,
2175 AddRingNotValid,
2176 AddRingCrossesExistingRings,
2177 AddRingNotInExistingFeature,
2178 // Split features
2179 SplitCannotSplitPoint,
2180 GeometryTypeHasChanged,
2181 };
2182 Q_ENUM( GeometryOperationResult )
2183
2184
2190 {
2191 AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles )
2192 = 1 << 0,
2193 };
2194
2197 Q_FLAG( GeometryValidityFlags )
2198
2199
2204 {
2205 QgisInternal SIP_MONKEYPATCH_COMPAT_NAME( ValidatorQgisInternal ),
2206 Geos SIP_MONKEYPATCH_COMPAT_NAME( ValidatorGeos ),
2207 };
2208 Q_ENUM( GeometryValidationEngine )
2209
2210
2220 Q_ENUM( BufferSide )
2221
2222
2233 Q_ENUM( EndCapStyle )
2234
2235
2241 {
2242 Round SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleRound ) = 1,
2243 Miter SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleMiter ),
2244 Bevel SIP_MONKEYPATCH_COMPAT_NAME( JoinStyleBevel ),
2245 };
2246 Q_ENUM( JoinStyle )
2247
2248
2253 enum class JoinStyle3D : int
2254 {
2255 Round = 1,
2256 Flat,
2257 CylindersAndSpheres,
2258 };
2259 Q_ENUM( JoinStyle3D )
2260
2261
2266 enum class GeometryBackend : int
2267 {
2268 QGIS = 1,
2269 GEOS,
2270 };
2271 Q_ENUM( GeometryBackend )
2272
2273
2278 enum class GeosCreationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2279 {
2280 RejectOnInvalidSubGeometry = 1 << 0,
2281 SkipEmptyInteriorRings = 1 << 1,
2282 };
2283 Q_ENUM( GeosCreationFlag )
2284
2285
2291 Q_FLAG( GeosCreationFlags )
2292
2298 enum class CoverageValidityResult : int
2299 {
2300 Invalid = 0,
2301 Valid = 1,
2302 Error = 2,
2303 };
2304 Q_ENUM( CoverageValidityResult )
2305
2306
2311 enum class MakeValidMethod : int
2312 {
2313 Linework = 0,
2314 Structure = 1,
2315 };
2316 Q_ENUM( MakeValidMethod )
2317
2318
2326 {
2327 NoFlags = 0,
2328 NoGeometry = 1,
2329 SubsetOfAttributes = 2,
2330 ExactIntersect = 4,
2331 IgnoreStaticNodesDuringExpressionCompilation
2332 = 8,
2333 EmbeddedSymbols = 16,
2334 };
2335 Q_ENUM( FeatureRequestFlag )
2336
2337
2345 Q_FLAG( FeatureRequestFlags )
2346
2355 {
2356 NoFilter SIP_MONKEYPATCH_COMPAT_NAME( FilterNone ),
2358 Expression SIP_MONKEYPATCH_COMPAT_NAME( FilterExpression ),
2360 };
2361 Q_ENUM( FeatureRequestFilterType )
2362
2363
2371 {
2372 NoCheck SIP_MONKEYPATCH_COMPAT_NAME( GeometryNoCheck ) = 0,
2373 SkipInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometrySkipInvalid ) = 1,
2374 AbortOnInvalid SIP_MONKEYPATCH_COMPAT_NAME( GeometryAbortOnInvalid ) = 2,
2375 };
2376 Q_ENUM( InvalidGeometryCheck )
2377
2378
2383 enum class SpatialFilterType : int
2384 {
2385 NoFilter,
2386 BoundingBox,
2387 DistanceWithin,
2388 };
2389 Q_ENUM( SpatialFilterType )
2390
2391
2396 enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
2397 {
2398 IncludeMetadataFile = 1 << 0,
2399 IncludeStyleFile = 1 << 1,
2400 };
2401
2404 Q_FLAG( FileOperationFlags )
2405
2406
2411 enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
2412 {
2413 UsersCannotToggleEditing
2414 = 1 << 0,
2415 IsBasemapLayer = 1 << 1,
2416 Is3DBasemapLayer = 1 << 2,
2417 };
2418
2421 Q_FLAG( MapLayerProperties )
2422
2423
2428 enum class AutoRefreshMode : int
2429 {
2430 Disabled = 0,
2431 ReloadData = 1,
2432 RedrawOnly = 2,
2433 };
2434 Q_ENUM( AutoRefreshMode )
2435
2436
2441 enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
2442 {
2443 IsBasemapSource = 1 << 1,
2444 FastExtent2D = 1 << 2,
2445 FastExtent3D = 1 << 3,
2446 Is3DBasemapSource = 1 << 4,
2447 };
2448
2451 Q_FLAG( DataProviderFlags )
2452
2453
2460 enum class CrsType : int
2461 {
2462 Unknown,
2463 Geodetic,
2464 Geocentric,
2465 Geographic2d,
2466 Geographic3d,
2467 Vertical,
2468 Projected,
2469 Compound,
2470 Temporal,
2471 Engineering,
2472 Bound,
2473 Other,
2474 DerivedProjected,
2475 };
2476 Q_ENUM( CrsType )
2477
2478
2485 enum class CrsAxisDirection : int
2486 {
2487 North,
2488 NorthNorthEast,
2489 NorthEast,
2490 EastNorthEast,
2491 East,
2492 EastSouthEast,
2493 SouthEast,
2494 SouthSouthEast,
2495 South,
2496 SouthSouthWest,
2497 SouthWest,
2498 WestSouthWest,
2499 West,
2500 WestNorthWest,
2501 NorthWest,
2502 NorthNorthWest,
2503 GeocentricX,
2504 GeocentricY,
2505 GeocentricZ,
2508 Forward,
2509 Aft,
2510 Port,
2511 Starboard,
2512 Clockwise,
2513 CounterClockwise,
2514 ColumnPositive,
2515 ColumnNegative,
2516 RowPositive,
2517 RowNegative,
2518 DisplayRight,
2519 DisplayLeft,
2520 DisplayUp,
2521 DisplayDown,
2522 Future,
2523 Past,
2524 Towards,
2525 AwayFrom,
2526 Unspecified,
2527 };
2528 Q_ENUM( CrsAxisDirection )
2529
2530
2535 enum class CoordinateOrder : int
2536 {
2537 Default,
2538 XY,
2539 YX,
2540 };
2541 Q_ENUM( CoordinateOrder )
2542
2543
2551 {
2552 ShortString,
2553 MediumString,
2554 FullString,
2555 };
2556 Q_ENUM( CrsIdentifierType )
2557
2558
2566 {
2568 WKT1_GDAL
2569 ),
2570 Wkt1Esri SIP_MONKEYPATCH_COMPAT_NAME( WKT1_ESRI ),
2571 Wkt2_2015 SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2015 ),
2572 Wkt2_2015Simplified SIP_MONKEYPATCH_COMPAT_NAME(
2573 WKT2_2015_SIMPLIFIED
2574 ),
2576 WKT2_2019
2577 ),
2578 Wkt2_2019Simplified SIP_MONKEYPATCH_COMPAT_NAME( WKT2_2019_SIMPLIFIED ),
2579 Preferred SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED ) = Wkt2_2019,
2580 PreferredSimplified SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_SIMPLIFIED )
2581 = Wkt2_2019Simplified,
2582 PreferredGdal SIP_MONKEYPATCH_COMPAT_NAME( WKT_PREFERRED_GDAL ) = Wkt2_2019,
2583 };
2584 Q_ENUM( CrsWktVariant )
2585
2586
2591 enum class Axis : int
2592 {
2593 X,
2594 Y,
2596 };
2597 Q_ENUM( Axis )
2598
2599
2604 enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
2605 {
2606 ScaleDependentBoundingBox = 1 << 0,
2607 SupportsReferenceScale = 1 << 1,
2608 SupportsCallouts = 1 << 2,
2609 };
2610
2613 Q_FLAG( AnnotationItemFlags )
2614
2615
2621 {
2622 SpatialBounds = 0,
2623 FixedSize,
2624 RelativeToMapFrame,
2625 };
2626 Q_ENUM( AnnotationPlacementMode )
2627
2628
2633 enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
2634 {
2635 FlagNoCreationTools = 1 << 0,
2636 };
2637
2640 Q_FLAG( AnnotationItemGuiFlags )
2641
2642
2647 enum class AnnotationItemNodeType : int
2648 {
2649 VertexHandle,
2650 CalloutHandle,
2651 };
2652 Q_ENUM( AnnotationItemNodeType )
2653
2654
2660 {
2662 Invalid,
2663 ItemCleared,
2664 };
2665 Q_ENUM( AnnotationItemEditOperationResult )
2666
2667
2675 {
2676 Disabled SIP_MONKEYPATCH_COMPAT_NAME( NavigationOff ),
2677 Animated,
2678 FixedRange,
2679 Movie,
2680 };
2681 Q_ENUM( TemporalNavigationMode )
2682
2683
2696 Q_ENUM( AnimationState )
2697
2698
2703 enum class PlaybackOperation : int
2704 {
2705 SkipToStart,
2706 PreviousFrame,
2707 PlayReverse,
2708 Pause,
2709 PlayForward,
2710 NextFrame,
2711 SkipToEnd,
2712 };
2713 Q_ENUM( PlaybackOperation )
2714
2715
2721 {
2722 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2723 FeatureDateTimeInstantFromField SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeInstantFromField ),
2724 FeatureDateTimeStartAndEndFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromFields ),
2725 FeatureDateTimeStartAndDurationFromFields SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndDurationFromFields ),
2726 FeatureDateTimeStartAndEndFromExpressions SIP_MONKEYPATCH_COMPAT_NAME( ModeFeatureDateTimeStartAndEndFromExpressions ),
2728 ModeRedrawLayerOnly
2729 ),
2730 };
2731 Q_ENUM( VectorTemporalMode )
2732
2733
2739 {
2740 IncludeBeginExcludeEnd = 0,
2741 IncludeBeginIncludeEnd,
2742 };
2743 Q_ENUM( VectorTemporalLimitMode )
2744
2745
2751 {
2752 HasFixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ProviderHasFixedTemporalRange ) = 0,
2753 StoresFeatureDateTimeInstantInField SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeInstantInField ),
2754 StoresFeatureDateTimeStartAndEndInSeparateFields SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2755 };
2756 Q_ENUM( VectorDataProviderTemporalMode )
2757
2758
2764 {
2765 FixedTemporalRange SIP_MONKEYPATCH_COMPAT_NAME( ModeFixedTemporalRange ) = 0,
2766 TemporalRangeFromDataProvider SIP_MONKEYPATCH_COMPAT_NAME( ModeTemporalRangeFromDataProvider ) = 1,
2767 RedrawLayerOnly SIP_MONKEYPATCH_COMPAT_NAME( ModeRedrawLayerOnly )
2768 = 2,
2769 FixedRangePerBand = 3,
2770 RepresentsTemporalValues = 4,
2771 FixedDateTime = 5,
2772 };
2773 Q_ENUM( RasterTemporalMode )
2774
2775
2781 {
2782 MatchUsingWholeRange,
2783 MatchExactUsingStartOfRange,
2784 MatchExactUsingEndOfRange,
2785 FindClosestMatchToStartOfRange,
2786 FindClosestMatchToEndOfRange
2787 };
2788 Q_ENUM( TemporalIntervalMatchMethod )
2789
2790
2796 {
2797 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2798 = 1 << 0,
2799 };
2800 Q_ENUM( RasterTemporalCapabilityFlag )
2801
2802
2809
2820 Q_ENUM( TransformDirection )
2821
2822
2828 {
2829 BallparkTransformsAreAppropriate
2830 = 1 << 0,
2831 IgnoreImpossibleTransformations
2832 = 1 << 1,
2833 };
2834 Q_ENUM( CoordinateTransformationFlag )
2835
2836
2843
2850 {
2851 Default,
2852 PreferVector,
2853 ForceVector,
2854 };
2855 Q_ENUM( RasterizedRenderingPolicy )
2856
2857
2863 {
2864 Antialiasing = 0x01,
2865 DrawEditingInfo = 0x02,
2866 ForceVectorOutput = 0x04,
2867 UseAdvancedEffects = 0x08,
2868 DrawLabeling = 0x10,
2869 UseRenderingOptimization = 0x20,
2870 DrawSelection = 0x40,
2871 DrawSymbolBounds = 0x80,
2872 RenderMapTile = 0x100,
2873 RenderPartialOutput = 0x200,
2874 RenderPreviewJob = 0x400,
2875 RenderBlocking = 0x800,
2876 LosslessImageRendering
2877 = 0x1000,
2878 Render3DMap = 0x2000,
2879 HighQualityImageTransforms = 0x4000,
2880 SkipSymbolRendering = 0x8000,
2881 ForceRasterMasks = 0x10000,
2882 RecordProfile = 0x20000,
2883 AlwaysUseGlobalMasks
2884 = 0x40000,
2885 };
2886
2889 Q_FLAG( MapSettingsFlags )
2890
2891
2897 {
2898 DrawEditingInfo = 0x01,
2899 ForceVectorOutput = 0x02,
2900 UseAdvancedEffects = 0x04,
2901 UseRenderingOptimization = 0x08,
2902 DrawSelection = 0x10,
2903 DrawSymbolBounds = 0x20,
2904 RenderMapTile = 0x40,
2905 Antialiasing = 0x80,
2906 RenderPartialOutput = 0x100,
2907 RenderPreviewJob = 0x200,
2908 RenderBlocking = 0x400,
2909 RenderSymbolPreview = 0x800,
2910 LosslessImageRendering = 0x1000,
2911 ApplyScalingWorkaroundForTextRendering = 0x2000,
2912 Render3DMap = 0x4000,
2913 ApplyClipAfterReprojection = 0x8000,
2914 RenderingSubSymbol = 0x10000,
2915 HighQualityImageTransforms = 0x20000,
2916 SkipSymbolRendering = 0x40000,
2917 RecordProfile = 0x80000,
2918 AlwaysUseGlobalMasks = 0x100000,
2919 DisableSymbolClippingToExtent = 0x200000,
2920 RenderLayerTree = 0x400000
2921 };
2922
2925 Q_FLAG( RenderContextFlags )
2926
2927
2932 enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
2933 {
2934 RenderPartialOutputs = 1 << 0,
2935 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2936 AffectsLabeling = 1 << 2,
2937 };
2938 Q_ENUM( MapLayerRendererFlag )
2939
2940
2946 Q_FLAG( MapLayerRendererFlags )
2947
2953 enum class PaintEffectFlag : int SIP_ENUM_BASETYPE( IntFlag )
2954 {
2955 RequiresRasterization = 1 << 0,
2956 };
2957 Q_ENUM( PaintEffectFlag )
2958
2959
2965 Q_FLAG( PaintEffectFlags )
2966
2967 // refs for below dox: https://github.com/qgis/QGIS/pull/1286#issuecomment-39806854
2968 // https://github.com/qgis/QGIS/pull/8573#issuecomment-445585826
2969
2975 {
2977 TextFormatAlwaysOutlines
2978 ),
2980 TextFormatAlwaysText
2981 ),
2982 PreferText,
2983 };
2984 Q_ENUM( TextRenderFormat )
2985
2986
2994 {
2995 UseAllLabels = 1 << 1,
2996 UsePartialCandidates = 1 << 2,
2997 // TODO QGIS 5.0: remove
2998 RenderOutlineLabels = 1 << 3,
2999 DrawLabelRectOnly = 1 << 4,
3000 DrawCandidates = 1 << 5,
3001 DrawUnplacedLabels = 1 << 6,
3002 CollectUnplacedLabels = 1 << 7,
3003 DrawLabelMetrics = 1 << 8,
3004 };
3005 Q_ENUM( LabelingFlag )
3006
3007
3015 Q_FLAG( LabelingFlags )
3016
3025 {
3026 Version1 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion1 ),
3027 Version2 SIP_MONKEYPATCH_COMPAT_NAME( PlacementEngineVersion2 ),
3028 };
3029 Q_ENUM( LabelPlacementEngineVersion )
3030
3031
3039 {
3040 Horizontal SIP_MONKEYPATCH_COMPAT_NAME( HorizontalOrientation ),
3041 Vertical SIP_MONKEYPATCH_COMPAT_NAME( VerticalOrientation ),
3042 RotationBased SIP_MONKEYPATCH_COMPAT_NAME( RotationBasedOrientation ),
3043 };
3044 Q_ENUM( TextOrientation )
3045
3046
3054 {
3056 Point,
3058 RectangleCapHeightBased,
3059 RectangleAscentBased,
3060 };
3061 Q_ENUM( TextLayoutMode )
3062
3063
3071 {
3072 Text = 1 << 0,
3073 Buffer = 1 << 1,
3074 Background = 1 << 2,
3075 Shadow = 1 << 3,
3076 };
3077 Q_ENUM( TextComponent )
3078
3079
3084 Q_DECLARE_FLAGS( TextComponents, TextComponent )
3085 Q_FLAG( TextComponents )
3086
3101 Q_ENUM( TextHorizontalAlignment )
3102
3103
3114 {
3116 VerticalCenter SIP_MONKEYPATCH_COMPAT_NAME( AlignVCenter ),
3117 Bottom SIP_MONKEYPATCH_COMPAT_NAME( AlignBottom ),
3118 };
3119 Q_ENUM( TextVerticalAlignment )
3120
3121
3130 {
3131 Normal,
3132 SuperScript,
3133 SubScript,
3134 };
3135 Q_ENUM( TextCharacterVerticalAlignment )
3136
3137
3143 {
3144 TruncateStringWhenLineIsTooShort = 1 << 0,
3145 UseBaselinePlacement = 1 << 1,
3146 UprightCharactersOnly = 1 << 2,
3147 ExtendLineToFitText = 1 << 3,
3148 };
3149 Q_ENUM( CurvedTextFlag )
3150
3151
3157
3166 {
3167 Distance = 0,
3168 SnapToGrid = 1,
3169 Visvalingam = 2,
3170 SnappedToGridGlobal = 3,
3171 };
3172 Q_ENUM( VectorSimplificationAlgorithm )
3173
3174
3182 {
3183 NoSimplification = 0,
3184 GeometrySimplification = 1,
3185 AntialiasingSimplification = 2,
3186 FullSimplification = 3,
3187 };
3188 Q_ENUM( VectorRenderingSimplificationFlag )
3189
3190
3199
3206 {
3207 Generic,
3208 ShadowOffset,
3209 BlurSize,
3210 GlowSpread,
3211 };
3212 Q_ENUM( RenderSubcomponentProperty )
3213
3214
3220 {
3221 SymbolLayer,
3222 Label,
3223 };
3224 Q_ENUM( SelectiveMaskSourceType )
3225
3226
3231 {
3232 Segment SIP_MONKEYPATCH_COMPAT_NAME( SegmentVertex ) = 1,
3233 Curve SIP_MONKEYPATCH_COMPAT_NAME( CurveVertex ) = 2,
3234 ControlPoint SIP_MONKEYPATCH_COMPAT_NAME( ControlPointVertex ) = 3,
3235 };
3236 Q_ENUM( VertexType )
3237
3238
3246 {
3247 Square,
3248 Diamond,
3249 Pentagon,
3250 Hexagon,
3251 Triangle,
3252 EquilateralTriangle,
3253 Star,
3254 Arrow,
3255 Circle,
3256 Cross,
3257 CrossFill,
3258 Cross2,
3259 Line,
3260 ArrowHead,
3261 ArrowHeadFilled,
3262 SemiCircle,
3263 ThirdCircle,
3264 QuarterCircle,
3265 QuarterSquare,
3266 HalfSquare,
3267 DiagonalHalfSquare,
3268 RightHalfTriangle,
3269 LeftHalfTriangle,
3270 Octagon,
3271 SquareWithCorners,
3272 AsteriskFill,
3273 HalfArc,
3274 ThirdArc,
3275 QuarterArc,
3276 ParallelogramRight,
3277 ParallelogramLeft,
3278 Trapezoid,
3279 Shield,
3280 DiamondStar,
3281 Heart,
3282 Decagon,
3283 RoundedSquare,
3284 };
3285 Q_ENUM( MarkerShape )
3286
3287
3295 {
3296 Interval = 1 << 0,
3297 Vertex = 1 << 1,
3298 LastVertex = 1 << 2,
3299 FirstVertex = 1 << 3,
3300 CentralPoint = 1 << 4,
3301 CurvePoint = 1 << 5,
3302 SegmentCenter = 1 << 6,
3303 InnerVertices = 1 << 7,
3304 };
3305 Q_ENUM( MarkerLinePlacement )
3307 Q_FLAG( MarkerLinePlacements )
3308
3315 {
3316 IntervalCartesian2D = 1 << 0,
3317 IntervalZ = 1 << 1,
3318 IntervalM = 1 << 2,
3319 Vertex = 1 << 3,
3320 };
3321 Q_ENUM( LinearReferencingPlacement )
3322
3323
3329 {
3330 CartesianDistance2D,
3331 Z,
3332 M,
3333 };
3334 Q_ENUM( LinearReferencingLabelSource )
3335
3336
3344 {
3345 SimpleTwoColor,
3346 ColorRamp,
3347 };
3348 Q_ENUM( GradientColorSource )
3349
3350
3363 Q_ENUM( GradientType )
3364
3365
3373 {
3374 Feature,
3375 Viewport,
3376 };
3377 Q_ENUM( SymbolCoordinateReference )
3378
3379
3393 Q_ENUM( GradientSpread )
3394
3395
3403 {
3404 Absolute SIP_MONKEYPATCH_COMPAT_NAME( AbsoluteCount ),
3405 DensityBased SIP_MONKEYPATCH_COMPAT_NAME( DensityBasedCount ),
3406 };
3407 Q_ENUM( PointCountMethod )
3408
3409
3414 enum class MarkerClipMode : int
3415 {
3416 NoClipping,
3417 Shape,
3418 CentroidWithin,
3419 CompletelyWithin,
3420 };
3421 Q_ENUM( MarkerClipMode )
3422
3423
3428 enum class LineClipMode : int
3429 {
3430 ClipPainterOnly,
3431 ClipToIntersection,
3432 NoClipping,
3433 };
3434 Q_ENUM( LineClipMode )
3435
3436
3442 {
3443 NoRule,
3444 FullDash,
3445 HalfDash,
3446 FullGap,
3447 HalfGap,
3448 };
3449 Q_ENUM( DashPatternLineEndingRule )
3450
3451
3457 {
3458 ScaleBothDashAndGap,
3459 ScaleDashOnly,
3460 ScaleGapOnly,
3461 };
3462 Q_ENUM( DashPatternSizeAdjustment )
3463
3464
3476 Q_ENUM( GraduatedMethod )
3477
3478
3484 {
3485 NoLabels,
3486 EveryLabel,
3487 FirstLabel,
3488 LastLabel,
3489 FirstAndLastLabels,
3490 };
3491 Q_ENUM( PlotAxisSuffixPlacement )
3492
3493
3494
3499 enum class PlotAxisType
3500 {
3501 Interval,
3502 Categorical,
3503 };
3504 Q_ENUM( PlotAxisType )
3505
3506
3511 enum class PieChartLabelType : int
3512 {
3513 NoLabels,
3514 Categories,
3515 Values,
3516 };
3517 Q_ENUM( PieChartLabelType )
3518
3519
3523 enum class DpiMode
3524 {
3525 All = 7,
3526 Off = 0,
3527 QGIS = 1,
3528 UMN = 2,
3529 GeoServer = 4,
3530 };
3531 Q_ENUM( DpiMode )
3532
3533
3538 {
3539 Undefined = 0,
3540 StandardDpi = 1,
3541 HighDpi = 2,
3542 };
3543 Q_ENUM( TilePixelRatio )
3544
3545 // NOTE -- the hardcoded numbers here must match QFont::Capitalization!
3546
3547
3555 {
3556 MixedCase = 0,
3557 AllUppercase = 1,
3558 AllLowercase = 2,
3559 ForceFirstLetterToCapital = 4,
3560 SmallCaps = 5,
3561 TitleCase = 1004,
3562 UpperCamelCase = 1005,
3563 AllSmallCaps = 1006,
3564 };
3565 Q_ENUM( Capitalization )
3566
3567
3572 enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
3573 {
3574 WrapLines = 1 << 0,
3575 };
3576 Q_ENUM( TextRendererFlag )
3578 Q_FLAG( TextRendererFlags )
3579
3586 {
3587 MapBox,
3588 Esri,
3589 };
3591
3598 {
3599 Clockwise,
3600 CounterClockwise,
3601 NoOrientation,
3602 };
3603 Q_ENUM( AngularDirection )
3604
3605
3610 enum class RendererUsage : int
3611 {
3612 View,
3613 Export,
3614 Unknown,
3615 };
3616 Q_ENUM( RendererUsage )
3617
3618
3623 enum class MapCanvasFlag : int SIP_ENUM_BASETYPE( IntFlag )
3624 {
3625 ShowMainAnnotationLayer = 1 << 0,
3626 };
3627 Q_ENUM( MapCanvasFlag )
3628
3629
3634 Q_DECLARE_FLAGS( MapCanvasFlags, MapCanvasFlag )
3635 Q_FLAG( MapCanvasFlags )
3636
3642 enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
3643 {
3644 Sync3DTo2D = 1 << 0,
3645 Sync2DTo3D = 1 << 1,
3646 };
3647 Q_ENUM( ViewSyncModeFlag )
3649
3656 {
3657 Always,
3658 WhenOutsideVisibleExtent,
3659 Never,
3660 };
3661 Q_ENUM( MapRecenteringMode )
3662
3663
3668 enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
3669 {
3670 LocalProfile = 1 << 0,
3671 // Project = 1 << 1, //!< QGIS Project (not yet implemented)
3672 };
3673 Q_ENUM( HistoryProviderBackend )
3675 Q_FLAG( HistoryProviderBackends )
3676
3682 enum class QueryStorageBackend : int
3683 {
3684 LocalProfile,
3685 CurrentProject,
3686 };
3687 Q_ENUM( QueryStorageBackend )
3688
3689
3697 {
3698 MapLayer SIP_MONKEYPATCH_COMPAT_NAME( TypeMapLayer ) = -2,
3699 VectorAnyGeometry SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorAnyGeometry ) = -1,
3700 VectorPoint SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPoint ) = 0,
3701 VectorLine SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorLine ) = 1,
3702 VectorPolygon SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorPolygon ) = 2,
3703 Raster SIP_MONKEYPATCH_COMPAT_NAME( TypeRaster ) = 3,
3704 File SIP_MONKEYPATCH_COMPAT_NAME( TypeFile ) = 4,
3705 Vector SIP_MONKEYPATCH_COMPAT_NAME( TypeVector ) = 5,
3706 Mesh SIP_MONKEYPATCH_COMPAT_NAME( TypeMesh ) = 6,
3707 Plugin SIP_MONKEYPATCH_COMPAT_NAME( TypePlugin ) = 7,
3708 PointCloud SIP_MONKEYPATCH_COMPAT_NAME( TypePointCloud ) = 8,
3709 Annotation SIP_MONKEYPATCH_COMPAT_NAME( TypeAnnotation ) = 9,
3710 VectorTile SIP_MONKEYPATCH_COMPAT_NAME( TypeVectorTile ) = 10,
3711 TiledScene = 11
3712 };
3713 Q_ENUM( ProcessingSourceType )
3714
3715
3716
3724 {
3725 DeemphasiseSearchResults SIP_MONKEYPATCH_COMPAT_NAME( FlagDeemphasiseSearchResults )
3726 = 1 << 1,
3727 CompatibleWithVirtualRaster SIP_MONKEYPATCH_COMPAT_NAME( FlagCompatibleWithVirtualRaster ) = 1 << 2,
3728 };
3730
3739 Q_FLAG( ProcessingProviderFlags )
3740
3741
3749 {
3750 HideFromToolbox SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromToolbox ) = 1 << 1,
3751 HideFromModeler SIP_MONKEYPATCH_COMPAT_NAME( FlagHideFromModeler ) = 1 << 2,
3752 SupportsBatch SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsBatch ) = 1 << 3,
3753 CanCancel SIP_MONKEYPATCH_COMPAT_NAME( FlagCanCancel ) = 1 << 4,
3754 RequiresMatchingCrs SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresMatchingCrs ) = 1 << 5,
3755 NoThreading SIP_MONKEYPATCH_COMPAT_NAME( FlagNoThreading ) = 1 << 6,
3756 DisplayNameIsLiteral SIP_MONKEYPATCH_COMPAT_NAME( FlagDisplayNameIsLiteral ) = 1 << 7,
3757 SupportsInPlaceEdits SIP_MONKEYPATCH_COMPAT_NAME( FlagSupportsInPlaceEdits ) = 1 << 8,
3758 KnownIssues SIP_MONKEYPATCH_COMPAT_NAME( FlagKnownIssues ) = 1 << 9,
3759 CustomException SIP_MONKEYPATCH_COMPAT_NAME( FlagCustomException ) = 1 << 10,
3760 PruneModelBranchesBasedOnAlgorithmResults SIP_MONKEYPATCH_COMPAT_NAME( FlagPruneModelBranchesBasedOnAlgorithmResults ) = 1 << 11,
3761 SkipGenericModelLogging SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGenericModelLogging ) = 1 << 12,
3762 NotAvailableInStandaloneTool SIP_MONKEYPATCH_COMPAT_NAME( FlagNotAvailableInStandaloneTool ) = 1 << 13,
3763 RequiresProject SIP_MONKEYPATCH_COMPAT_NAME( FlagRequiresProject ) = 1 << 14,
3764 SecurityRisk = 1 << 15,
3765 Deprecated SIP_MONKEYPATCH_COMPAT_NAME( FlagDeprecated ) = HideFromToolbox | HideFromModeler,
3766 };
3768
3777 Q_FLAG( ProcessingAlgorithmFlags )
3778
3779
3785 {
3786 RegeneratesPrimaryKey = 1 << 0,
3787 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3788 RespectsEllipsoid = 1 << 2,
3789 };
3790 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3791
3792
3799
3809 {
3810 NotAvailable,
3811 Available,
3812 };
3813 Q_ENUM( ProcessingPropertyAvailability )
3814
3815
3823 {
3824 DefaultLevel = 0,
3825 Verbose,
3826 ModelDebug,
3827 };
3828 Q_ENUM( ProcessingLogLevel )
3829
3830
3838 {
3839 Standard,
3840 Batch,
3841 Modeler,
3842 };
3843 Q_ENUM( ProcessingMode )
3844
3845
3853 {
3854 OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck )
3855 = 1 << 0,
3856 CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature )
3857 = 1 << 1,
3858 };
3859 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3860
3861
3870
3879 {
3880 SkipGeometryValidityChecks SIP_MONKEYPATCH_COMPAT_NAME( FlagSkipGeometryValidityChecks ) = 1 << 1,
3881 };
3882 Q_ENUM( ProcessingFeatureSourceFlag )
3883
3884
3893
3905 {
3906 ExposeToModeler = 1
3907 };
3908 Q_ENUM( ProcessingParameterTypeFlag )
3909
3910
3922
3931 {
3932 Advanced SIP_MONKEYPATCH_COMPAT_NAME( FlagAdvanced ) = 1 << 1,
3933 Hidden SIP_MONKEYPATCH_COMPAT_NAME( FlagHidden ) = 1 << 2,
3934 Optional SIP_MONKEYPATCH_COMPAT_NAME( FlagOptional ) = 1 << 3,
3935 IsModelOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagIsModelOutput ) = 1 << 4,
3936 };
3937 Q_ENUM( ProcessingParameterFlag )
3938
3939
3947 Q_FLAG( ProcessingParameterFlags )
3948
3961 Q_ENUM( ProcessingFileParameterBehavior )
3962
3963
3975 Q_ENUM( ProcessingNumberParameterType )
3976
3977
3985 {
3986 Any = -1,
3987 Numeric = 0,
3988 String = 1,
3989 DateTime = 2,
3990 Binary = 3,
3991 Boolean = 4,
3992 };
3993 Q_ENUM( ProcessingFieldParameterDataType )
3994
3995
4008 Q_ENUM( ProcessingDateTimeParameterDataType )
4009
4010
4016 {
4017 ModelParameter,
4018 ChildOutput,
4019 StaticValue,
4020 Expression,
4021 ExpressionText,
4022 ModelOutput,
4023 };
4024 Q_ENUM( ProcessingModelChildParameterSource )
4025
4026
4032 {
4033 NotExecuted,
4035 Failed,
4036 };
4037 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4038
4039
4047 {
4048 Vertices,
4049 StructureLines,
4050 BreakLines
4051 };
4052 Q_ENUM( ProcessingTinInputLayerType )
4053
4054
4064 Q_ENUM( CrsDefinitionFormat )
4065
4066
4074 enum class FieldDomainSplitPolicy : int
4075 {
4076 DefaultValue,
4077 Duplicate,
4078 GeometryRatio,
4079 UnsetField,
4080 };
4081 Q_ENUM( FieldDomainSplitPolicy )
4082
4083
4091 enum class FieldDomainMergePolicy : int
4092 {
4093 DefaultValue,
4094 Sum,
4095 GeometryWeighted,
4096 UnsetField,
4097 LargestGeometry,
4098 MinimumValue,
4099 MaximumValue,
4100 SetToNull,
4101 };
4102 Q_ENUM( FieldDomainMergePolicy )
4103
4104
4111 enum class FieldDuplicatePolicy : int
4112 {
4113 DefaultValue,
4114 Duplicate,
4115 UnsetField,
4116 };
4117 Q_ENUM( FieldDuplicatePolicy )
4118
4119
4124 enum class FieldDomainType : int
4125 {
4126 Coded,
4127 Range,
4128 Glob,
4129 };
4130 Q_ENUM( FieldDomainType )
4131
4132
4137 enum class TransactionMode : int
4138 {
4139 Disabled = 0,
4140 AutomaticGroups = 1,
4141 BufferedGroups = 2,
4142 };
4143 Q_ENUM( TransactionMode )
4144
4145
4150 enum class AltitudeClamping : int
4151 {
4152 Absolute,
4153 Relative,
4154 Terrain,
4155 };
4156 Q_ENUM( AltitudeClamping )
4157
4158
4163 enum class AltitudeBinding : int
4164 {
4165 Vertex,
4166 Centroid,
4167 };
4168 Q_ENUM( AltitudeBinding )
4169
4170
4175 enum class RangeLimits : int
4176 {
4177 IncludeBoth = 0,
4178 IncludeLowerExcludeUpper,
4179 ExcludeLowerIncludeUpper,
4180 ExcludeBoth,
4181 };
4182 Q_ENUM( RangeLimits )
4183
4184
4189 enum class RasterElevationMode : int
4190 {
4191 FixedElevationRange = 0,
4192 RepresentsElevationSurface = 1,
4193 FixedRangePerBand = 2,
4194 DynamicRangePerBand = 3,
4195 };
4196 Q_ENUM( RasterElevationMode )
4197
4198
4203 enum class MeshElevationMode : int
4204 {
4205 FixedElevationRange = 0,
4206 FromVertices = 1,
4207 FixedRangePerGroup = 2,
4208 };
4209 Q_ENUM( MeshElevationMode )
4210
4211
4217 {
4218 NoConstraint,
4219 Perpendicular,
4220 Parallel
4221 };
4222 Q_ENUM( BetweenLineConstraint )
4223
4224
4229 enum class LineExtensionSide : int
4230 {
4231 BeforeVertex,
4232 AfterVertex,
4233 NoVertex,
4234 };
4235 Q_ENUM( LineExtensionSide )
4236
4237
4238
4242 enum class CadConstraintType : int
4243 {
4244 Generic,
4245 Angle,
4246 Distance,
4247 XCoordinate,
4248 YCoordinate,
4249 ZValue,
4250 MValue,
4251 };
4252 Q_ENUM( CadConstraintType )
4253
4254
4259 {
4260 Hidden,
4261 Cartesian,
4262 Ellipsoidal,
4263 };
4264 Q_ENUM( CadMeasurementDisplayType )
4265
4266
4271 enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
4272 {
4273 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4274 TrustStoredLayerStatistics
4275 = 1 << 1,
4276 RememberLayerEditStatusBetweenSessions = 1 << 2,
4277 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4278 };
4279 Q_ENUM( ProjectFlag )
4280 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
4281 Q_FLAG( ProjectFlags )
4282
4288 enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
4289 {
4290 ShowContextMenu = 1 << 0,
4291 };
4292 Q_ENUM( PlotToolFlag )
4293 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
4294 Q_FLAG( PlotToolFlags )
4295
4296
4304 enum class Point3DShape : int
4305 {
4306 Cylinder,
4307 Sphere,
4308 Cone,
4309 Cube,
4310 Torus,
4311 Plane,
4312 ExtrudedText,
4313 Model,
4314 Billboard,
4315 };
4316 Q_ENUM( Point3DShape )
4317
4318
4327 {
4328 Triangles,
4329 Lines,
4330 InstancedPoints,
4331 Points,
4332 TrianglesWithFixedTexture,
4333 TrianglesFromModel,
4334 TrianglesDataDefined,
4335 Billboards,
4336 };
4337 Q_ENUM( MaterialRenderingTechnique )
4338
4339
4344 enum class LightSourceType : int
4345 {
4346 Point,
4347 Directional,
4348 };
4349 Q_ENUM( LightSourceType )
4350
4351
4356 enum class NavigationMode : int
4357 {
4358 TerrainBased,
4359 Walk,
4360 GlobeTerrainBased
4361 };
4362 Q_ENUM( NavigationMode )
4363
4364
4369 enum class SceneMode : int
4370 {
4371 Local,
4372 Globe
4373 };
4374 Q_ENUM( SceneMode )
4375
4376
4381 enum class VerticalAxisInversion : int
4382 {
4383 Never,
4384 WhenDragging,
4385 Always,
4386 };
4387 Q_ENUM( VerticalAxisInversion )
4388
4389
4395 {
4396 Line,
4397 FillBelow,
4398 FillAbove,
4399 };
4401
4407 enum class VectorProfileType : int
4408 {
4409 IndividualFeatures,
4410 ContinuousSurface,
4411 };
4413
4419 enum class PointCloudProfileType : int
4420 {
4421 IndividualPoints,
4422 TriangulatedSurface,
4423 };
4425
4431 enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
4432 {
4433 RespectsMaximumErrorMapUnit = 1 << 0,
4434 RespectsDistanceRange = 1 << 1,
4435 RespectsElevationRange = 1 << 2,
4436 };
4437 Q_ENUM( ProfileGeneratorFlag )
4439 Q_FLAG( ProfileGeneratorFlags )
4440
4446 enum class ProfileExportType : int
4447 {
4448 Features3D,
4449 Profile2D,
4450 DistanceVsElevationTable,
4451 };
4453
4460 {
4461 Square,
4462 Circle,
4463 };
4464 Q_ENUM( PointCloudSymbol )
4465
4466
4472 {
4473 Default,
4474 BottomToTop,
4475 TopToBottom,
4476 };
4477 Q_ENUM( PointCloudDrawOrder )
4478
4479
4487 {
4488 AllowIntersections,
4489 AvoidIntersectionsCurrentLayer,
4490 AvoidIntersectionsLayers,
4491 };
4492 Q_ENUM( AvoidIntersectionsMode )
4493
4494
4502 {
4503 Qgz,
4504 Qgs,
4505 };
4506 Q_ENUM( ProjectFileFormat )
4507
4508
4516 {
4517 DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers )
4518 = 1 << 0,
4519 DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts )
4520 = 1 << 1,
4521 TrustLayerMetadata SIP_MONKEYPATCH_COMPAT_NAME( FlagTrustLayerMetadata )
4522 = 1 << 2,
4523 DontStoreOriginalStyles SIP_MONKEYPATCH_COMPAT_NAME( FlagDontStoreOriginalStyles ) = 1 << 3,
4524 DontLoad3DViews SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoad3DViews ) = 1 << 4,
4525 DontLoadProjectStyles = 1 << 5,
4526 ForceReadOnlyLayers = 1 << 6,
4527 DontUpgradeAnnotations = 1 << 7,
4528 };
4529 Q_ENUM( ProjectReadFlag )
4530
4531
4539 Q_FLAG( ProjectReadFlags )
4540
4549 enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
4550 {
4551 ProjectStyles = 1 << 0,
4552 };
4553 Q_ENUM( ProjectCapability )
4554
4555
4561 Q_FLAG( ProjectCapabilities )
4562
4569 {
4570 Vector,
4571 Raster,
4572 RasterDem,
4573 GeoJson,
4574 Image,
4575 Video,
4576 Unknown,
4577 };
4578 Q_ENUM( MapBoxGlStyleSourceType )
4579
4580
4588 {
4589 FeatureServer SIP_MONKEYPATCH_COMPAT_NAME( FeatureService ),
4590 MapServer SIP_MONKEYPATCH_COMPAT_NAME( MapService ),
4591 ImageServer SIP_MONKEYPATCH_COMPAT_NAME( ImageService ),
4592 GlobeServer,
4593 GPServer,
4594 GeocodeServer,
4595 Unknown,
4596 SceneServer,
4597 };
4598 Q_ENUM( ArcGisRestServiceType )
4599
4600
4609 {
4610 Map = 1 << 0,
4611 Query = 1 << 1,
4612 Update = 1 << 2,
4613 Delete = 1 << 3,
4614 Create = 1 << 4,
4615 };
4616 Q_ENUM( ArcGisRestServiceCapability )
4617
4618
4625
4634 {
4635 Normal,
4636 Generated,
4637 };
4638 Q_ENUM( RelationshipType )
4639
4640
4648 {
4649 Association,
4650 Composition,
4651 };
4652 Q_ENUM( RelationshipStrength )
4653
4654
4660 {
4661 OneToOne,
4662 OneToMany,
4663 ManyToOne,
4664 ManyToMany,
4665 };
4666 Q_ENUM( RelationshipCardinality )
4667
4668
4673 enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
4674 {
4675 MultipleFieldKeys = 1 << 0,
4676 ForwardPathLabel = 1 << 1,
4677 BackwardPathLabel = 1 << 2,
4678 };
4679 Q_ENUM( RelationshipCapability )
4680
4681
4687 Q_FLAG( RelationshipCapabilities )
4688
4694 enum class CoordinateDisplayType : int
4695 {
4696 MapCrs,
4697 MapGeographic,
4698 CustomCrs,
4699 };
4700 Q_ENUM( CoordinateDisplayType )
4701
4702
4707 enum class SettingsOrigin : int
4708 {
4709 Any,
4710 Global,
4711 Local,
4712 };
4713 Q_ENUM( SettingsOrigin )
4714
4715
4720 enum class ScriptLanguage : int
4721 {
4722 Css,
4723 QgisExpression,
4724 Html,
4725 JavaScript,
4726 Json,
4727 Python,
4728 R,
4729 Sql,
4730 Batch,
4731 Bash,
4732 Unknown,
4733 };
4734 Q_ENUM( ScriptLanguage )
4735
4736
4744 {
4745 Reformat = 1 << 0,
4746 CheckSyntax = 1 << 1,
4747 ToggleComment = 1 << 2,
4748 };
4749 Q_ENUM( ScriptLanguageCapability )
4750
4751
4758
4765 {
4766 AboveInsertionPoint,
4767 TopOfTree,
4768 OptimalInInsertionGroup,
4769 };
4770 Q_ENUM( LayerTreeInsertionMethod )
4771
4772
4777 enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
4778 {
4779 SkipVisibilityCheck = 1 << 0,
4780 };
4781 Q_ENUM( LayerTreeFilterFlag )
4782
4783
4789 Q_FLAG( LayerTreeFilterFlags )
4790
4796 enum class MapLayerLegendFlag : int SIP_ENUM_BASETYPE( IntFlag )
4797 {
4798 ExcludeByDefault = 1 << 0,
4799 };
4800 Q_ENUM( MapLayerLegendFlag )
4801
4802
4808 Q_FLAG( MapLayerLegendFlags )
4809
4818 {
4819 Undefined,
4820 Hidden,
4821 Title,
4822 Group,
4823 Subgroup,
4824 Symbol,
4825 SymbolLabel,
4826 };
4827 // !!! WARNING: If adding new values to this enum, make sure you update QgsLegendSettings constructor accordingly!!
4828 Q_ENUM( LegendComponent )
4829
4830
4835 enum class LegendSyncMode : int
4836 {
4837 AllProjectLayers,
4838 VisibleLayers,
4839 Manual,
4840 };
4841 Q_ENUM( LegendSyncMode )
4842
4843
4850 enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
4851 {
4852 ShowRuleDetails = 1 << 0,
4853 };
4854 Q_ENUM( LegendJsonRenderFlag )
4856 Q_FLAG( LegendJsonRenderFlags )
4857
4865 enum class ActionType : int
4866 {
4867 Invalid,
4868 MapLayerAction,
4869 AttributeAction
4870 };
4871 Q_ENUM( ActionType )
4872
4873
4880 enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
4881 {
4882 Layer = 1 << 0,
4883 SingleFeature = 1 << 1,
4884 MultipleFeatures = 1 << 2,
4885 AllActions = Layer | SingleFeature | MultipleFeatures
4886 };
4887 Q_ENUM( MapLayerActionTarget )
4888
4889
4897 Q_FLAG( MapLayerActionTargets )
4898
4906 enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
4907 {
4908 EnabledOnlyWhenEditable = 1 << 1,
4909 EnableOnlyWhenHasGeometry = 1 << 2,
4910 };
4911 Q_ENUM( MapLayerActionFlag )
4912
4913
4921 Q_FLAG( MapLayerActionFlags )
4922
4931 {
4932 Generic,
4933 GenericPython,
4934 Mac,
4935 Windows,
4936 Unix,
4937 OpenUrl,
4938 SubmitUrlEncoded,
4939 SubmitUrlMultipart,
4940 };
4941 Q_ENUM( AttributeActionType )
4942
4943
4949 {
4950 Created,
4951 Published,
4952 Revised,
4953 Superseded,
4954 };
4955 Q_ENUM( MetadataDateType )
4956
4957
4966
4968 {
4969 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedColorInterpretation ) = 0,
4970 GrayIndex = 1,
4971 PaletteIndex = 2,
4972 RedBand = 3,
4973 GreenBand = 4,
4974 BlueBand = 5,
4975 AlphaBand = 6,
4976 HueBand = 7,
4977 SaturationBand = 8,
4978 LightnessBand = 9,
4979 CyanBand = 10,
4980 MagentaBand = 11,
4981 YellowBand = 12,
4982 BlackBand = 13,
4983 YCbCr_YBand = 14,
4984 YCbCr_CbBand = 15,
4985 YCbCr_CrBand = 16,
4986 ContinuousPalette = 17,
4987
4988 // Note: values between PanBand and SAR_P_Band match additions done in
4989 // GDAL 3.10, except that the numeric values of the constant don't match GDAL ones
4990
4991 PanBand = 18,
4992 CoastalBand = 19,
4993 RedEdgeBand = 20,
4994 NIRBand = 21,
4995 SWIRBand = 22,
4996 MWIRBand = 23,
4997 LWIRBand = 24,
4998 TIRBand = 25,
4999 OtherIRBand = 26,
5000 SAR_Ka_Band = 27,
5001 SAR_K_Band = 28,
5002 SAR_Ku_Band = 30,
5003 SAR_X_Band = 31,
5004 SAR_C_Band = 32,
5005 SAR_S_Band = 33,
5006 SAR_L_Band = 34,
5007 SAR_P_Band = 35,
5008 };
5009 Q_ENUM( RasterColorInterpretation )
5010
5011
5019 {
5020 GrayOrUndefined,
5021 Palette,
5022 MultiBand SIP_MONKEYPATCH_COMPAT_NAME( Multiband ),
5023 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( ColorLayer ),
5024 };
5025 Q_ENUM( RasterLayerType )
5026
5027
5035 {
5036 Undefined SIP_MONKEYPATCH_COMPAT_NAME( UndefinedDrawingStyle ),
5037 SingleBandGray,
5038 SingleBandPseudoColor,
5039 PalettedColor,
5040 PalettedSingleBandGray,
5041 PalettedSingleBandPseudoColor,
5042 PalettedMultiBandColor,
5043 MultiBandSingleBandGray,
5044 MultiBandSingleBandPseudoColor,
5045 MultiBandColor,
5046 SingleBandColorData SIP_MONKEYPATCH_COMPAT_NAME( SingleBandColorDataStyle ),
5047 };
5048 Q_ENUM( RasterDrawingStyle )
5049
5050
5057 enum class RasterPyramidFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, RasterPyramidsFormat ) : int
5058 {
5059 GeoTiff SIP_MONKEYPATCH_COMPAT_NAME( PyramidsGTiff ) = 0,
5060 Internal SIP_MONKEYPATCH_COMPAT_NAME( PyramidsInternal ) = 1,
5061 Erdas SIP_MONKEYPATCH_COMPAT_NAME( PyramidsErdas ) = 2
5062 };
5063 Q_ENUM( RasterPyramidFormat )
5064
5065
5073 {
5074 No SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagNo ) = 0,
5075 Yes SIP_MONKEYPATCH_COMPAT_NAME( PyramidsFlagYes ) = 1,
5076 CopyExisting SIP_MONKEYPATCH_COMPAT_NAME( PyramidsCopyExisting ) = 2
5077 };
5078 Q_ENUM( RasterBuildPyramidOption )
5079
5080
5088 {
5089 Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0,
5090 Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1,
5091 Text SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatText ) = 1 << 1,
5092 Html SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatHtml ) = 1 << 2,
5093 Feature SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatFeature ) = 1 << 3,
5094 };
5095 Q_ENUM( RasterIdentifyFormat )
5096
5097 // TODO QGIS 5 -- remove NoCapabilities and rely on RasterInterfaceCapabilities() instead
5098 // remove deprecated members
5099 // Remove "Identify" member, and replace with combinations of IdentifyValue/IdentifyText/etc
5100
5101
5109 {
5110 NoCapabilities = 0,
5111 Size = 1 << 1,
5112 Create = 1 << 2,
5113 Remove = 1 << 3,
5114 BuildPyramids = 1 << 4,
5115 Identify = 1 << 5,
5116 IdentifyValue = 1 << 6,
5117 IdentifyText = 1 << 7,
5118 IdentifyHtml = 1 << 8,
5119 IdentifyFeature = 1 << 9,
5120 Prefetch = 1 << 10,
5121 };
5122 Q_ENUM( RasterInterfaceCapability )
5123
5124
5131
5132 // TODO QGIS 5 -- remove NoProviderCapabilities and rely on RasterProviderCapabilities() instead
5133
5142 {
5143 NoProviderCapabilities = 0,
5144 ReadLayerMetadata = 1 << 1,
5145 WriteLayerMetadata = 1 << 2,
5146 ProviderHintBenefitsFromResampling = 1 << 3,
5147 ProviderHintCanPerformProviderResampling = 1 << 4,
5148 ReloadData = 1 << 5,
5149 DpiDependentData = 1 << 6,
5150 NativeRasterAttributeTable = 1 << 7,
5151 BuildPyramids = 1 << 8,
5152 };
5153 Q_ENUM( RasterProviderCapability )
5154
5155
5164
5171 {
5172 HighestElevation,
5173 NewerElevation,
5174 };
5175 Q_ENUM( ElevationMapCombineMethod )
5176
5177
5186 {
5187 Normal SIP_MONKEYPATCH_COMPAT_NAME( BlendNormal ),
5188 Lighten SIP_MONKEYPATCH_COMPAT_NAME( BlendLighten ),
5189 Screen SIP_MONKEYPATCH_COMPAT_NAME( BlendScreen ),
5190 Dodge SIP_MONKEYPATCH_COMPAT_NAME( BlendDodge ),
5191 Addition SIP_MONKEYPATCH_COMPAT_NAME( BlendAddition ),
5192 Darken SIP_MONKEYPATCH_COMPAT_NAME( BlendDarken ),
5193 Multiply SIP_MONKEYPATCH_COMPAT_NAME( BlendMultiply ),
5195 Overlay SIP_MONKEYPATCH_COMPAT_NAME( BlendOverlay ),
5196 SoftLight SIP_MONKEYPATCH_COMPAT_NAME( BlendSoftLight ),
5197 HardLight SIP_MONKEYPATCH_COMPAT_NAME( BlendHardLight ),
5198 Difference SIP_MONKEYPATCH_COMPAT_NAME( BlendDifference ),
5199 Subtract SIP_MONKEYPATCH_COMPAT_NAME( BlendSubtract ),
5200 Source SIP_MONKEYPATCH_COMPAT_NAME( BlendSource ),
5201 DestinationOver SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOver ),
5202 Clear SIP_MONKEYPATCH_COMPAT_NAME( BlendClear ),
5203 Destination SIP_MONKEYPATCH_COMPAT_NAME( BlendDestination ),
5204 SourceIn SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceIn ),
5205 DestinationIn SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationIn ),
5206 SourceOut SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceOut ),
5207 DestinationOut SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationOut ),
5208 SourceAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendSourceAtop ),
5209 DestinationAtop SIP_MONKEYPATCH_COMPAT_NAME( BlendDestinationAtop ),
5211 };
5212 Q_ENUM( BlendMode )
5213
5214
5222 {
5223 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownSystem ) = 0,
5224 Metric SIP_MONKEYPATCH_COMPAT_NAME( MetricSystem ),
5225 Imperial SIP_MONKEYPATCH_COMPAT_NAME( ImperialSystem ),
5226 USCS SIP_MONKEYPATCH_COMPAT_NAME( USCSSystem ),
5227 };
5228 Q_ENUM( SystemOfMeasurement )
5229
5230
5237 {
5238 Layer SIP_MONKEYPATCH_COMPAT_NAME( LayerUnits ),
5239 Pixels,
5240 Project SIP_MONKEYPATCH_COMPAT_NAME( ProjectUnits )
5241 };
5242 Q_ENUM( MapToolUnit )
5243
5244
5252 {
5253 Distance SIP_MONKEYPATCH_COMPAT_NAME( TypeDistance ) = 0,
5255 Volume SIP_MONKEYPATCH_COMPAT_NAME( TypeVolume ),
5256 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TypeUnknown ),
5257 Temporal SIP_MONKEYPATCH_COMPAT_NAME( TypeTemporal ),
5258 };
5259 Q_ENUM( UnitType )
5260
5261
5269 {
5270 Meters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMeters ),
5271 Kilometers SIP_MONKEYPATCH_COMPAT_NAME( DistanceKilometers ),
5272 Feet SIP_MONKEYPATCH_COMPAT_NAME( DistanceFeet ),
5273 NauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( DistanceNauticalMiles ),
5274 Yards SIP_MONKEYPATCH_COMPAT_NAME( DistanceYards ),
5275 Miles SIP_MONKEYPATCH_COMPAT_NAME( DistanceMiles ),
5276 Degrees SIP_MONKEYPATCH_COMPAT_NAME( DistanceDegrees ),
5277 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceCentimeters ),
5278 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( DistanceMillimeters ),
5279 Inches,
5280 ChainsInternational,
5281 ChainsBritishBenoit1895A,
5282 ChainsBritishBenoit1895B,
5283 ChainsBritishSears1922Truncated,
5284 ChainsBritishSears1922,
5285 ChainsClarkes,
5286 ChainsUSSurvey,
5287 FeetBritish1865,
5288 FeetBritish1936,
5289 FeetBritishBenoit1895A,
5290 FeetBritishBenoit1895B,
5291 FeetBritishSears1922Truncated,
5292 FeetBritishSears1922,
5293 FeetClarkes,
5294 FeetGoldCoast,
5295 FeetIndian,
5296 FeetIndian1937,
5297 FeetIndian1962,
5298 FeetIndian1975,
5299 FeetUSSurvey,
5300 LinksInternational,
5301 LinksBritishBenoit1895A,
5302 LinksBritishBenoit1895B,
5303 LinksBritishSears1922Truncated,
5304 LinksBritishSears1922,
5305 LinksClarkes,
5306 LinksUSSurvey,
5307 YardsBritishBenoit1895A,
5308 YardsBritishBenoit1895B,
5309 YardsBritishSears1922Truncated,
5310 YardsBritishSears1922,
5311 YardsClarkes,
5312 YardsIndian,
5313 YardsIndian1937,
5314 YardsIndian1962,
5315 YardsIndian1975,
5316 MilesUSSurvey,
5317 Fathoms,
5318 MetersGermanLegal,
5319 Unknown SIP_MONKEYPATCH_COMPAT_NAME( DistanceUnknownUnit ),
5320 };
5321 Q_ENUM( DistanceUnit )
5322
5323
5331 {
5332 Standard,
5333 Geographic,
5334 Unknown SIP_MONKEYPATCH_COMPAT_NAME( UnknownType ),
5335 };
5336 Q_ENUM( DistanceUnitType )
5337
5338
5346 {
5347 SquareMeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMeters ),
5348 SquareKilometers SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareKilometers ),
5349 SquareFeet SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareFeet ),
5350 SquareYards SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareYards ),
5351 SquareMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMiles ),
5352 Hectares SIP_MONKEYPATCH_COMPAT_NAME( AreaHectares ),
5353 Acres SIP_MONKEYPATCH_COMPAT_NAME( AreaAcres ),
5354 SquareNauticalMiles SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareNauticalMiles ),
5355 SquareDegrees SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareDegrees ),
5356 SquareCentimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareCentimeters ),
5357 SquareMillimeters SIP_MONKEYPATCH_COMPAT_NAME( AreaSquareMillimeters ),
5358 SquareInches,
5359 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AreaUnknownUnit ),
5360 };
5361 Q_ENUM( AreaUnit )
5362
5363
5371 {
5372 CubicMeters SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicMeters ),
5373 CubicFeet SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicFeet ),
5374 CubicYards SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicYards ),
5375 Barrel SIP_MONKEYPATCH_COMPAT_NAME( VolumeBarrel ),
5376 CubicDecimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDecimeter ),
5377 Liters SIP_MONKEYPATCH_COMPAT_NAME( VolumeLiters ),
5378 GallonUS SIP_MONKEYPATCH_COMPAT_NAME( VolumeGallonUS ),
5379 CubicInch SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicInch ),
5380 CubicCentimeter SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicCentimeter ),
5381 CubicDegrees SIP_MONKEYPATCH_COMPAT_NAME( VolumeCubicDegrees ),
5382 Unknown SIP_MONKEYPATCH_COMPAT_NAME( VolumeUnknownUnit ),
5383 };
5384 Q_ENUM( VolumeUnit )
5385
5386
5394 {
5395 Degrees SIP_MONKEYPATCH_COMPAT_NAME( AngleDegrees ),
5396 Radians SIP_MONKEYPATCH_COMPAT_NAME( AngleRadians ),
5398 MinutesOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleMinutesOfArc ),
5399 SecondsOfArc SIP_MONKEYPATCH_COMPAT_NAME( AngleSecondsOfArc ),
5401 MilliradiansSI SIP_MONKEYPATCH_COMPAT_NAME( AngleMilliradiansSI ),
5402 MilNATO SIP_MONKEYPATCH_COMPAT_NAME( AngleMilNATO ),
5403 Unknown SIP_MONKEYPATCH_COMPAT_NAME( AngleUnknownUnit ),
5404 };
5405 Q_ENUM( AngleUnit )
5406
5407
5415 {
5416 Milliseconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalMilliseconds ),
5417 Seconds SIP_MONKEYPATCH_COMPAT_NAME( TemporalSeconds ),
5418 Minutes SIP_MONKEYPATCH_COMPAT_NAME( TemporalMinutes ),
5419 Hours SIP_MONKEYPATCH_COMPAT_NAME( TemporalHours ),
5420 Days SIP_MONKEYPATCH_COMPAT_NAME( TemporalDays ),
5421 Weeks SIP_MONKEYPATCH_COMPAT_NAME( TemporalWeeks ),
5422 Months SIP_MONKEYPATCH_COMPAT_NAME( TemporalMonths ),
5423 Years SIP_MONKEYPATCH_COMPAT_NAME( TemporalYears ),
5424 Decades SIP_MONKEYPATCH_COMPAT_NAME( TemporalDecades ),
5425 Centuries SIP_MONKEYPATCH_COMPAT_NAME( TemporalCenturies ),
5426 IrregularStep SIP_MONKEYPATCH_COMPAT_NAME( TemporalIrregularStep ),
5427 Unknown SIP_MONKEYPATCH_COMPAT_NAME( TemporalUnknownUnit )
5428 };
5429 Q_ENUM( TemporalUnit )
5430
5431
5439 {
5440 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( RenderMillimeters ),
5441 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMapUnits ),
5442 Pixels SIP_MONKEYPATCH_COMPAT_NAME( RenderPixels ),
5443 Percentage SIP_MONKEYPATCH_COMPAT_NAME( RenderPercentage ),
5444 Points SIP_MONKEYPATCH_COMPAT_NAME( RenderPoints ),
5445 Inches SIP_MONKEYPATCH_COMPAT_NAME( RenderInches ),
5446 Unknown SIP_MONKEYPATCH_COMPAT_NAME( RenderUnknownUnit ),
5447 MetersInMapUnits SIP_MONKEYPATCH_COMPAT_NAME( RenderMetersInMapUnits ),
5448 };
5449 Q_ENUM( RenderUnit )
5450
5451
5459 {
5460 Millimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMillimeters ),
5461 Centimeters SIP_MONKEYPATCH_COMPAT_NAME( LayoutCentimeters ),
5462 Meters SIP_MONKEYPATCH_COMPAT_NAME( LayoutMeters ),
5463 Inches SIP_MONKEYPATCH_COMPAT_NAME( LayoutInches ),
5464 Feet SIP_MONKEYPATCH_COMPAT_NAME( LayoutFeet ),
5465 Points SIP_MONKEYPATCH_COMPAT_NAME( LayoutPoints ),
5466 Picas SIP_MONKEYPATCH_COMPAT_NAME( LayoutPicas ),
5467 Pixels SIP_MONKEYPATCH_COMPAT_NAME( LayoutPixels )
5468 };
5469 Q_ENUM( LayoutUnit )
5470
5471
5479 {
5480 PaperUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutPaperUnits ),
5481 ScreenUnits SIP_MONKEYPATCH_COMPAT_NAME( LayoutScreenUnits )
5482 };
5483 Q_ENUM( LayoutUnitType )
5484
5485
5493 {
5494 Debug SIP_MONKEYPATCH_COMPAT_NAME( FlagDebug ) = 1 << 1,
5495 OutlineOnly SIP_MONKEYPATCH_COMPAT_NAME( FlagOutlineOnly ) = 1 << 2,
5496 Antialiasing SIP_MONKEYPATCH_COMPAT_NAME( FlagAntialiasing ) = 1 << 3,
5497 UseAdvancedEffects SIP_MONKEYPATCH_COMPAT_NAME( FlagUseAdvancedEffects ) = 1 << 4,
5498 ForceVectorOutput SIP_MONKEYPATCH_COMPAT_NAME( FlagForceVectorOutput )
5499 = 1 << 5,
5500 HideCoverageLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagHideCoverageLayer ) = 1 << 6,
5501 DrawSelection SIP_MONKEYPATCH_COMPAT_NAME( FlagDrawSelection ) = 1 << 7,
5502 DisableTiledRasterLayerRenders SIP_MONKEYPATCH_COMPAT_NAME( FlagDisableTiledRasterLayerRenders )
5503 = 1 << 8,
5504 RenderLabelsByMapLayer SIP_MONKEYPATCH_COMPAT_NAME( FlagRenderLabelsByMapLayer )
5505 = 1 << 9,
5506 LosslessImageRendering SIP_MONKEYPATCH_COMPAT_NAME( FlagLosslessImageRendering )
5507 = 1 << 10,
5508 SynchronousLegendGraphics SIP_MONKEYPATCH_COMPAT_NAME( FlagSynchronousLegendGraphics ) = 1 << 11,
5509 AlwaysUseGlobalMasks SIP_MONKEYPATCH_COMPAT_NAME( FlagAlwaysUseGlobalMasks )
5510 = 1 << 12,
5511 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5512 };
5513 Q_ENUM( LayoutRenderFlag )
5514
5515
5523 Q_FLAG( LayoutRenderFlags )
5524
5533 {
5534 SVG SIP_MONKEYPATCH_COMPAT_NAME( FormatSVG ) = 0,
5535 Raster SIP_MONKEYPATCH_COMPAT_NAME( FormatRaster ),
5536 Unknown SIP_MONKEYPATCH_COMPAT_NAME( FormatUnknown ),
5537 };
5538 Q_ENUM( PictureFormat )
5539
5540
5545 enum class ScaleCalculationMethod : int
5546 {
5547 HorizontalTop = 0,
5548 HorizontalMiddle,
5549 HorizontalBottom,
5550 HorizontalAverage,
5551 AtEquator,
5552 };
5553 Q_ENUM( ScaleCalculationMethod )
5554
5555
5568 Q_ENUM( ScaleBarAlignment )
5569
5570
5578 {
5579 Fixed SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFixed ) = 0,
5580 FitWidth SIP_MONKEYPATCH_COMPAT_NAME( SegmentSizeFitWidth ) = 1
5581 };
5582 Q_ENUM( ScaleBarSegmentSizeMode )
5583
5584
5592 {
5593 AboveSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelAboveSegment ) = 0,
5594 BelowSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelBelowSegment ),
5595 };
5596 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5597
5598
5606 {
5607 CenteredEdge SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredEdge ) = 0,
5608 CenteredSegment SIP_MONKEYPATCH_COMPAT_NAME( LabelCenteredSegment ),
5609 };
5610 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5611
5612
5613
5621 {
5622 MapUnits SIP_MONKEYPATCH_COMPAT_NAME( MapUnit ),
5625 DynamicPageSizeBased,
5626 };
5627 Q_ENUM( MapGridUnit )
5628
5629
5637 {
5638 Lines SIP_MONKEYPATCH_COMPAT_NAME( Solid ) = 0,
5639 LineCrosses SIP_MONKEYPATCH_COMPAT_NAME( Cross ),
5640 Markers,
5641 FrameAndAnnotationsOnly SIP_MONKEYPATCH_COMPAT_NAME( FrameAnnotationsOnly )
5642 };
5643 Q_ENUM( MapGridStyle )
5644
5645
5653 {
5654 ShowAll = 0,
5655 LatitudeOnly,
5656 LongitudeOnly,
5657 HideAll
5658 };
5659 Q_ENUM( MapGridComponentVisibility )
5660
5661
5669 {
5670 InsideMapFrame = 0,
5671 OutsideMapFrame,
5672 };
5673 Q_ENUM( MapGridAnnotationPosition )
5674
5675
5683 {
5684 Horizontal = 0,
5685 Vertical,
5686 VerticalDescending,
5687 BoundaryDirection,
5688 AboveTick,
5689 OnTick,
5690 UnderTick,
5691 };
5692 Q_ENUM( MapGridAnnotationDirection )
5693
5694
5702 {
5703 Decimal = 0,
5704 DegreeMinute,
5705 DegreeMinuteSecond,
5706 DecimalWithSuffix,
5707 DegreeMinuteNoSuffix,
5708 DegreeMinutePadded,
5709 DegreeMinuteSecondNoSuffix,
5710 DegreeMinuteSecondPadded,
5711 CustomFormat
5712 };
5713 Q_ENUM( MapGridAnnotationFormat )
5714
5715
5729 Q_ENUM( MapGridBorderSide )
5730
5731
5739 {
5740 NoFrame = 0,
5741 Zebra,
5742 InteriorTicks,
5743 ExteriorTicks,
5744 InteriorExteriorTicks,
5745 LineBorder,
5746 LineBorderNautical,
5747 ZebraNautical,
5748 };
5749 Q_ENUM( MapGridFrameStyle )
5750
5751
5759 {
5760 OrthogonalTicks = 0,
5761 NormalizedTicks,
5762 };
5763 Q_ENUM( MapGridTickLengthMode )
5764
5765
5766
5774 {
5775 Left SIP_MONKEYPATCH_COMPAT_NAME( FrameLeft ) = 0x01,
5776 Right SIP_MONKEYPATCH_COMPAT_NAME( FrameRight ) = 0x02,
5777 Top SIP_MONKEYPATCH_COMPAT_NAME( FrameTop ) = 0x04,
5778 Bottom SIP_MONKEYPATCH_COMPAT_NAME( FrameBottom ) = 0x08
5779 };
5780 Q_ENUM( MapGridFrameSideFlag )
5781
5782
5790 Q_FLAG( MapGridFrameSideFlags )
5791
5800 {
5801 Longitude = 0,
5802 Latitude
5803 };
5804 Q_ENUM( MapGridAnnotationType )
5805
5806
5811 enum class InputControllerType : int
5812 {
5813 Map2D,
5814 Map3D
5815 };
5817
5824 {
5825 NotSet,
5826 Unknown,
5827 OrdinaryTable,
5828 Index,
5829 Sequence,
5830 View,
5831 MaterializedView,
5832 CompositeType,
5833 ToastTable,
5834 ForeignTable,
5835 PartitionedTable,
5836 };
5837 Q_ENUM( PostgresRelKind )
5838
5839
5845 {
5846 SetFieldComment = 1 << 0,
5847 SetFieldAlias = 1 << 1,
5848 SetTableComment = 1 << 2,
5849 EditFieldDomain = 1 << 3,
5850 DeleteFieldDomain = 1 << 4,
5851 };
5852 Q_ENUM( DatabaseProviderConnectionCapability2 )
5855
5862 {
5863 SetGeometryColumnName = 1 << 0,
5864 SetPrimaryKeyName = 1 << 1,
5865 };
5866 Q_ENUM( DatabaseProviderTableImportCapability )
5869
5876 {
5877 SaveToDatabase = 1 << 1,
5878 LoadFromDatabase = 1 << 2,
5879 DeleteFromDatabase = 1 << 3
5880 };
5884
5885
5891 {
5892 LastProfile,
5893 DefaultProfile,
5894 AskUser,
5895 };
5896 Q_ENUM( UserProfileSelectionPolicy )
5897
5898
5906 {
5907 Container SIP_MONKEYPATCH_COMPAT_NAME( AeTypeContainer ),
5908 Field SIP_MONKEYPATCH_COMPAT_NAME( AeTypeField ),
5909 Relation SIP_MONKEYPATCH_COMPAT_NAME( AeTypeRelation ),
5910 QmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeQmlElement ),
5911 HtmlElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeHtmlElement ),
5912 Action SIP_MONKEYPATCH_COMPAT_NAME( AeTypeAction ),
5913 TextElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeTextElement ),
5914 SpacerElement SIP_MONKEYPATCH_COMPAT_NAME( AeTypeSpacerElement ),
5915 Invalid SIP_MONKEYPATCH_COMPAT_NAME( AeTypeInvalid ),
5916 };
5917 Q_ENUM( AttributeEditorType )
5918
5919
5925 {
5926 GroupBox,
5927 Tab,
5928 Row,
5929 };
5930 Q_ENUM( AttributeEditorContainerType )
5931
5932
5940 {
5941 AutoGenerated SIP_MONKEYPATCH_COMPAT_NAME( GeneratedLayout ) = 0,
5942 DragAndDrop SIP_MONKEYPATCH_COMPAT_NAME( TabLayout ) = 1,
5943 UiFile SIP_MONKEYPATCH_COMPAT_NAME( UiFileLayout ) = 2
5944 };
5945 Q_ENUM( AttributeFormLayout )
5946
5947
5955 {
5956 Default SIP_MONKEYPATCH_COMPAT_NAME( SuppressDefault ) = 0,
5957 On SIP_MONKEYPATCH_COMPAT_NAME( SuppressOn ) = 1,
5958 Off SIP_MONKEYPATCH_COMPAT_NAME( SuppressOff ) = 2
5959 };
5960 Q_ENUM( AttributeFormSuppression )
5961
5962
5970 {
5971 NoSource SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceNone ) = 0,
5972 File SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceFile ) = 1,
5973 Dialog SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceDialog ) = 2,
5974 Environment SIP_MONKEYPATCH_COMPAT_NAME( CodeSourceEnvironment ) = 3
5975 };
5976 Q_ENUM( AttributeFormPythonInitCodeSource )
5977
5978
5984 {
5985 NotAllowed = 0,
5986 AllowedDefaultOn = 1,
5987 AllowedDefaultOff = 2,
5988 };
5989 Q_ENUM( AttributeFormReuseLastValuePolicy )
5990
5991
5997 {
5999 PointCloud,
6000 RasterCalculator,
6001 };
6002 Q_ENUM( ExpressionType )
6003
6004
6012 {
6013 NoSymbology = 0,
6014 PerFeature SIP_MONKEYPATCH_COMPAT_NAME( FeatureSymbology ),
6015 PerSymbolLayer SIP_MONKEYPATCH_COMPAT_NAME( SymbolLayerSymbology )
6016 };
6017 Q_ENUM( FeatureSymbologyExport )
6018
6019
6024 enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
6025 {
6026 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6027 };
6028 Q_ENUM( VectorTileProviderFlag )
6029
6030
6036 Q_FLAG( VectorTileProviderFlags )
6037
6043 {
6044 ReadLayerMetadata = 1 << 1,
6045 };
6046 Q_ENUM( VectorTileProviderCapability )
6047
6048
6055
6062 {
6063 Available,
6064 NotAvailable,
6065 AvailableNoChildren,
6066 UseLowerZoomLevelTile,
6067 };
6068 Q_ENUM( TileAvailability )
6069
6070
6076 {
6077 ReadLayerMetadata = 1 << 1,
6078 };
6079 Q_ENUM( TiledSceneProviderCapability )
6080
6081
6088
6095 {
6096 Region,
6097 OrientedBox,
6098 Sphere,
6099 };
6100 Q_ENUM( TiledSceneBoundingVolumeType )
6101
6102
6111 {
6112 Replacement,
6113 Additive,
6114 };
6115 Q_ENUM( TileRefinementProcess )
6116
6117
6123 {
6124 NoChildren,
6125 Available,
6126 NeedFetching,
6127 };
6128 Q_ENUM( TileChildrenAvailability )
6129
6130
6135 enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
6136 {
6137 NoHierarchyFetch = 1 << 0,
6138 };
6139 Q_ENUM( TiledSceneRequestFlag )
6140
6141
6147 Q_FLAG( TiledSceneRequestFlags )
6148
6154 enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
6155 {
6156 RequiresTextures = 1 << 0,
6157 ForceRasterRender = 1 << 1,
6158 RendersTriangles = 1 << 2,
6159 RendersLines = 1 << 3,
6160 };
6161 Q_ENUM( TiledSceneRendererFlag )
6162
6163
6169 Q_FLAG( TiledSceneRendererFlags )
6170
6176 enum class GdalResampleAlgorithm : int
6177 {
6178 RA_NearestNeighbour = 0,
6179 RA_Bilinear = 1,
6180 RA_Cubic = 2,
6181 RA_CubicSpline = 3,
6182 RA_Lanczos = 4,
6183 RA_Average = 5,
6184 RA_Mode = 6,
6185 RA_Max = 8,
6186 RA_Min = 9,
6187 RA_Median = 10,
6188 RA_Q1 = 11,
6189 RA_Q3 = 12,
6190 };
6191 Q_ENUM( GdalResampleAlgorithm )
6192
6193
6198 enum class VsiHandlerType : int
6199 {
6200 Invalid,
6201 Archive,
6202 Network,
6203 Cloud,
6204 Memory,
6205 Other,
6206 };
6207 Q_ENUM( VsiHandlerType )
6208
6209 // TODO QGIS 5: make All include all values (we can't do this before 4.0, as we need to keep
6210 // compatibility with code which expects all these statistics to give numeric results)
6211
6212
6217 enum class ZonalStatistic : int SIP_ENUM_BASETYPE( IntFlag )
6218 {
6219 Count = 1 << 0,
6220 Sum = 1 << 1,
6221 Mean = 1 << 2,
6222 Median = 1 << 3,
6223 StDev = 1 << 4,
6224 Min = 1 << 5,
6225 Max = 1 << 6,
6226 Range = 1 << 7,
6227 Minority = 1 << 8,
6228 Majority = 1 << 9,
6229 Variety = 1 << 10,
6230 Variance = 1 << 11,
6231 MinimumPoint = 1 << 12,
6232 MaximumPoint = 1 << 13,
6233 // clang-format off
6234 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6235 // clang-format on
6236 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6237 Default = Count | Sum | Mean,
6238 };
6239 Q_ENUM( ZonalStatistic )
6240
6241
6247 Q_FLAG( ZonalStatistics )
6248
6254 enum class ZonalStatisticResult : int
6255 {
6257 LayerTypeWrong = 1,
6258 LayerInvalid,
6259 RasterInvalid,
6260 RasterBandInvalid,
6261 FailedToCreateField = 8,
6262 Canceled = 9
6263 };
6264 Q_ENUM( ZonalStatisticResult )
6265
6266
6273 {
6274 Count,
6275 CountDistinct,
6276 CountMissing,
6277 Min,
6278 Max,
6279 Sum,
6280 Mean,
6281 Median,
6282 StDev,
6283 StDevSample,
6284 Range,
6285 Minority,
6286 Majority,
6287 FirstQuartile,
6288 ThirdQuartile,
6289 InterQuartileRange,
6290 StringMinimumLength,
6291 StringMaximumLength,
6292 StringConcatenate,
6293 GeometryCollect,
6294 ArrayAggregate,
6295 StringConcatenateUnique
6296 };
6297 Q_ENUM( Aggregate )
6298
6299
6305 {
6306 Count = 1 << 0,
6307 CountMissing = 1 << 15,
6308 Sum = 1 << 1,
6309 Mean = 1 << 2,
6310 Median = 1 << 3,
6311 StDev = 1 << 4,
6312 StDevSample = 1 << 5,
6313 Min = 1 << 6,
6314 Max = 1 << 7,
6315 Range = 1 << 8,
6316 Minority = 1 << 9,
6317 Majority = 1 << 10,
6318 Variety = 1 << 11,
6319 FirstQuartile = 1 << 12,
6320 ThirdQuartile = 1 << 13,
6321 InterQuartileRange = 1 << 14,
6322 First = 1 << 16,
6323 Last = 1 << 17,
6324 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6325 };
6326 Q_ENUM( Statistic )
6327
6328
6334 Q_FLAG( Statistics )
6335
6342 {
6343 Count = 1,
6344 CountDistinct = 2,
6345 CountMissing = 4,
6346 Min = 8,
6347 Max = 16,
6348 Range = 32,
6349 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6350 };
6351 Q_ENUM( DateTimeStatistic )
6352
6353
6359 Q_FLAG( DateTimeStatistics )
6360
6367 {
6368 Count = 1,
6369 CountDistinct = 2,
6370 CountMissing = 4,
6371 Min = 8,
6372 Max = 16,
6373 MinimumLength = 32,
6374 MaximumLength = 64,
6375 MeanLength = 128,
6376 Minority = 256,
6377 Majority = 512,
6378 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6379 };
6380 Q_ENUM( StringStatistic )
6381
6382
6388 Q_FLAG( StringStatistics )
6389
6396 {
6397 NoStatistic = 0,
6398 Min = 1,
6399 Max = 1 << 1,
6400 Range = 1 << 2,
6401 Sum = 1 << 3,
6402 Mean = 1 << 4,
6403 StdDev = 1 << 5,
6404 SumOfSquares = 1 << 6,
6405 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6406 };
6407 Q_ENUM( RasterBandStatistic )
6408
6409
6415 Q_FLAG( RasterBandStatistics )
6416
6422 enum class SensorThingsEntity : int
6423 {
6424 Invalid,
6425 Thing,
6426 Location,
6427 HistoricalLocation,
6428 Datastream,
6429 Sensor,
6430 ObservedProperty,
6431 Observation,
6432 FeatureOfInterest,
6433 MultiDatastream,
6434 };
6435 Q_ENUM( SensorThingsEntity )
6436
6437
6442 enum class ColorModel : int
6443 {
6444 Rgb,
6445 Cmyk,
6446 };
6447 Q_ENUM( ColorModel )
6448
6449
6454 enum class DocumentationApi : int
6455 {
6456 PyQgis,
6457 PyQgisSearch,
6458 CppQgis,
6459 Qt,
6460 };
6461 Q_ENUM( DocumentationApi )
6462
6463
6468 enum class DocumentationBrowser : int
6469 {
6470 DeveloperToolsPanel,
6471 SystemWebBrowser,
6472 };
6473 Q_ENUM( DocumentationBrowser )
6474
6475
6480 enum class MouseHandlesAction : int
6481 {
6482 MoveItem,
6483 ResizeUp,
6484 ResizeDown,
6485 ResizeLeft,
6486 ResizeRight,
6487 ResizeLeftUp,
6488 ResizeRightUp,
6489 ResizeLeftDown,
6490 ResizeRightDown,
6491 RotateTopLeft,
6492 RotateTopRight,
6493 RotateBottomLeft,
6494 RotateBottomRight,
6495 SelectItem,
6496 NoAction
6497 };
6498 Q_ENUM( MouseHandlesAction )
6499
6500
6504 enum class MeshRangeLimit : int
6505 {
6506 NotSet,
6507 MinimumMaximum,
6508 };
6509 Q_ENUM( MeshRangeLimit )
6510
6511
6516 enum class MeshRangeExtent : int
6517 {
6518 WholeMesh,
6519 FixedCanvas,
6520 UpdatedCanvas,
6521 };
6522 Q_ENUM( MeshRangeExtent )
6523
6524
6530 enum class PointCloudAccessType : int
6531 {
6532 Local,
6533 Remote
6534 };
6535 Q_ENUM( PointCloudAccessType )
6536
6537
6542 {
6543 RenderExtents,
6544 RenderOverview,
6545 RenderOverviewAndExtents
6546 };
6547 Q_ENUM( PointCloudZoomOutRenderBehavior )
6548
6549
6554 {
6555 Standard = 0,
6556 Adaptive,
6557 AreaError,
6558 ConstantDensity
6559 };
6560 Q_ENUM( SegmentCalculationMethod )
6561
6562
6566 enum class StacObjectType : int
6567 {
6568 Unknown,
6569 Catalog,
6570 Collection,
6571 Item,
6572 };
6573 Q_ENUM( StacObjectType )
6574
6575
6580 {
6581 WmsScale = 1 << 0,
6582 WmsDpi = 1 << 1,
6583 };
6584 Q_ENUM( RasterProcessingParameterCapability )
6585
6586
6592
6598 {
6599 Status = Qt::UserRole + 1,
6600 Id,
6601 ElapsedTime,
6602 MaximumTime,
6603 Sort,
6604 };
6605 Q_ENUM( DevToolsNodeRole )
6606
6607
6612 enum class ExtrusionFace : int SIP_ENUM_BASETYPE( IntFlag )
6613 {
6614 NoFace = 0,
6615 Walls = 1 << 0,
6616 Roof = 1 << 1,
6617 Floor = 1 << 2
6618 };
6619 Q_ENUM( ExtrusionFace )
6620
6621
6625 Q_DECLARE_FLAGS( ExtrusionFaces, ExtrusionFace )
6626 Q_FLAG( ExtrusionFaces )
6627
6632 enum class TriangulationAlgorithm : int SIP_ENUM_BASETYPE( IntFlag )
6633 {
6634 ConstrainedDelaunay = 0,
6635 Earcut = 1 << 0
6636 };
6637 Q_ENUM( TriangulationAlgorithm )
6638
6639
6642 static const double DEFAULT_SEARCH_RADIUS_MM;
6643
6646
6652 static const QColor DEFAULT_HIGHLIGHT_COLOR;
6653
6657 static const double DEFAULT_HIGHLIGHT_BUFFER_MM;
6658
6663
6671 Q_DECL_DEPRECATED static const double SCALE_PRECISION;
6672
6677 static const double DEFAULT_Z_COORDINATE;
6678
6684 static const double DEFAULT_M_COORDINATE;
6685
6690 static const double UI_SCALE_FACTOR;
6691
6695 static const double DEFAULT_SNAP_TOLERANCE;
6696
6701
6705 static const int USER_CRS_START_ID;
6706
6708 static const double DEFAULT_POINT_SIZE;
6709
6711 static const double DEFAULT_LINE_WIDTH;
6712
6714 static const double DEFAULT_SEGMENT_EPSILON;
6715
6718
6721
6727 static QString defaultProjectScales();
6728
6734 static int geosVersionInt();
6735
6741 static int geosVersionMajor();
6742
6748 static int geosVersionMinor();
6749
6755 static int geosVersionPatch();
6756
6762 static QString geosVersion();
6763
6769 static bool hasSfcgal();
6770
6777 static int sfcgalVersionInt();
6778
6784 static bool hasGeographicLib();
6785
6792 static int geographicLibVersion();
6793
6799 Q_DECL_DEPRECATED static bool hasQtWebkit();
6800
6806 static QString geoNone() { return u"NONE"_s; }
6807
6813 static QString geographicCrsAuthId() { return u"EPSG:4326"_s; }
6814
6819 Q_DECL_DEPRECATED static QString geoWkt()
6820 {
6821 return QStringLiteral(
6822 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]] )"""
6823 );
6824 }
6825
6830 Q_DECL_DEPRECATED static QString geoProj4() { return u"+proj=longlat +datum=WGS84 +no_defs"_s; }
6831};
6832
6835
6930Q_DECLARE_METATYPE( QTimeZone )
6931
6932// hack to workaround warnings when casting void pointers
6933// retrieved from QLibrary::resolve to function pointers.
6934// It's assumed that this works on all systems supporting
6935// QLibrary
6936#define cast_to_fptr( f ) f
6937
6938
6946// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
6947template<class Object> class QgsSignalBlocker SIP_SKIP SIP_SKIP // clazy:exclude=rule-of-three
6948{
6949 public:
6954 explicit QgsSignalBlocker( Object *object )
6955 : mObject( object )
6956 , mPreviousState( object->blockSignals( true ) )
6957 {}
6958
6959 ~QgsSignalBlocker() { mObject->blockSignals( mPreviousState ); }
6960
6962 Object *operator->() { return mObject; }
6963
6964 private:
6965 Object *mObject = nullptr;
6966 bool mPreviousState;
6967};
6968
6981// based on Boojum's code from http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
6982template<class Object> inline QgsSignalBlocker<Object> whileBlocking( Object *object ) SIP_SKIP SIP_SKIP
6983{
6984 return QgsSignalBlocker<Object>( object );
6985}
6986
6988CORE_EXPORT uint qHash( const QVariant &variant );
6989
6995inline QString qgsDoubleToString( double a, int precision = 17 )
6996{
6997 QString str;
6998 if ( precision )
6999 {
7000 if ( precision < 0 )
7001 {
7002 const double roundFactor = std::pow( 10, -precision );
7003 str = QString::number( static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7004 }
7005 else
7006 {
7007 str = QString::number( a, 'f', precision );
7008 if ( str.contains( '.'_L1 ) )
7009 {
7010 // remove ending 0s
7011 int idx = str.length() - 1;
7012 while ( str.at( idx ) == '0' && idx > 1 )
7013 {
7014 idx--;
7015 }
7016 if ( idx < str.length() - 1 )
7017 str.truncate( str.at( idx ) == '.' ? idx : idx + 1 );
7018 }
7019 }
7020 }
7021 else
7022 {
7023 str = QString::number( a, 'f', precision );
7024 }
7025 // avoid printing -0
7026 // see https://bugreports.qt.io/browse/QTBUG-71439
7027 if ( str == "-0"_L1 )
7028 {
7029 return "0"_L1;
7030 }
7031 return str;
7032}
7033
7040inline bool qgsNanCompatibleEquals( double a, double b )
7041{
7042 const bool aIsNan = std::isnan( a );
7043 const bool bIsNan = std::isnan( b );
7044 if ( aIsNan || bIsNan )
7045 return aIsNan && bIsNan;
7046
7047 return a == b;
7048}
7049
7050#ifndef SIP_RUN
7051
7059template<typename T> inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7060{
7061 const bool aIsNan = std::isnan( a );
7062 const bool bIsNan = std::isnan( b );
7063 if ( aIsNan || bIsNan )
7064 return aIsNan && bIsNan;
7065
7066 const T diff = a - b;
7067 return diff >= -epsilon && diff <= epsilon;
7068}
7069#endif
7070
7077inline bool qgsDoubleNear( double a, double b, double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7078{
7079 return qgsNumberNear<double>( a, b, epsilon );
7080}
7081
7088inline bool qgsFloatNear( float a, float b, float epsilon = 4 * FLT_EPSILON )
7089{
7090 return qgsNumberNear<float>( a, b, epsilon );
7091}
7092
7094inline bool qgsDoubleNearSig( double a, double b, int significantDigits = 10 )
7095{
7096 const bool aIsNan = std::isnan( a );
7097 const bool bIsNan = std::isnan( b );
7098 if ( aIsNan || bIsNan )
7099 return aIsNan && bIsNan;
7100
7101 // The most simple would be to print numbers as %.xe and compare as strings
7102 // but that is probably too costly
7103 // Then the fastest would be to set some bits directly, but little/big endian
7104 // has to be considered (maybe TODO)
7105 // Is there a better way?
7106 int aexp, bexp;
7107 const double ar = std::frexp( a, &aexp );
7108 const double br = std::frexp( b, &bexp );
7109
7110 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7111}
7112
7117inline double qgsRound( double number, int places )
7118{
7119 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7120 const double scaleFactor = std::pow( 10.0, places );
7121 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7122}
7123
7124#ifndef SIP_RUN
7125
7132template<class Key, class Value> QString qgsMapJoinKeys( const QMap<Key, Value> &map, const QString &separator )
7133{
7134 QString result;
7135 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7136 result += QString( "%1%2" ).arg( it.key() ).arg( separator );
7137
7138 result.chop( separator.size() );
7139 return result;
7140}
7141
7148template<class Key, class Value> QString qgsMapJoinValues( const QMap<Key, Value> &map, const QString &separator )
7149{
7150 QString result;
7151 for ( auto it = map.constBegin(); it != map.constEnd(); it++ )
7152 result += QString( "%1%2" ).arg( it.value() ).arg( separator );
7153
7154 result.chop( separator.size() );
7155 return result;
7156}
7157
7164template<class T> QString qgsSetJoin( const QSet<T> &set, const QString &separator )
7165{
7166 QString result;
7167 for ( auto it = set.constBegin(); it != set.constEnd(); it++ )
7168 result += QString( "%1%2" ).arg( *it ).arg( separator );
7169
7170 result.chop( separator.size() );
7171 return result;
7172}
7173
7175
7185namespace qgis
7186{
7187
7200 template<typename To, typename From> inline To down_cast( From *f )
7201 {
7202 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ), "target type not derived from source type" );
7203 Q_ASSERT( f == nullptr || dynamic_cast<To>( f ) != nullptr );
7204 return static_cast<To>( f );
7205 }
7206
7207 template<class T> QSet<T> listToSet( const QList<T> &list )
7208 {
7209 return QSet<T>( list.begin(), list.end() );
7210 }
7211
7212 template<class T> QList<T> setToList( const QSet<T> &set )
7213 {
7214 return QList<T>( set.begin(), set.end() );
7215 }
7216} //namespace qgis
7217
7219#endif
7220
7225template<class T> const QList<T> qgsEnumList() SIP_SKIP
7226{
7227 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7228 Q_ASSERT( metaEnum.isValid() );
7229 QList<T> enumList;
7230 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7231 {
7232 enumList.append( static_cast<T>( metaEnum.value( idx ) ) );
7233 }
7234 return enumList;
7235}
7236
7242template<class T> const QMap<T, QString> qgsEnumMap() SIP_SKIP
7243{
7244 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7245 Q_ASSERT( metaEnum.isValid() );
7246 QMap<T, QString> enumMap;
7247 for ( int idx = 0; idx < metaEnum.keyCount(); ++idx )
7248 {
7249 enumMap.insert( static_cast<T>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7250 }
7251 return enumMap;
7252}
7253
7259template<class T> QString qgsEnumValueToKey( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7260{
7261 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7262 Q_ASSERT( metaEnum.isValid() );
7263 const char *key = metaEnum.valueToKey( static_cast<int>( value ) );
7264 if ( returnOk )
7265 {
7266 *returnOk = key ? true : false;
7267 }
7268 return QString::fromUtf8( key );
7269}
7270
7278template<class T> T qgsEnumKeyToValue( const QString &key, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7279{
7280 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7281 Q_ASSERT( metaEnum.isValid() );
7282 bool ok = false;
7283 T v = static_cast<T>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7284 if ( returnOk )
7285 {
7286 *returnOk = ok;
7287 }
7288 if ( ok )
7289 {
7290 return v;
7291 }
7292 else
7293 {
7294 // if conversion has failed, try with conversion from int value
7295 if ( tryValueAsKey )
7296 {
7297 bool canConvert = false;
7298 const int intValue = key.toInt( &canConvert );
7299 if ( canConvert && metaEnum.valueToKey( intValue ) )
7300 {
7301 if ( returnOk )
7302 {
7303 *returnOk = true;
7304 }
7305 return static_cast<T>( intValue );
7306 }
7307 }
7308 }
7309 return defaultValue;
7310}
7311
7317template<class T> QString qgsFlagValueToKeys( const T &value, bool *returnOk = nullptr ) SIP_SKIP
7318{
7319 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7320 Q_ASSERT( metaEnum.isValid() );
7321 int intValue = static_cast<int>( value );
7322 if ( intValue == 0 )
7323 {
7324 if ( returnOk )
7325 *returnOk = true;
7326 return u"0"_s;
7327 }
7328
7329 const QByteArray ba = metaEnum.valueToKeys( intValue );
7330 // check that the int value does correspond to a flag
7331 // see https://stackoverflow.com/a/68495949/1548052
7332 const int intValueCheck = metaEnum.keysToValue( ba );
7333 bool ok = intValue == intValueCheck;
7334 if ( returnOk )
7335 *returnOk = ok;
7336 return ok ? QString::fromUtf8( ba ) : QString();
7337}
7338
7346template<class T> T qgsFlagKeysToValue( const QString &keys, const T &defaultValue, bool tryValueAsKey = true, bool *returnOk = nullptr ) SIP_SKIP
7347{
7348 if ( keys.isEmpty() )
7349 {
7350 if ( returnOk )
7351 {
7352 *returnOk = false;
7353 }
7354 return defaultValue;
7355 }
7356 else if ( keys == "0"_L1 )
7357 {
7358 if ( returnOk )
7359 {
7360 *returnOk = true;
7361 }
7362 return T();
7363 }
7364 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7365 Q_ASSERT( metaEnum.isValid() );
7366 bool ok = false;
7367 T v = static_cast<T>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7368 if ( returnOk )
7369 {
7370 *returnOk = ok;
7371 }
7372 if ( ok )
7373 {
7374 return v;
7375 }
7376 else
7377 {
7378 // if conversion has failed, try with conversion from int value
7379 if ( tryValueAsKey )
7380 {
7381 bool canConvert = false;
7382 const int intValue = keys.toInt( &canConvert );
7383 if ( canConvert )
7384 {
7385 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7386 const int intValueCheck = metaEnum.keysToValue( keyArray );
7387 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7388 {
7389 if ( returnOk )
7390 {
7391 *returnOk = true;
7392 }
7393 return T( intValue );
7394 }
7395 }
7396 }
7397 }
7398 return defaultValue;
7399}
7400
7401
7410CORE_EXPORT double qgsPermissiveToDouble( QString string, bool &ok );
7411
7420CORE_EXPORT int qgsPermissiveToInt( QString string, bool &ok );
7421
7431CORE_EXPORT qlonglong qgsPermissiveToLongLong( QString string, bool &ok );
7432
7452CORE_EXPORT int qgsVariantCompare( const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck = false );
7453
7464CORE_EXPORT bool qgsVariantLessThan( const QVariant &lhs, const QVariant &rhs );
7465
7474CORE_EXPORT bool qgsVariantEqual( const QVariant &lhs, const QVariant &rhs );
7475
7484CORE_EXPORT bool qgsVariantGreaterThan( const QVariant &lhs, const QVariant &rhs );
7485
7497inline bool operator>( const QVariant &v1, const QVariant &v2 )
7498{
7499 return qgsVariantCompare( v1, v2, true ) > 0;
7500}
7501
7513inline bool operator<( const QVariant &v1, const QVariant &v2 )
7514{
7515 return qgsVariantCompare( v1, v2, true ) < 0;
7516}
7517
7524Q_DECL_DEPRECATED CORE_EXPORT QString qgsVsiPrefix( const QString &path ) SIP_DEPRECATED;
7525
7531void CORE_EXPORT *qgsMalloc( size_t size ) SIP_SKIP;
7532
7537void CORE_EXPORT qgsFree( void *ptr ) SIP_SKIP;
7538
7539#ifndef SIP_RUN
7540
7542class ScopedIntIncrementor
7543{
7544 public:
7545 ScopedIntIncrementor( int *variable )
7546 : mVariable( variable )
7547 {
7548 ( *mVariable )++;
7549 }
7550
7551 ScopedIntIncrementor( const ScopedIntIncrementor &other ) = delete;
7552 ScopedIntIncrementor &operator=( const ScopedIntIncrementor &other ) = delete;
7553
7554 void release()
7555 {
7556 if ( mVariable )
7557 ( *mVariable )--;
7558
7559 mVariable = nullptr;
7560 }
7561
7562 ~ScopedIntIncrementor() { release(); }
7563
7564 private:
7565 int *mVariable = nullptr;
7566};
7568
7569#endif
7570
7576Q_DECL_DEPRECATED const long GEOSRID = 4326;
7577
7583Q_DECL_DEPRECATED const long GEOCRS_ID = 3452;
7584
7590Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID = 4326;
7591
7592typedef QMap<QString, QString> QgsStringMap SIP_SKIP;
7593
7602typedef unsigned long long qgssize;
7603
7604#ifndef SIP_RUN
7605#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
7606
7607#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
7608#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
7609#define Q_NOWARN_UNREACHABLE_PUSH
7610#define Q_NOWARN_UNREACHABLE_POP
7611
7612#elif defined( _MSC_VER )
7613
7614#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
7615#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
7616#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
7617#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
7618#else
7619
7620#define Q_NOWARN_DEPRECATED_PUSH
7621#define Q_NOWARN_DEPRECATED_POP
7622#define Q_NOWARN_UNREACHABLE_PUSH
7623#define Q_NOWARN_UNREACHABLE_POP
7624
7625#endif
7626#endif
7627
7628#ifndef QGISEXTERN
7629#ifdef Q_OS_WIN
7630#define QGISEXTERN extern "C" __declspec( dllexport )
7631#else
7632#if defined( __GNUC__ ) || defined( __clang__ )
7633#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
7634#else
7635#define QGISEXTERN extern "C"
7636#endif
7637#endif
7638#endif
7639#endif
7640
7641#ifndef SIP_RUN
7642#ifdef _MSC_VER
7643#define BUILTIN_UNREACHABLE __assume( false );
7644#elif defined( __GNUC__ ) && !defined( __clang__ )
7645// Workaround a GCC bug where a -Wreturn-type warning is emitted in constructs
7646// like:
7647// switch( mVariableThatCanOnlyBeXorY )
7648// {
7649// case X:
7650// return "foo";
7651// case Y:
7652// return "foo";
7653// }
7654// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951
7655#define BUILTIN_UNREACHABLE __builtin_unreachable();
7656#else
7657#define BUILTIN_UNREACHABLE
7658#endif
7659#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:5759
DistanceUnitType
Types of distance units.
Definition qgis.h:5331
PieChartLabelType
Pie chart label types.
Definition qgis.h:3512
GnssConstellation
GNSS constellation.
Definition qgis.h:2023
SettingsOption
Settings options.
Definition qgis.h:750
EmbeddedScriptType
Type of Python Embedded in projects.
Definition qgis.h:463
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
Definition qgis.h:4432
GeometryBackend
Geometry backend for QgsGeometry.
Definition qgis.h:2267
ProcessingSourceType
Processing data source types.
Definition qgis.h:3697
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
Definition qgis.h:6700
GpsQualityIndicator
GPS signal quality indicator.
Definition qgis.h:2041
QFlags< MapGridFrameSideFlag > MapGridFrameSideFlags
Flags for controlling which side of the map a frame is drawn on.
Definition qgis.h:5789
DataItemProviderCapability
Capabilities for data item providers.
Definition qgis.h:1042
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
Definition qgis.h:3957
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
Definition qgis.h:2850
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
Definition qgis.h:2945
ProjectReadFlag
Flags which control project read behavior.
Definition qgis.h:4516
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
Definition qgis.h:5867
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
Definition qgis.h:2136
CurvedLabelMode
Modes which determine how curved labels are generated and placed.
Definition qgis.h:1291
MapToolUnit
Type of unit of tolerance value from settings.
Definition qgis.h:5237
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
Definition qgis.h:3484
static const double DEFAULT_LINE_WIDTH
The default width (in millimeters) for line symbols.
Definition qgis.h:6711
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
Definition qgis.h:4032
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
Definition qgis.h:2103
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
Definition qgis.h:5606
PointCloudSymbol
Rendering symbols for point cloud points.
Definition qgis.h:4460
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
Definition qgis.h:833
static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM
Default highlight line/stroke minimum width in mm.
Definition qgis.h:6662
static QString version()
Version string.
Definition qgis.cpp:682
GeometryValidityFlag
Geometry validity check flags.
Definition qgis.h:2190
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
Definition qgis.h:5162
ExpressionType
Expression types.
Definition qgis.h:5997
MapLayerActionFlag
Map layer action flags.
Definition qgis.h:4907
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
Definition qgis.h:5592
MapLayerProperty
Generic map layer properties.
Definition qgis.h:2412
VectorProviderCapability
Vector data provider capabilities.
Definition qgis.h:525
RasterProcessingParameterCapability
Capabilities of a raster layer processing parameter.
Definition qgis.h:6580
BufferSide
Side of line to buffer.
Definition qgis.h:2216
RasterResamplingStage
Stage at which raster resampling occurs.
Definition qgis.h:1588
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
Definition qgis.h:4896
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
Definition qgis.h:6043
ProjectTrustStatus
Project trust status.
Definition qgis.h:476
MultiPartLabelingBehavior
Behavior modifier for labeling features with multi-part geometries.
Definition qgis.h:1330
AltitudeClamping
Altitude clamping.
Definition qgis.h:4151
static const int PREVIEW_JOB_DELAY_MS
Delay between the scheduling of 2 preview jobs.
Definition qgis.h:6717
VectorTileProviderFlag
Flags for vector tile data providers.
Definition qgis.h:6025
VectorTemporalMode
Vector layer temporal feature modes.
Definition qgis.h:2721
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
Definition qgis.h:1527
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
Definition qgis.h:4560
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1380
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
Definition qgis.h:1487
CoordinateDisplayType
Formats for displaying coordinates.
Definition qgis.h:4695
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
Definition qgis.h:3905
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
Definition qgis.h:3197
DashPatternSizeAdjustment
Dash pattern size adjustment options.
Definition qgis.h:3457
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
Definition qgis.h:6677
GpsFixStatus
GPS fix status.
Definition qgis.h:2008
AnnotationItemNodeType
Annotation item node types.
Definition qgis.h:2648
static const char * QGIS_DEV_VERSION
The development version.
Definition qgis.h:89
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1139
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
Definition qgis.h:2887
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
Definition qgis.h:2551
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
Definition qgis.h:1631
AngularDirection
Angular directions.
Definition qgis.h:3598
DriveType
Drive types.
Definition qgis.h:1192
UnitType
Unit types.
Definition qgis.h:5252
ContentStatus
Status for fetched or stored content.
Definition qgis.h:1964
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
Definition qgis.h:1926
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Definition qgis.h:775
LayoutUnit
Layout measurement units.
Definition qgis.h:5459
Q_ENUM(GpsFixStatus)
RelationshipStrength
Relationship strength.
Definition qgis.h:4648
Q_ENUM(GnssConstellation)
PaintEffectFlag
Flags which control how paint effects behave.
Definition qgis.h:2954
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Definition qgis.h:3295
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Definition qgis.h:4538
LegendComponent
Component of legends which can be styled.
Definition qgis.h:4818
Point3DShape
3D point shape types.
Definition qgis.h:4305
GeometryOperationResult
Success or failure of a geometry operation.
Definition qgis.h:2161
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
Definition qgis.h:6387
BrowserItemState
Browser item states.
Definition qgis.h:985
AttributeEditorContainerType
Attribute editor container types.
Definition qgis.h:5925
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
Definition qgis.h:6086
FeatureRequestFilterType
Types of feature request filters.
Definition qgis.h:2355
MarkerClipMode
Marker clipping modes.
Definition qgis.h:3415
GpsNavigationStatus
GPS navigation status.
Definition qgis.h:2061
AnnotationItemFlag
Flags for annotation items.
Definition qgis.h:2605
AttributeFormReuseLastValuePolicy
Attribute form policy for reusing last entered values.
Definition qgis.h:5984
RenderSubcomponentProperty
Rendering subcomponent properties.
Definition qgis.h:3206
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Definition qgis.h:4047
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Definition qgis.h:2449
Statistic
Available generic statistics.
Definition qgis.h:6305
TriangulationAlgorithm
Triangulation algorithms.
Definition qgis.h:6633
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
Definition qgis.h:795
AngleUnit
Units of angles.
Definition qgis.h:5394
MapGridAnnotationPosition
Position for map grid annotations.
Definition qgis.h:5669
CaptureTechnique
Capture technique.
Definition qgis.h:418
static QString geosVersion()
GEOS string version linked.
Definition qgis.cpp:704
SpatialIndexPresence
Enumeration of spatial index presence states.
Definition qgis.h:584
BrowserItemCapability
Browser item capabilities.
Definition qgis.h:998
AttributeFormSuppression
Available form types for layout of the attribute form editor.
Definition qgis.h:5955
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
Definition qgis.h:152
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition qgis.h:4788
LayerTreeInsertionMethod
Layer tree insertion methods.
Definition qgis.h:4765
RasterProviderCapability
Raster data provider capabilities.
Definition qgis.h:5142
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
Definition qgis.h:5862
LineClipMode
Line clipping modes.
Definition qgis.h:3429
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
Definition qgis.h:6695
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
Definition qgis.h:3182
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
Definition qgis.h:2195
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
Definition qgis.h:1091
VsiHandlerType
GDAL VSI handler types.
Definition qgis.h:6199
NetworkRequestFlag
Flags controlling behavior of network requests.
Definition qgis.h:187
static int geographicLibVersion()
Returns the version of the GeographicLib library if QGIS is built with GeographicLib support.
Definition qgis.cpp:736
SettingsTreeNodeType
Type of tree node.
Definition qgis.h:680
TilePixelRatio
DpiMode enum.
Definition qgis.h:3538
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
Definition qgis.h:5845
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
Definition qgis.h:2964
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
Definition qgis.h:1346
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
Definition qgis.h:4438
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
Definition qgis.h:4807
MapGridUnit
Units for map grid values.
Definition qgis.h:5621
LabelPrioritization
Label prioritization.
Definition qgis.h:1258
GradientColorSource
Gradient color sources.
Definition qgis.h:3344
FileFilterType
Type of file filters.
Definition qgis.h:1459
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
Definition qgis.h:1272
RasterLayerType
Raster layer types.
Definition qgis.h:5019
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
Definition qgis.h:6684
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
Definition qgis.h:440
ScaleBarAlignment
Scalebar alignment.
Definition qgis.h:5563
RasterPyramidFormat
Raster pyramid formats.
Definition qgis.h:5058
ProcessingMode
Types of modes which Processing widgets can be created for.
Definition qgis.h:3838
VectorExportResult
Vector layer export result codes.
Definition qgis.h:1118
DistanceUnit
Units of distance.
Definition qgis.h:5269
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
Definition qgis.h:2796
SymbolLayerFlag
Flags controlling behavior of symbol layers.
Definition qgis.h:927
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
Definition qgis.h:6505
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
Definition qgis.h:3388
LegendSyncMode
Legend synchronization mode.
Definition qgis.h:4836
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
Definition qgis.h:2638
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1405
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
Definition qgis.h:1663
ScaleMethod
Scale methods.
Definition qgis.h:650
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
Definition qgis.h:6590
SldExportOption
SLD export options.
Definition qgis.h:722
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
Definition qgis.h:3166
FilePathType
File path types.
Definition qgis.h:1795
CadConstraintType
Advanced digitizing constraint type.
Definition qgis.h:4243
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
Definition qgis.h:5970
PointCountMethod
Methods which define the number of points randomly filling a polygon.
Definition qgis.h:3403
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
Definition qgis.h:737
static const double DEFAULT_HIGHLIGHT_BUFFER_MM
Default highlight buffer in mm.
Definition qgis.h:6657
MapCanvasFlag
Flags controlling behavior of map canvases.
Definition qgis.h:3624
LayerTreeFilterFlag
Layer tree filter flags.
Definition qgis.h:4778
ExtrusionFace
Extrusion face types for the QgsTessellator.
Definition qgis.h:6613
AttributeFormLayout
Available form types for layout of the attribute form editor.
Definition qgis.h:5940
FeatureRequestFlag
Flags for controlling feature requests.
Definition qgis.h:2326
VertexType
Types of vertex.
Definition qgis.h:3231
ShaderInterpolationMethod
Color ramp shader interpolation methods.
Definition qgis.h:1543
JoinStyle3D
Join styles for 3D buffers.
Definition qgis.h:2254
DataProviderFlag
Generic data provider flags.
Definition qgis.h:2442
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg).
Definition qgis.h:6177
RasterResamplingMethod
Resampling method for raster provider-level resampling.
Definition qgis.h:1602
GeometryValidationEngine
Available engines for validating geometries.
Definition qgis.h:2204
static int geosVersionPatch()
GEOS Patch version number linked.
Definition qgis.cpp:766
TransactionMode
Transaction mode.
Definition qgis.h:4138
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
Definition qgis.h:885
static const QColor DEFAULT_HIGHLIGHT_COLOR
Default highlight color.
Definition qgis.h:6652
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
Definition qgis.h:5171
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
Definition qgis.h:6671
RasterDrawingStyle
Raster drawing styles.
Definition qgis.h:5035
GeosCreationFlag
Flags which control geos geometry creation behavior.
Definition qgis.h:2279
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
Definition qgis.h:6720
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
Definition qgis.h:6517
GpsInformationComponent
GPS information component.
Definition qgis.h:2075
Q_ENUM(PointCloudProfileType)
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
Definition qgis.h:3643
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3724
FileOperationFlag
File operation flags.
Definition qgis.h:2397
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
Definition qgis.h:1058
ProjectCapability
Flags which control project capabilities.
Definition qgis.h:4550
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
Definition qgis.h:2121
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Definition qgis.h:934
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Definition qgis.h:5129
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
Definition qgis.h:4931
TemporalNavigationMode
Temporal navigation modes.
Definition qgis.h:2675
ProcessingFieldParameterDataType
Processing field parameter data types.
Definition qgis.h:3985
AreaUnit
Units of area.
Definition qgis.h:5346
StringStatistic
Available string statistics.
Definition qgis.h:6367
SelectiveMaskSourceType
Selective masking source types.
Definition qgis.h:3220
FieldDomainMergePolicy
Merge policy for field domains.
Definition qgis.h:4092
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6218
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:5723
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
Definition qgis.h:1174
QFlags< SnappingType > SnappingTypes
Snapping types.
Definition qgis.h:786
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
Definition qgis.h:6819
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:5774
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
Definition qgis.h:3472
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
Definition qgis.h:1395
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
Definition qgis.h:6095
TextLayoutMode
Text layout modes.
Definition qgis.h:3054
PropertyType
Property types.
Definition qgis.h:708
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
Definition qgis.h:2923
LayerFilter
Filter for layers.
Definition qgis.h:225
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
Definition qgis.h:1531
RasterRendererFlag
Flags which control behavior of raster renderers.
Definition qgis.h:1620
QFlags< ExtrusionFace > ExtrusionFaces
Tessellator extrusion face types.
Definition qgis.h:6625
static QString devVersion()
The development version.
Definition qgis.cpp:699
CrsType
Coordinate reference system types.
Definition qgis.h:2461
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
Definition qgis.h:2290
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
Definition qgis.h:5653
SensorThingsEntity
OGC SensorThings API entity types.
Definition qgis.h:6423
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
Definition qgis.h:1778
FieldDomainSplitPolicy
Split policy for field domains.
Definition qgis.h:4075
ArcGisRestServiceType
Available ArcGIS REST service types.
Definition qgis.h:4588
UriCleaningFlag
Flags for cleaning layer URIs.
Definition qgis.h:1476
RasterFileWriterResult
Raster file export results.
Definition qgis.h:1761
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
Definition qgis.h:2660
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
Definition qgis.h:3809
MapRecenteringMode
Modes for recentering map canvases.
Definition qgis.h:3656
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
Definition qgis.h:1694
ActionType
Action types.
Definition qgis.h:4866
ActionStart
Enum to determine when an operation would begin.
Definition qgis.h:1209
PlaybackOperation
Media playback operations.
Definition qgis.h:2704
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
Definition qgis.h:957
QFlags< TextRendererFlag > TextRendererFlags
Definition qgis.h:3577
QueryStorageBackend
Stored query storage backends.
Definition qgis.h:3683
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Definition qgis.h:5876
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
Definition qgis.h:4487
MarkerShape
Marker shapes.
Definition qgis.h:3246
StacObjectType
Available types of stac objects.
Definition qgis.h:6567
LegendJsonRenderFlag
Legend JSON export flags.
Definition qgis.h:4851
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Definition qgis.h:5186
RasterElevationMode
Raster layer elevation modes.
Definition qgis.h:4190
Capitalization
String capitalization options.
Definition qgis.h:3555
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Definition qgis.h:2781
PictureFormat
Picture formats.
Definition qgis.h:5533
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
Definition qgis.h:1417
static QString releaseName()
Release name.
Definition qgis.cpp:694
LabelQuadrantPosition
Label quadrant positions.
Definition qgis.h:1360
QFlags< PlotToolFlag > PlotToolFlags
Definition qgis.h:4293
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
Definition qgis.h:3586
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
Definition qgis.h:1509
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
Definition qgis.h:1149
TextOrientation
Text orientations.
Definition qgis.h:3039
TemporalUnit
Temporal units.
Definition qgis.h:5415
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
Definition qgis.h:1652
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
Definition qgis.h:914
UnplacedLabelVisibility
Unplaced label visibility.
Definition qgis.h:1221
CrsDefinitionFormat
CRS definition formats.
Definition qgis.h:4060
SpatialFilterType
Feature request spatial filter types.
Definition qgis.h:2384
VerticalAnchorPoint
Marker symbol vertical anchor points.
Definition qgis.h:861
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
Definition qgis.h:5522
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:3920
TileAvailability
Possible availability states for a tile within a tile matrix.
Definition qgis.h:6062
ProjectFlag
Flags which control the behavior of QgsProjects.
Definition qgis.h:4272
MapGridStyle
Map grid drawing styles.
Definition qgis.h:5637
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
Definition qgis.h:875
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
Definition qgis.h:6830
BrowserItemType
Browser item types.
Definition qgis.h:966
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
Definition qgis.h:2344
static bool hasGeographicLib()
Returns true if the QGIS build contains GeographicLib.
Definition qgis.cpp:727
SettingsType
Types of settings entries.
Definition qgis.h:661
QFlags< SettingsOption > SettingsOptions
Definition qgis.h:755
RasterTemporalMode
Raster layer temporal modes.
Definition qgis.h:2764
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
Definition qgis.h:1735
LabelingFlag
Various flags that affect drawing and placement of labels.
Definition qgis.h:2994
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
Definition qgis.h:379
RelationshipType
Relationship types.
Definition qgis.h:4634
ScriptLanguageCapability
Script language capabilities.
Definition qgis.h:4744
RasterInterfaceCapability
Raster interface capabilities.
Definition qgis.h:5109
JoinStyle
Join styles for buffers.
Definition qgis.h:2241
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
Definition qgis.h:4472
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
Definition qgis.h:6414
CadMeasurementDisplayType
Advanced digitizing measurement display types.
Definition qgis.h:4259
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3785
TextCharacterVerticalAlignment
Text vertical alignment for characters.
Definition qgis.h:3130
FieldDuplicatePolicy
Duplicate policy for fields.
Definition qgis.h:4112
UserProfileSelectionPolicy
User profile selection policy.
Definition qgis.h:5891
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
Definition qgis.h:6645
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Definition qgis.h:2402
DpiMode
DpiMode enum.
Definition qgis.h:3524
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
Definition qgis.h:1067
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3776
AltitudeBinding
Altitude binding.
Definition qgis.h:4164
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:6155
MapLayerActionTarget
Map layer action targets.
Definition qgis.h:4881
ShaderClassificationMethod
Color ramp shader classification methods.
Definition qgis.h:1558
MapLayerLegendFlag
Map layer legend flags.
Definition qgis.h:4797
ZonalStatisticResult
Zonal statistics result codes.
Definition qgis.h:6255
ScriptLanguage
Scripting languages.
Definition qgis.h:4721
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
Definition qgis.h:1012
QFlags< NetworkRequestFlag > NetworkRequestFlags
Flags controlling behavior of network requests.
Definition qgis.h:197
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
Definition qgis.h:603
PlotAxisType
Plots axis types.
Definition qgis.h:3500
TiledSceneProviderCapability
Tiled scene data provider capabilities.
Definition qgis.h:6076
LabelMultiLineAlignment
Text alignment for multi-line labels.
Definition qgis.h:1443
PointCloudProfileType
Types of elevation profiles to generate for point cloud sources.
Definition qgis.h:4420
RasterBandStatistic
Available raster band statistics.
Definition qgis.h:6396
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
Definition qgis.h:6053
AuthConfigurationStorageCapability
Authentication configuration storage capabilities.
Definition qgis.h:107
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
Definition qgis.h:6246
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
Definition qgis.h:2751
TextRenderFormat
Options for rendering text.
Definition qgis.h:2975
DocumentationBrowser
Documentation API browser.
Definition qgis.h:6469
DataType
Raster data types.
Definition qgis.h:393
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
Definition qgis.h:3648
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1517
SystemOfMeasurement
Systems of unit measurement.
Definition qgis.h:5222
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
Definition qgis.h:1706
VerticalAxisInversion
Vertical axis inversion options for 3D views.
Definition qgis.h:4382
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
Definition qgis.h:2841
RelationshipCapability
Relationship capabilities.
Definition qgis.h:4674
RasterBuildPyramidOption
Raster pyramid building options.
Definition qgis.h:5073
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
Definition qgis.h:562
NavigationMode
The navigation mode used by 3D cameras.
Definition qgis.h:4357
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:3315
TileChildrenAvailability
Possible availability states for a tile's children.
Definition qgis.h:6123
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
Definition qgis.h:6542
QFlags< SymbolConverterCapability > SymbolConverterCapabilities
Symbol converter capabilities.
Definition qgis.h:824
LayerType
Types of layers that can be added to a map.
Definition qgis.h:206
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
Definition qgis.h:2611
FieldOrigin
Field origin.
Definition qgis.h:1823
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
Definition qgis.h:3329
QFlags< BrowserItemFilterFlag > BrowserItemFilterFlags
Browser item filter flags.
Definition qgis.h:1031
LabelWhitespaceCollisionHandling
Label whitespace collision handling.
Definition qgis.h:1246
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
Definition qgis.h:1679
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
Definition qgis.h:6333
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
Definition qgis.h:4289
RenderUnit
Rendering size units.
Definition qgis.h:5439
QFlags< ArcGisRestServiceCapability > ArcGisRestServiceCapabilities
Available ArcGIS REST service capabilities.
Definition qgis.h:4623
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
Definition qgis.h:6813
CoordinateOrder
Order of coordinates.
Definition qgis.h:2536
SelectionFlag
Flags which control feature selection behavior.
Definition qgis.h:1916
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
Definition qgis.h:697
EndCapStyle
End cap styles for buffers.
Definition qgis.h:2228
ScaleCalculationMethod
Scale calculation logic.
Definition qgis.h:5546
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
Definition qgis.h:6146
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:4920
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
Definition qgis.h:2419
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:2132
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
Definition qgis.h:3014
FieldDomainType
Types of field domain.
Definition qgis.h:4125
MapLayerRendererFlag
Flags which control how map layer renderers behave.
Definition qgis.h:2933
RenderContextFlag
Flags which affect rendering operations.
Definition qgis.h:2897
RasterPipeInterfaceRole
Raster pipe interface roles.
Definition qgis.h:1571
CoverageValidityResult
Coverage validity results.
Definition qgis.h:2299
DataProviderReadFlag
Flags which control data provider construction.
Definition qgis.h:491
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Definition qgis.h:5578
Aggregate
Available aggregates to calculate.
Definition qgis.h:6273
static int sfcgalVersionInt()
Returns the version of the SFCGAL library if QGIS is built with SFCGAL.
Definition qgis.cpp:718
BrowserItemFilterFlag
Browser item filter flags.
Definition qgis.h:1021
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
Definition qgis.h:909
static const double DEFAULT_SEARCH_RADIUS_MM
Identify search radius in mm.
Definition qgis.h:6642
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
Definition qgis.h:2634
MapBoxGlStyleSourceType
Available MapBox GL style source types.
Definition qgis.h:4569
LayoutUnitType
Types of layout units.
Definition qgis.h:5479
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:616
DashPatternLineEndingRule
Dash pattern line ending rules.
Definition qgis.h:3442
FieldMetadataProperty
Standard field metadata values.
Definition qgis.h:1864
MapGridAnnotationType
Annotation coordinate type.
Definition qgis.h:5800
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
Definition qgis.h:6136
RasterRendererCapability
Raster renderer capabilities.
Definition qgis.h:1642
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
Definition qgis.h:1952
HistoryProviderBackend
History provider backends.
Definition qgis.h:3669
static const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
Definition qgis.h:6714
RasterExportType
Raster file export types.
Definition qgis.h:1748
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
Definition qgis.h:1807
TextVerticalAlignment
Text vertical alignment.
Definition qgis.h:3114
RelationshipCardinality
Relationship cardinality.
Definition qgis.h:4660
GradientType
Gradient types.
Definition qgis.h:3358
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
Definition qgis.h:4756
VectorProfileType
Types of elevation profiles to generate for vector sources.
Definition qgis.h:4408
GpsFeatureType
GPS feature types.
Definition qgis.h:2146
SourceHierarchyLevel
Defines the structural levels within a data source hierarchy.
Definition qgis.h:1496
VectorLayerTypeFlag
Vector layer type flags.
Definition qgis.h:435
MakeValidMethod
Algorithms to use when repairing invalid geometries.
Definition qgis.h:2312
RangeLimits
Describes how the limits of a range are handled.
Definition qgis.h:4176
QFlags< ProjectFlag > ProjectFlags
Definition qgis.h:4280
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
Definition qgis.h:2739
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3946
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
Definition qgis.h:1157
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:1937
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
Definition qgis.h:628
Axis
Cartesian axes.
Definition qgis.h:2592
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
Definition qgis.h:3797
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
Definition qgis.h:4686
ArcGisRestServiceCapability
Available ArcGIS REST service capabilities.
Definition qgis.h:4609
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
Definition qgis.h:803
VolumeUnit
Units of volume.
Definition qgis.h:5371
CurvedTextFlag
Flags controlling behavior of curved text generation.
Definition qgis.h:3143
AttributeEditorType
Attribute editor types.
Definition qgis.h:5906
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
Definition qgis.h:4855
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
Definition qgis.h:5882
EmbeddedScriptMode
Authorisation to run script embedded in projects.
Definition qgis.h:448
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
Definition qgis.h:947
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
Definition qgis.h:2371
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
Definition qgis.h:900
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
Definition qgis.h:3868
MapGridFrameStyle
Style for map grid frames.
Definition qgis.h:5739
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
Definition qgis.h:6531
ProfileExportType
Types of export for elevation profiles.
Definition qgis.h:4447
MeshElevationMode
Mesh layer elevation modes.
Definition qgis.h:4204
ProjectFileFormat
Flags which control project read behavior.
Definition qgis.h:4502
SnappingMode
SnappingMode defines on which layer the snapping is performed.
Definition qgis.h:763
SymbolType
Symbol types.
Definition qgis.h:636
RasterColorInterpretation
Raster color interpretation.
Definition qgis.h:4968
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
Definition qgis.h:6705
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
Definition qgis.h:4395
LabelPlacementEngineVersion
Labeling placement engine version.
Definition qgis.h:3025
Q_ENUM(ProcessingAlgorithmFlag)
static int geosVersionMinor()
GEOS Minor version number linked.
Definition qgis.cpp:761
MaterialRenderingTechnique
Material rendering techniques.
Definition qgis.h:4327
ColorModel
Color model types.
Definition qgis.h:6443
RendererUsage
Usage of the renderer.
Definition qgis.h:3611
SettingsTreeNodeOption
Options for named list nodes.
Definition qgis.h:692
BabelFormatCapability
Babel GPS format capabilities.
Definition qgis.h:2113
PostgresRelKind
Postgres database relkind options.
Definition qgis.h:5824
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
Definition qgis.h:6554
GpsConnectionType
GPS connection types.
Definition qgis.h:1979
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
Definition qgis.h:5853
MouseHandlesAction
Action to be performed by the mouse handles.
Definition qgis.h:6481
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
Definition qgis.h:3853
QFlags< TextComponent > TextComponents
Text components.
Definition qgis.h:3084
static QString geoNone()
Constant that holds the string representation for "No ellipse/No CRS".
Definition qgis.h:6806
DevToolsNodeRole
Dev tools node custom data roles.
Definition qgis.h:6598
LoadStyleFlag
Flags for loading layer styles.
Definition qgis.h:252
BetweenLineConstraint
Between line constraints which can be enabled.
Definition qgis.h:4217
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
Definition qgis.h:6035
SymbolConverterCapability
Symbol converter capabilities.
Definition qgis.h:812
MetadataDateType
Date types for metadata.
Definition qgis.h:4949
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
Definition qgis.h:2807
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3879
RasterIdentifyFormat
Raster identify formats.
Definition qgis.h:5088
MapGridAnnotationDirection
Direction of grid annotations.
Definition qgis.h:5683
TextHorizontalAlignment
Text horizontal alignment.
Definition qgis.h:3095
SymbolFlag
Flags controlling behavior of symbols.
Definition qgis.h:894
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
Definition qgis.h:4230
HttpMethod
Different methods of HTTP requests.
Definition qgis.h:1103
WkbType
The WKB type describes the number of dimensions a geometry has.
Definition qgis.h:294
QFlags< SldExportOption > SldExportOptions
Definition qgis.h:728
SymbolCoordinateReference
Symbol coordinate reference modes.
Definition qgis.h:3373
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
Definition qgis.h:3738
TileRefinementProcess
Tiled scene tile refinement processes.
Definition qgis.h:6111
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
Definition qgis.h:6358
SelectionRenderingMode
Specifies how a selection should be rendered.
Definition qgis.h:1877
InputControllerType
Input controller types.
Definition qgis.h:5812
TextRendererFlag
Flags which control the behavior of rendering text.
Definition qgis.h:3573
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
Definition qgis.h:1904
CrsAxisDirection
Coordinate reference system axis directions.
Definition qgis.h:2486
ProcessingModelChildParameterSource
Processing model child parameter sources.
Definition qgis.h:4016
static int geosVersionInt()
GEOS version number linked.
Definition qgis.cpp:750
QFlags< MarkerLinePlacement > MarkerLinePlacements
Definition qgis.h:3306
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
Definition qgis.h:3634
CrsWktVariant
Coordinate reference system WKT formatting variants.
Definition qgis.h:2566
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
Definition qgis.h:6168
MapGridAnnotationFormat
Format for displaying map grid annotations.
Definition qgis.h:5702
DocumentationApi
Documentation API.
Definition qgis.h:6455
AutoRefreshMode
Map layer automatic refresh modes.
Definition qgis.h:2429
AnnotationPlacementMode
Annotation item placement modes.
Definition qgis.h:2621
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
Definition qgis.h:3749
SceneMode
The 3D scene mode used in 3D map views.
Definition qgis.h:4370
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1840
SettingsOrigin
The setting origin describes where a setting is stored.
Definition qgis.h:4708
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
Definition qgis.h:847
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.
Definition qgis.h:3156
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
Definition qgis.h:3931
LabelOverlapHandling
Label overlap handling.
Definition qgis.h:1233
static const double UI_SCALE_FACTOR
UI scaling factor.
Definition qgis.h:6690
FeatureSymbologyExport
Options for exporting features considering their symbology.
Definition qgis.h:6012
QFlags< LayerFilter > LayerFilters
Definition qgis.h:243
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
Definition qgis.h:4003
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
Definition qgis.h:2828
TextComponent
Text components.
Definition qgis.h:3071
DateTimeStatistic
Available date/time statistics.
Definition qgis.h:6342
AnimationState
Animation states.
Definition qgis.h:2691
TransformDirection
Indicates the direction (forward or inverse) of a transform.
Definition qgis.h:2816
LightSourceType
Light source types for 3D scenes.
Definition qgis.h:4345
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
Definition qgis.h:3891
QFlags< HistoryProviderBackend > HistoryProviderBackends
Definition qgis.h:3674
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
Definition qgis.h:1307
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Definition qgis.h:1855
UpsideDownLabelHandling
Handling techniques for upside down labels.
Definition qgis.h:1428
static const double DEFAULT_POINT_SIZE
The default size (in millimeters) for point marker symbols.
Definition qgis.h:6708
DeviceConnectionStatus
GPS connection status.
Definition qgis.h:1993
ProcessingNumberParameterType
Processing numeric parameter data types.
Definition qgis.h:3971
MapSettingsFlag
Flags which adjust the way maps are rendered.
Definition qgis.h:2863
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
Definition qgis.h:1165
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
Definition qgis.h:3823
SelectBehavior
Specifies how a selection should be applied.
Definition qgis.h:1890
LayoutRenderFlag
Flags for controlling how a layout is rendered.
Definition qgis.h:5493
Utility class that encapsulates an action based on vector attributes.
Definition qgsaction.h:38
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
Utility functions for working with ArcGIS REST services.
An abstract base class for any elements of a drag and drop form.
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
Represents a coordinate reference system (CRS).
Handles coordinate transforms between two coordinate systems.
Abstract base class for curved geometry type.
Definition qgscurve.h:36
Base class for all items in the model.
Definition qgsdataitem.h:50
Abstract base class for spatial data provider implementations.
Calculator for summary statistics and aggregates for a list of datetimes.
Contains configuration settings for an editor form.
Wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which provide features via a getFeatures method.
Container of fields for a vector layer.
Definition qgsfields.h:46
A geometry is the spatial representation of a feature.
Encapsulates information relating to a GPS position fix.
A fill symbol layer which draws a smooth color gradient over a polygon.
A vector feature renderer which uses numeric attributes to classify features into different ranges.
Stores global configuration for labeling engine.
Contains constants and enums relating to labeling.
Definition qgslabeling.h:33
A browser item that represents a layer that can be opened with one of the providers.
An individual grid which is drawn above the map content in a QgsLayoutItemMap.
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
Stores information relating to the current rendering settings for a layout.
Contains detailed styling information relating to how a layout legend should be rendered.
A proxy model which provides an easy to use model to display the list of layers in widgets.
Base class for all map layer types.
Definition qgsmaplayer.h:83
Contains configuration for rendering maps.
Abstract base class for marker symbol layers.
Interface for showing messages from QGIS in GUI independent way.
Registry for temporary fetched files.
Contains miscellaneous painting utility functions.
Definition qgspainting.h:32
Contains settings for how a map layer will be labeled.
Abstract base class for 2d point cloud renderers.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Encapsulates settings relating to a feature source input to a processing algorithm.
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
A datetime (or pure date or time) parameter for processing algorithms.
Base class for the definition of processing parameters.
A vector layer or feature source field parameter for processing algorithms.
An input file or folder parameter for processing algorithms.
A numeric parameter for processing algorithms.
A parameter for processing algorithms that need a list of input vector layers to construct a TIN.
Makes metadata of processing parameters available.
Abstract base class for processing providers.
Contains enumerations and other constants for use in processing algorithms and parameters.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:113
A store for object properties.
Holds data provider key, description, and associated shared library file or function pointer informat...
A fill symbol layer which places markers at random locations within polygons.
The RasterBandStats struct is a container for statistics about a single raster band.
Implementation of data provider temporal properties for QgsRasterDataProviders.
Base class for raster data providers.
The raster file writer which allows you to save a raster to a new file.
Base class for processing filters like renderers, reprojector, resampler etc.
Implementation of map layer temporal properties for raster layers.
Represents a raster layer.
Describes the origin of minimum and maximum values in a raster.
Contains a pipeline of raster interfaces for sequential raster processing.
Raster namespace.
Definition qgsraster.h:32
Represents a relationship between two vector layers.
Definition qgsrelation.h:42
Contains information about the context of a rendering operation.
Stores the appearance and layout settings for scalebar drawing with QgsScaleBarRenderer.
Represents a settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
Definition qgis.h:6948
Object * operator->()
Returns pointer to blocked QObject.
Definition qgis.h:6962
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Definition qgis.h:6954
Abstract base class for simple marker symbol layers.
Stores configuration of snapping settings for the project.
Calculator for summary statistics for a list of doubles.
Calculator for summary statistics and aggregates for a list of strings.
Utility functions for working with strings.
Contains utility functions for working with symbols and symbol layers.
Abstract base class for all rendered symbols.
Definition qgssymbol.h:227
Base class for templated line symbols, e.g.
Implements a temporal controller based on a frame by frame navigation and animation.
Container for all settings relating to text rendering.
Utility functions for text rendering.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
Provides calculations for tolerance values in map units.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
Base class for vector data providers.
A convenience class for writing vector layers to disk based formats (e.g.
A convenience class for exporting vector layers to a destination data provider.
Implementation of map layer temporal properties for vector layers.
Represents a vector layer which manages a vector based dataset.
Contains settings for simplifying geometries fetched from a vector layer.
Handles storage of information regarding WKB types and their properties.
Definition qgswkbtypes.h:42
FeatureCountState
Enumeration of feature count states.
Definition qgis.h:571
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:7583
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:7497
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:7576
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:7278
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
Definition qgis.h:6995
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:7148
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
Definition qgis.h:7259
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
Definition qgis.h:7317
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:7132
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:7346
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:7602
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
Definition qgis.h:7242
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
Definition qgis.h:7088
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:7164
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:7225
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
Definition qgis.h:7117
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Definition qgis.h:7077
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
Definition qgis.h:7040
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
Definition qgis.h:6982
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:7592
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
Definition qgis.h:7590
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
Definition qgis.h:7094
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:7059
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:7513
#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