33using namespace Qt::StringLiterals;
42int QgisEvent = QEvent::User + 1;
50#define QHASH_FOR_CLASS_ENUM( T ) \
51 inline uint qHash( const T &t, uint seed ) \
53 return ::qHash( static_cast<typename std::underlying_type<T>::type>( t ), seed ); \
64 Q_CLASSINFO(
"RegisterEnumClassesUnscoped",
"false" )
108 ClearStorage = 1 << 0,
110 ReadConfiguration = 1 << 1,
111 UpdateConfiguration = 1 << 2,
112 DeleteConfiguration = 1 << 3,
113 CreateConfiguration = 1 << 4,
115 ReadCertificateIdentity = 1 << 5,
116 UpdateCertificateIdentity = 1 << 6,
117 DeleteCertificateIdentity = 1 << 7,
118 CreateCertificateIdentity = 1 << 8,
120 ReadSslCertificateCustomConfig = 1 << 9,
121 UpdateSslCertificateCustomConfig = 1 << 10,
122 DeleteSslCertificateCustomConfig = 1 << 11,
123 CreateSslCertificateCustomConfig = 1 << 12,
125 ReadCertificateAuthority = 1 << 13,
126 UpdateCertificateAuthority = 1 << 14,
127 DeleteCertificateAuthority = 1 << 15,
128 CreateCertificateAuthority = 1 << 16,
130 ReadCertificateTrustPolicy = 1 << 17,
131 UpdateCertificateTrustPolicy = 1 << 18,
132 DeleteCertificateTrustPolicy = 1 << 19,
133 CreateCertificateTrustPolicy = 1 << 20,
135 ReadMasterPassword = 1 << 21,
136 UpdateMasterPassword = 1 << 22,
137 DeleteMasterPassword = 1 << 23,
138 CreateMasterPassword = 1 << 24,
140 ReadSetting = 1 << 25,
141 UpdateSetting = 1 << 26,
142 DeleteSetting = 1 << 27,
143 CreateSetting = 1 << 28,
146 Q_ENUM( AuthConfigurationStorageCapability )
167 Q_ENUM( MessageLevel )
179 Q_ENUM( StringFormat )
188 DisableMessageLogging = 1 << 0,
190 Q_ENUM( NetworkRequestFlag )
231 HasGeometry = PointLayer | LineLayer | PolygonLayer,
232 VectorLayer = NoGeometry | HasGeometry,
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
253 IgnoreMissingStyleErrors
256 Q_ENUM( LoadStyleFlag )
303 GeometryCollection = 7,
309 PolyhedralSurface = 15,
318 MultiLineStringZ = 1005,
319 MultiPolygonZ = 1006,
320 GeometryCollectionZ = 1007,
321 CircularStringZ = 1008,
322 CompoundCurveZ = 1009,
323 CurvePolygonZ = 1010,
325 MultiSurfaceZ = 1012,
326 PolyhedralSurfaceZ = 1015,
334 MultiLineStringM = 2005,
335 MultiPolygonM = 2006,
336 GeometryCollectionM = 2007,
337 CircularStringM = 2008,
338 CompoundCurveM = 2009,
339 CurvePolygonM = 2010,
341 MultiSurfaceM = 2012,
342 PolyhedralSurfaceM = 2015,
349 MultiLineStringZM = 3005,
350 MultiPolygonZM = 3006,
351 GeometryCollectionZM = 3007,
352 CircularStringZM = 3008,
353 CompoundCurveZM = 3009,
354 CurvePolygonZM = 3010,
356 MultiSurfaceZM = 3012,
357 PolyhedralSurfaceZM = 3015,
361 Point25D = 0x80000001,
386 Q_ENUM( GeometryType )
408 ARGB32_Premultiplied = 13
426 Q_ENUM( CaptureTechnique )
438 Q_ENUM( VectorLayerTypeFlag )
453 NotForThisSession = 4,
456 Q_ENUM( EmbeddedScriptMode )
465 ExpressionFunction = 1,
469 Q_ENUM( EmbeddedScriptType )
481 Q_ENUM( ProjectTrustStatus )
494 SkipFeatureCount = 1 << 1,
496 SkipGetExtent = 1 << 3,
497 SkipFullScan = 1 << 4,
498 ForceReadOnly = 1 << 5,
499 SkipCredentialsRequest
501 ParallelThreadLoading = 1 << 7,
503 Q_ENUM( DataProviderReadFlag )
528 DeleteFeatures = 1 << 1,
529 ChangeAttributeValues = 1 << 2,
530 AddAttributes = 1 << 3,
531 DeleteAttributes = 1 << 4,
532 CreateSpatialIndex = 1 << 6,
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,
553 Q_ENUM( VectorProviderCapability )
575 Q_ENUM( FeatureCountState )
589 Q_ENUM( SpatialIndexPresence )
604 NoFeaturesAvailable = 0,
606 FeaturesMaybeAvailable
608 Q_ENUM( FeatureAvailability )
618 EditComment = 1 << 1,
621 Q_ENUM( VectorDataProviderAttributeEditCapability )
654 Q_ENUM( ScaleMethod )
673 Q_ENUM( SettingsType )
685 Q_ENUM( SettingsTreeNodeType )
693 NamedListSelectedItemSetting = 1 << 0,
696 Q_ENUM( SettingsTreeNodeOption )
714 Q_ENUM( PropertyType )
727 Q_ENUM( SldExportOption )
738 NoVendorExtension = 0,
739 GeoServerVendorExtension = 1 << 1,
740 DeegreeVendorExtension = 1 << 2,
742 Q_ENUM( SldExportVendorExtension )
751 SaveFormerValue = 1 << 1,
752 SaveEnumFlagAsInt = 1 << 2,
754 Q_ENUM( SettingsOption )
766 AdvancedConfiguration = 3,
768 Q_ENUM( SnappingMode )
784 Q_ENUM( SnappingType )
796 DynamicRotation = 1 << 1,
797 IsSymbolLayerSubSymbol = 1 << 2,
798 ForceVectorRendering = 1 << 3,
799 ExcludeSymbolBuffers = 1 << 4,
801 Q_ENUM( SymbolRenderHint )
816 Q_ENUM( SymbolRotationMode )
831 Q_ENUM( HorizontalAnchorPoint )
846 Q_ENUM( VerticalAnchorPoint )
855 AffectsLabeling = 1 << 0,
857 Q_ENUM( FeatureRendererFlag )
874 RendererShouldUseSymbolLevels = 1 << 0,
875 AffectsLabeling = 1 << 1,
889 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
891 Q_ENUM( SymbolPreviewFlag )
907 DisableFeatureClipping = 1 << 0,
908 CanCalculateMaskGeometryPerFeature = 1 << 1,
909 AffectsLabeling = 1 << 2,
911 Q_ENUM( SymbolLayerFlag )
927 DisableSelectionRecoloring = 1 << 0,
929 Q_ENUM( SymbolLayerUserFlag )
956 Q_ENUM( BrowserItemType )
969 Q_ENUM( BrowserItemState )
985 ItemRepresentsFile = 1 << 6,
986 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
989 Q_ENUM( BrowserItemCapability )
1009 Q_ENUM( DataItemProviderCapability )
1043 Q_ENUM( BrowserLayerType )
1056 Q_ENUM( BrowserDirectoryMonitoring )
1070 Q_ENUM( HttpMethod )
1092 Q_ENUM( VectorExportResult )
1100 FieldAliases = 1 << 0,
1101 FieldComments = 1 << 2,
1103 Q_ENUM( VectorFileWriterCapability )
1118 SubsetStringFilter = 1 << 1,
1119 GeometryColumn = 1 << 2,
1120 PrimaryKeys = 1 << 3,
1121 UnstableFeatureIds = 1 << 4
1123 Q_ENUM( SqlLayerDefinitionCapability )
1145 Q_ENUM( SqlKeywordCategory )
1173 Q_ENUM( ActionStart )
1182 FollowEngineSetting,
1185 Q_ENUM( UnplacedLabelVisibility )
1195 AllowOverlapIfRequired,
1196 AllowOverlapAtNoCost,
1198 Q_ENUM( LabelOverlapHandling )
1207 TreatWhitespaceAsCollision,
1208 IgnoreWhitespaceCollisions,
1210 Q_ENUM( LabelWhitespaceCollisionHandling )
1220 PreferPositionOrdering,
1222 Q_ENUM( LabelPrioritization )
1239 OrderedPositionsAroundPoint,
1243 Q_ENUM( LabelPlacement )
1253 PlaceCharactersAtVertices,
1254 StretchCharacterSpacingToFitLine,
1255 StretchWordSpacingToFitLine,
1257 Q_ENUM( CurvedLabelMode )
1278 BottomSlightlyRight,
1282 Q_ENUM( LabelPredefinedPointPosition )
1291 LabelLargestPartOnly,
1292 LabelEveryPartWithEntireLabel,
1293 SplitLabelTextLinesOverParts,
1295 Q_ENUM( MultiPartLabelingBehavior )
1310 Q_ENUM( LabelOffsetType )
1331 Q_ENUM( LabelQuadrantPosition )
1346 Q_ENUM( LabelLinePlacementFlag )
1366 AllowPlacementOutsideOfPolygon = 1 << 0,
1367 AllowPlacementInsideOfPolygon = 1 << 1,
1369 Q_ENUM( LabelPolygonPlacementFlag )
1393 Q_ENUM( UpsideDownLabelHandling )
1410 Q_ENUM( LabelMultiLineAlignment )
1428 Q_ENUM( FileFilterType )
1437 RemoveCredentials = 1 << 0,
1438 RedactCredentials = 1 << 1,
1440 Q_ENUM( UriCleaningFlag )
1461 Q_ENUM( SourceHierarchyLevel )
1471 ResolveGeometryType = 1 << 1,
1472 CountFeatures = 1 << 2,
1473 IncludeSystemTables = 1 << 3,
1474 OpenLayersToResolveDescriptions = 1 << 4,
1488 SystemTable = 1 << 0,
1508 Q_ENUM( ShaderInterpolationMethod )
1523 Q_ENUM( ShaderClassificationMethod )
1541 Q_ENUM( RasterPipeInterfaceRole )
1552 Q_ENUM( RasterResamplingStage )
1572 Q_ENUM( RasterResamplingMethod )
1581 InternalLayerOpacityHandling = 1 << 0,
1582 UseNoDataForOutOfRangePixels
1603 UsesMultipleBands = 1 << 0,
1605 Q_ENUM( RasterRendererCapability )
1629 Q_ENUM( RasterRangeLimit )
1644 Q_ENUM( RasterRangeExtent )
1658 Q_ENUM( RasterRangeAccuracy )
1687 Q_ENUM( RasterAttributeTableFieldUsage )
1699 Q_ENUM( RasterAttributeTableType )
1712 Q_ENUM( RasterExportType )
1723 SourceProviderError = 1,
1725 CreateDatasourceError = 3,
1730 Q_ENUM( RasterFileWriterResult )
1741 TooManyVerticesInFace,
1747 Q_ENUM( MeshEditingErrorType )
1759 Q_ENUM( FilePathType )
1769 AskExcludingRasterBands,
1773 Q_ENUM( SublayerPromptMode )
1790 Q_ENUM( FieldOrigin )
1802 NotSearchable = 1 << 1,
1803 HideFromWms = 1 << 2,
1804 HideFromWfs = 1 << 3,
1806 Q_ENUM( FieldConfigurationFlag )
1825 GeometryCrs = 0x1000,
1826 GeometryWkbType = 0x1001,
1827 CustomProperty = 0x100000,
1829 Q_ENUM( FieldMetadataProperty )
1842 Q_ENUM( SelectionRenderingMode )
1854 RemoveFromSelection,
1856 Q_ENUM( SelectBehavior )
1868 Q_ENUM( SelectGeometryRelationship )
1877 SingleFeatureSelection = 1 << 0,
1878 ToggleSelection = 1 << 1,
1901 FetchFeatureFailed = 3,
1904 Q_ENUM( VectorEditResult )
1913 SemiTransparentCircle,
1917 Q_ENUM( VertexMarkerType )
1931 Q_ENUM( ContentStatus )
1945 Q_ENUM( GpsConnectionType )
1958 Q_ENUM( DeviceConnectionStatus )
2013 Q_ENUM( GpsQualityIndicator )
2038 GroundSpeed = 1 << 2,
2040 TotalTrackLength = 1 << 4,
2041 TrackDistanceFromStart = 1 << 5,
2045 HorizontalAccuracy = 1 << 9,
2046 VerticalAccuracy = 1 << 10,
2047 HvAccuracy = 1 << 11,
2048 SatellitesUsed = 1 << 12,
2049 Timestamp = 1 << 13,
2050 TrackStartTime = 1 << 14,
2051 TrackEndTime = 1 << 15,
2052 TrackDistanceSinceLastPoint = 1 << 16,
2053 TrackTimeSinceLastPoint = 1 << 17,
2054 GeoidalSeparation = 1 << 18,
2055 EllipsoidAltitude = 1 << 19,
2093 QuoteFilePaths = 1 << 0,
2111 Q_ENUM( GpsFeatureType )
2123 NothingHappened = 1000,
2124 InvalidBaseGeometry,
2125 InvalidInputGeometryType,
2127 SelectionIsGreaterThanOne,
2128 GeometryEngineError,
2131 AddPartSelectedGeometryNotFound,
2132 AddPartNotMultiGeometry,
2136 AddRingCrossesExistingRings,
2137 AddRingNotInExistingFeature,
2139 SplitCannotSplitPoint,
2140 GeometryTypeHasChanged,
2142 Q_ENUM( GeometryOperationResult )
2168 Q_ENUM( GeometryValidationEngine )
2180 Q_ENUM( BufferSide )
2193 Q_ENUM( EndCapStyle )
2217 CylindersAndSpheres,
2219 Q_ENUM( JoinStyle3D )
2228 RejectOnInvalidSubGeometry = 1 << 0,
2229 SkipEmptyInteriorRings = 1 << 1,
2231 Q_ENUM( GeosCreationFlag )
2252 Q_ENUM( CoverageValidityResult )
2264 Q_ENUM( MakeValidMethod )
2277 SubsetOfAttributes = 2,
2279 IgnoreStaticNodesDuringExpressionCompilation
2281 EmbeddedSymbols = 16,
2283 Q_ENUM( FeatureRequestFlag )
2309 Q_ENUM( FeatureRequestFilterType )
2324 Q_ENUM( InvalidGeometryCheck )
2337 Q_ENUM( SpatialFilterType )
2346 IncludeMetadataFile = 1 << 0,
2347 IncludeStyleFile = 1 << 1,
2361 UsersCannotToggleEditing
2363 IsBasemapLayer = 1 << 1,
2364 Is3DBasemapLayer = 1 << 2,
2382 Q_ENUM( AutoRefreshMode )
2391 IsBasemapSource = 1 << 1,
2392 FastExtent2D = 1 << 2,
2393 FastExtent3D = 1 << 3,
2394 Is3DBasemapSource = 1 << 4,
2476 Q_ENUM( CrsAxisDirection )
2489 Q_ENUM( CoordinateOrder )
2504 Q_ENUM( CrsIdentifierType )
2521 WKT2_2015_SIMPLIFIED
2529 = Wkt2_2019Simplified,
2532 Q_ENUM( CrsWktVariant )
2554 ScaleDependentBoundingBox = 1 << 0,
2555 SupportsReferenceScale = 1 << 1,
2556 SupportsCallouts = 1 << 2,
2574 Q_ENUM( AnnotationPlacementMode )
2583 FlagNoCreationTools = 1 << 0,
2600 Q_ENUM( AnnotationItemNodeType )
2613 Q_ENUM( AnnotationItemEditOperationResult )
2629 Q_ENUM( TemporalNavigationMode )
2644 Q_ENUM( AnimationState )
2661 Q_ENUM( PlaybackOperation )
2679 Q_ENUM( VectorTemporalMode )
2688 IncludeBeginExcludeEnd = 0,
2689 IncludeBeginIncludeEnd,
2691 Q_ENUM( VectorTemporalLimitMode )
2704 Q_ENUM( VectorDataProviderTemporalMode )
2717 FixedRangePerBand = 3,
2718 RepresentsTemporalValues = 4,
2721 Q_ENUM( RasterTemporalMode )
2730 MatchUsingWholeRange,
2731 MatchExactUsingStartOfRange,
2732 MatchExactUsingEndOfRange,
2733 FindClosestMatchToStartOfRange,
2734 FindClosestMatchToEndOfRange
2736 Q_ENUM( TemporalIntervalMatchMethod )
2745 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2748 Q_ENUM( RasterTemporalCapabilityFlag )
2768 Q_ENUM( TransformDirection )
2777 BallparkTransformsAreAppropriate
2779 IgnoreImpossibleTransformations
2782 Q_ENUM( CoordinateTransformationFlag )
2803 Q_ENUM( RasterizedRenderingPolicy )
2812 Antialiasing = 0x01,
2813 DrawEditingInfo = 0x02,
2814 ForceVectorOutput = 0x04,
2815 UseAdvancedEffects = 0x08,
2816 DrawLabeling = 0x10,
2817 UseRenderingOptimization = 0x20,
2818 DrawSelection = 0x40,
2819 DrawSymbolBounds = 0x80,
2820 RenderMapTile = 0x100,
2821 RenderPartialOutput = 0x200,
2822 RenderPreviewJob = 0x400,
2823 RenderBlocking = 0x800,
2824 LosslessImageRendering
2826 Render3DMap = 0x2000,
2827 HighQualityImageTransforms = 0x4000,
2828 SkipSymbolRendering = 0x8000,
2829 ForceRasterMasks = 0x10000,
2830 RecordProfile = 0x20000,
2831 AlwaysUseGlobalMasks
2846 DrawEditingInfo = 0x01,
2847 ForceVectorOutput = 0x02,
2848 UseAdvancedEffects = 0x04,
2849 UseRenderingOptimization = 0x08,
2850 DrawSelection = 0x10,
2851 DrawSymbolBounds = 0x20,
2852 RenderMapTile = 0x40,
2853 Antialiasing = 0x80,
2854 RenderPartialOutput = 0x100,
2855 RenderPreviewJob = 0x200,
2856 RenderBlocking = 0x400,
2857 RenderSymbolPreview = 0x800,
2858 LosslessImageRendering = 0x1000,
2859 ApplyScalingWorkaroundForTextRendering = 0x2000,
2860 Render3DMap = 0x4000,
2861 ApplyClipAfterReprojection = 0x8000,
2862 RenderingSubSymbol = 0x10000,
2863 HighQualityImageTransforms = 0x20000,
2864 SkipSymbolRendering = 0x40000,
2865 RecordProfile = 0x80000,
2866 AlwaysUseGlobalMasks = 0x100000,
2867 DisableSymbolClippingToExtent = 0x200000,
2868 RenderLayerTree = 0x400000
2882 RenderPartialOutputs = 1 << 0,
2883 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2884 AffectsLabeling = 1 << 2,
2886 Q_ENUM( MapLayerRendererFlag )
2903 RequiresRasterization = 1 << 0,
2905 Q_ENUM( PaintEffectFlag )
2925 TextFormatAlwaysOutlines
2928 TextFormatAlwaysText
2932 Q_ENUM( TextRenderFormat )
2943 UseAllLabels = 1 << 1,
2944 UsePartialCandidates = 1 << 2,
2946 RenderOutlineLabels = 1 << 3,
2947 DrawLabelRectOnly = 1 << 4,
2948 DrawCandidates = 1 << 5,
2949 DrawUnplacedLabels = 1 << 6,
2950 CollectUnplacedLabels = 1 << 7,
2951 DrawLabelMetrics = 1 << 8,
2953 Q_ENUM( LabelingFlag )
2977 Q_ENUM( LabelPlacementEngineVersion )
2992 Q_ENUM( TextOrientation )
3006 RectangleCapHeightBased,
3007 RectangleAscentBased,
3009 Q_ENUM( TextLayoutMode )
3022 Background = 1 << 2,
3025 Q_ENUM( TextComponent )
3049 Q_ENUM( TextHorizontalAlignment )
3067 Q_ENUM( TextVerticalAlignment )
3083 Q_ENUM( TextCharacterVerticalAlignment )
3092 TruncateStringWhenLineIsTooShort = 1 << 0,
3093 UseBaselinePlacement = 1 << 1,
3094 UprightCharactersOnly = 1 << 2,
3095 ExtendLineToFitText = 1 << 3,
3097 Q_ENUM( CurvedTextFlag )
3118 SnappedToGridGlobal = 3,
3120 Q_ENUM( VectorSimplificationAlgorithm )
3131 NoSimplification = 0,
3132 GeometrySimplification = 1,
3133 AntialiasingSimplification = 2,
3134 FullSimplification = 3,
3136 Q_ENUM( VectorRenderingSimplificationFlag )
3160 Q_ENUM( RenderSubcomponentProperty )
3172 Q_ENUM( SelectiveMaskSourceType )
3184 Q_ENUM( VertexType )
3200 EquilateralTriangle,
3233 Q_ENUM( MarkerShape )
3246 LastVertex = 1 << 2,
3247 FirstVertex = 1 << 3,
3248 CentralPoint = 1 << 4,
3249 CurvePoint = 1 << 5,
3250 SegmentCenter = 1 << 6,
3251 InnerVertices = 1 << 7,
3253 Q_ENUM( MarkerLinePlacement )
3264 IntervalCartesian2D = 1 << 0,
3269 Q_ENUM( LinearReferencingPlacement )
3278 CartesianDistance2D,
3282 Q_ENUM( LinearReferencingLabelSource )
3296 Q_ENUM( GradientColorSource )
3311 Q_ENUM( GradientType )
3325 Q_ENUM( SymbolCoordinateReference )
3341 Q_ENUM( GradientSpread )
3355 Q_ENUM( PointCountMethod )
3369 Q_ENUM( MarkerClipMode )
3382 Q_ENUM( LineClipMode )
3397 Q_ENUM( DashPatternLineEndingRule )
3406 ScaleBothDashAndGap,
3410 Q_ENUM( DashPatternSizeAdjustment )
3424 Q_ENUM( GraduatedMethod )
3439 Q_ENUM( PlotAxisSuffixPlacement )
3452 Q_ENUM( PlotAxisType )
3465 Q_ENUM( PieChartLabelType )
3491 Q_ENUM( TilePixelRatio )
3507 ForceFirstLetterToCapital = 4,
3510 UpperCamelCase = 1005,
3511 AllSmallCaps = 1006,
3513 Q_ENUM( Capitalization )
3524 Q_ENUM( TextRendererFlag )
3551 Q_ENUM( AngularDirection )
3564 Q_ENUM( RendererUsage )
3573 ShowMainAnnotationLayer = 1 << 0,
3575 Q_ENUM( MapCanvasFlag )
3592 Sync3DTo2D = 1 << 0,
3593 Sync2DTo3D = 1 << 1,
3595 Q_ENUM( ViewSyncModeFlag )
3606 WhenOutsideVisibleExtent,
3609 Q_ENUM( MapRecenteringMode )
3618 LocalProfile = 1 << 0,
3621 Q_ENUM( HistoryProviderBackend )
3635 Q_ENUM( QueryStorageBackend )
3661 Q_ENUM( ProcessingSourceType )
3712 SecurityRisk = 1 << 15,
3734 RegeneratesPrimaryKey = 1 << 0,
3735 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3736 RespectsEllipsoid = 1 << 2,
3738 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3761 Q_ENUM( ProcessingPropertyAvailability )
3776 Q_ENUM( ProcessingLogLevel )
3791 Q_ENUM( ProcessingMode )
3807 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3830 Q_ENUM( ProcessingFeatureSourceFlag )
3856 Q_ENUM( ProcessingParameterTypeFlag )
3885 Q_ENUM( ProcessingParameterFlag )
3909 Q_ENUM( ProcessingFileParameterBehavior )
3923 Q_ENUM( ProcessingNumberParameterType )
3941 Q_ENUM( ProcessingFieldParameterDataType )
3956 Q_ENUM( ProcessingDateTimeParameterDataType )
3972 Q_ENUM( ProcessingModelChildParameterSource )
3985 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4000 Q_ENUM( ProcessingTinInputLayerType )
4012 Q_ENUM( CrsDefinitionFormat )
4029 Q_ENUM( FieldDomainSplitPolicy )
4050 Q_ENUM( FieldDomainMergePolicy )
4065 Q_ENUM( FieldDuplicatePolicy )
4078 Q_ENUM( FieldDomainType )
4088 AutomaticGroups = 1,
4091 Q_ENUM( TransactionMode )
4104 Q_ENUM( AltitudeClamping )
4116 Q_ENUM( AltitudeBinding )
4126 IncludeLowerExcludeUpper,
4127 ExcludeLowerIncludeUpper,
4130 Q_ENUM( RangeLimits )
4139 FixedElevationRange = 0,
4140 RepresentsElevationSurface = 1,
4141 FixedRangePerBand = 2,
4142 DynamicRangePerBand = 3,
4144 Q_ENUM( RasterElevationMode )
4153 FixedElevationRange = 0,
4155 FixedRangePerGroup = 2,
4157 Q_ENUM( MeshElevationMode )
4170 Q_ENUM( BetweenLineConstraint )
4183 Q_ENUM( LineExtensionSide )
4200 Q_ENUM( CadConstraintType )
4212 Q_ENUM( CadMeasurementDisplayType )
4221 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4222 TrustStoredLayerStatistics
4224 RememberLayerEditStatusBetweenSessions = 1 << 2,
4225 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4227 Q_ENUM( ProjectFlag )
4238 ShowContextMenu = 1 << 0,
4240 Q_ENUM( PlotToolFlag )
4264 Q_ENUM( Point3DShape )
4276 Q_ENUM( LightSourceType )
4289 Q_ENUM( NavigationMode )
4314 Q_ENUM( VerticalAxisInversion )
4349 TriangulatedSurface,
4360 RespectsMaximumErrorMapUnit = 1 << 0,
4361 RespectsDistanceRange = 1 << 1,
4362 RespectsElevationRange = 1 << 2,
4364 Q_ENUM( ProfileGeneratorFlag )
4377 DistanceVsElevationTable,
4391 Q_ENUM( PointCloudSymbol )
4404 Q_ENUM( PointCloudDrawOrder )
4416 AvoidIntersectionsCurrentLayer,
4417 AvoidIntersectionsLayers,
4419 Q_ENUM( AvoidIntersectionsMode )
4433 Q_ENUM( ProjectFileFormat )
4452 DontLoadProjectStyles = 1 << 5,
4453 ForceReadOnlyLayers = 1 << 6,
4454 DontUpgradeAnnotations = 1 << 7,
4456 Q_ENUM( ProjectReadFlag )
4478 ProjectStyles = 1 << 0,
4480 Q_ENUM( ProjectCapability )
4505 Q_ENUM( MapBoxGlStyleSourceType )
4525 Q_ENUM( ArcGisRestServiceType )
4539 Q_ENUM( RelationshipType )
4553 Q_ENUM( RelationshipStrength )
4567 Q_ENUM( RelationshipCardinality )
4576 MultipleFieldKeys = 1 << 0,
4577 ForwardPathLabel = 1 << 1,
4578 BackwardPathLabel = 1 << 2,
4580 Q_ENUM( RelationshipCapability )
4601 Q_ENUM( CoordinateDisplayType )
4614 Q_ENUM( SettingsOrigin )
4635 Q_ENUM( ScriptLanguage )
4647 CheckSyntax = 1 << 1,
4648 ToggleComment = 1 << 2,
4650 Q_ENUM( ScriptLanguageCapability )
4667 AboveInsertionPoint,
4669 OptimalInInsertionGroup,
4671 Q_ENUM( LayerTreeInsertionMethod )
4680 SkipVisibilityCheck = 1 << 0,
4682 Q_ENUM( LayerTreeFilterFlag )
4699 ExcludeByDefault = 1 << 0,
4701 Q_ENUM( MapLayerLegendFlag )
4729 Q_ENUM( LegendComponent )
4742 Q_ENUM( LegendSyncMode )
4753 ShowRuleDetails = 1 << 0,
4755 Q_ENUM( LegendJsonRenderFlag )
4772 Q_ENUM( ActionType )
4784 SingleFeature = 1 << 1,
4785 MultipleFeatures = 1 << 2,
4786 AllActions = Layer | SingleFeature | MultipleFeatures
4788 Q_ENUM( MapLayerActionTarget )
4809 EnabledOnlyWhenEditable = 1 << 1,
4810 EnableOnlyWhenHasGeometry = 1 << 2,
4812 Q_ENUM( MapLayerActionFlag )
4842 Q_ENUM( AttributeActionType )
4856 Q_ENUM( MetadataDateType )
4887 ContinuousPalette = 17,
4910 Q_ENUM( RasterColorInterpretation )
4926 Q_ENUM( RasterLayerType )
4939 SingleBandPseudoColor,
4941 PalettedSingleBandGray,
4942 PalettedSingleBandPseudoColor,
4943 PalettedMultiBandColor,
4944 MultiBandSingleBandGray,
4945 MultiBandSingleBandPseudoColor,
4949 Q_ENUM( RasterDrawingStyle )
4964 Q_ENUM( RasterPyramidFormat )
4979 Q_ENUM( RasterBuildPyramidOption )
4996 Q_ENUM( RasterIdentifyFormat )
5015 BuildPyramids = 1 << 4,
5017 IdentifyValue = 1 << 6,
5018 IdentifyText = 1 << 7,
5019 IdentifyHtml = 1 << 8,
5020 IdentifyFeature = 1 << 9,
5023 Q_ENUM( RasterInterfaceCapability )
5044 NoProviderCapabilities = 0,
5045 ReadLayerMetadata = 1 << 1,
5046 WriteLayerMetadata = 1 << 2,
5047 ProviderHintBenefitsFromResampling = 1 << 3,
5048 ProviderHintCanPerformProviderResampling = 1 << 4,
5049 ReloadData = 1 << 5,
5050 DpiDependentData = 1 << 6,
5051 NativeRasterAttributeTable = 1 << 7,
5052 BuildPyramids = 1 << 8,
5054 Q_ENUM( RasterProviderCapability )
5076 Q_ENUM( ElevationMapCombineMethod )
5129 Q_ENUM( SystemOfMeasurement )
5143 Q_ENUM( MapToolUnit )
5181 ChainsInternational,
5182 ChainsBritishBenoit1895A,
5183 ChainsBritishBenoit1895B,
5184 ChainsBritishSears1922Truncated,
5185 ChainsBritishSears1922,
5190 FeetBritishBenoit1895A,
5191 FeetBritishBenoit1895B,
5192 FeetBritishSears1922Truncated,
5193 FeetBritishSears1922,
5202 LinksBritishBenoit1895A,
5203 LinksBritishBenoit1895B,
5204 LinksBritishSears1922Truncated,
5205 LinksBritishSears1922,
5208 YardsBritishBenoit1895A,
5209 YardsBritishBenoit1895B,
5210 YardsBritishSears1922Truncated,
5211 YardsBritishSears1922,
5222 Q_ENUM( DistanceUnit )
5237 Q_ENUM( DistanceUnitType )
5285 Q_ENUM( VolumeUnit )
5330 Q_ENUM( TemporalUnit )
5350 Q_ENUM( RenderUnit )
5370 Q_ENUM( LayoutUnit )
5384 Q_ENUM( LayoutUnitType )
5412 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5414 Q_ENUM( LayoutRenderFlag )
5439 Q_ENUM( PictureFormat )
5454 Q_ENUM( ScaleCalculationMethod )
5469 Q_ENUM( ScaleBarAlignment )
5483 Q_ENUM( ScaleBarSegmentSizeMode )
5497 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5511 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5526 DynamicPageSizeBased,
5528 Q_ENUM( MapGridUnit )
5544 Q_ENUM( MapGridStyle )
5560 Q_ENUM( MapGridComponentVisibility )
5574 Q_ENUM( MapGridAnnotationPosition )
5593 Q_ENUM( MapGridAnnotationDirection )
5608 DegreeMinuteNoSuffix,
5610 DegreeMinuteSecondNoSuffix,
5611 DegreeMinuteSecondPadded,
5614 Q_ENUM( MapGridAnnotationFormat )
5630 Q_ENUM( MapGridBorderSide )
5645 InteriorExteriorTicks,
5650 Q_ENUM( MapGridFrameStyle )
5661 OrthogonalTicks = 0,
5664 Q_ENUM( MapGridTickLengthMode )
5681 Q_ENUM( MapGridFrameSideFlag )
5705 Q_ENUM( MapGridAnnotationType )
5738 Q_ENUM( PostgresRelKind )
5747 SetFieldComment = 1 << 0,
5748 SetFieldAlias = 1 << 1,
5749 SetTableComment = 1 << 2,
5750 EditFieldDomain = 1 << 3,
5751 DeleteFieldDomain = 1 << 4,
5753 Q_ENUM( DatabaseProviderConnectionCapability2 )
5764 SetGeometryColumnName = 1 << 0,
5765 SetPrimaryKeyName = 1 << 1,
5767 Q_ENUM( DatabaseProviderTableImportCapability )
5778 SaveToDatabase = 1 << 1,
5779 LoadFromDatabase = 1 << 2,
5780 DeleteFromDatabase = 1 << 3
5797 Q_ENUM( UserProfileSelectionPolicy )
5818 Q_ENUM( AttributeEditorType )
5831 Q_ENUM( AttributeEditorContainerType )
5846 Q_ENUM( AttributeFormLayout )
5861 Q_ENUM( AttributeFormSuppression )
5877 Q_ENUM( AttributeFormPythonInitCodeSource )
5887 AllowedDefaultOn = 1,
5888 AllowedDefaultOff = 2,
5890 Q_ENUM( AttributeFormReuseLastValuePolicy )
5903 Q_ENUM( ExpressionType )
5918 Q_ENUM( FeatureSymbologyExport )
5927 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
5929 Q_ENUM( VectorTileProviderFlag )
5945 ReadLayerMetadata = 1 << 1,
5947 Q_ENUM( VectorTileProviderCapability )
5966 AvailableNoChildren,
5967 UseLowerZoomLevelTile,
5969 Q_ENUM( TileAvailability )
5978 ReadLayerMetadata = 1 << 1,
5980 Q_ENUM( TiledSceneProviderCapability )
6001 Q_ENUM( TiledSceneBoundingVolumeType )
6016 Q_ENUM( TileRefinementProcess )
6029 Q_ENUM( TileChildrenAvailability )
6038 NoHierarchyFetch = 1 << 0,
6040 Q_ENUM( TiledSceneRequestFlag )
6057 RequiresTextures = 1 << 0,
6058 ForceRasterRender = 1 << 1,
6059 RendersTriangles = 1 << 2,
6060 RendersLines = 1 << 3,
6062 Q_ENUM( TiledSceneRendererFlag )
6079 RA_NearestNeighbour = 0,
6092 Q_ENUM( GdalResampleAlgorithm )
6108 Q_ENUM( VsiHandlerType )
6132 MinimumPoint = 1 << 12,
6133 MaximumPoint = 1 << 13,
6135 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6137 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6138 Default = Count | Sum | Mean,
6140 Q_ENUM( ZonalStatistic )
6162 FailedToCreateField = 8,
6165 Q_ENUM( ZonalStatisticResult )
6191 StringMinimumLength,
6192 StringMaximumLength,
6196 StringConcatenateUnique
6208 CountMissing = 1 << 15,
6213 StDevSample = 1 << 5,
6220 FirstQuartile = 1 << 12,
6221 ThirdQuartile = 1 << 13,
6222 InterQuartileRange = 1 << 14,
6225 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6250 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6252 Q_ENUM( DateTimeStatistic )
6279 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6281 Q_ENUM( StringStatistic )
6305 SumOfSquares = 1 << 6,
6306 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6308 Q_ENUM( RasterBandStatistic )
6336 Q_ENUM( SensorThingsEntity )
6348 Q_ENUM( ColorModel )
6362 Q_ENUM( DocumentationApi )
6371 DeveloperToolsPanel,
6374 Q_ENUM( DocumentationBrowser )
6399 Q_ENUM( MouseHandlesAction )
6410 Q_ENUM( MeshRangeLimit )
6423 Q_ENUM( MeshRangeExtent )
6436 Q_ENUM( PointCloudAccessType )
6446 RenderOverviewAndExtents
6448 Q_ENUM( PointCloudZoomOutRenderBehavior )
6461 Q_ENUM( SegmentCalculationMethod )
6474 Q_ENUM( StacObjectType )
6485 Q_ENUM( RasterProcessingParameterCapability )
6500 Status = Qt::UserRole + 1,
6506 Q_ENUM( DevToolsNodeRole )
6520 Q_ENUM( ExtrusionFace )
6535 ConstrainedDelaunay = 0,
6538 Q_ENUM( TriangulationAlgorithm )
6722 return QStringLiteral(
6723 R
"""(GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["unknown"],AREA["World"],BBOX[-90,-180,90,180]],ID["EPSG",4326]] )"""
6731 Q_DECL_DEPRECATED
static QString
geoProj4() {
return u
"+proj=longlat +datum=WGS84 +no_defs"_s; }
6834#define cast_to_fptr( f ) f
6854 , mPreviousState( object->blockSignals( true ) )
6863 Object *mObject =
nullptr;
6864 bool mPreviousState;
6886CORE_EXPORT uint
qHash(
const QVariant &variant );
6898 if ( precision < 0 )
6900 const double roundFactor = std::pow( 10, -precision );
6901 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
6905 str = QString::number( a,
'f', precision );
6906 if ( str.contains(
'.'_L1 ) )
6909 int idx = str.length() - 1;
6910 while ( str.at( idx ) ==
'0' && idx > 1 )
6914 if ( idx < str.length() - 1 )
6915 str.truncate( str.at( idx ) ==
'.' ? idx : idx + 1 );
6921 str = QString::number( a,
'f', precision );
6925 if ( str ==
"-0"_L1 )
6940 const bool aIsNan = std::isnan( a );
6941 const bool bIsNan = std::isnan( b );
6942 if ( aIsNan || bIsNan )
6943 return aIsNan && bIsNan;
6957template<
typename T>
inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
6959 const bool aIsNan = std::isnan( a );
6960 const bool bIsNan = std::isnan( b );
6961 if ( aIsNan || bIsNan )
6962 return aIsNan && bIsNan;
6964 const T diff = a - b;
6965 return diff >= -epsilon && diff <= epsilon;
6975inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
6986inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
6994 const bool aIsNan = std::isnan( a );
6995 const bool bIsNan = std::isnan( b );
6996 if ( aIsNan || bIsNan )
6997 return aIsNan && bIsNan;
7005 const double ar = std::frexp( a, &aexp );
7006 const double br = std::frexp( b, &bexp );
7008 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7017 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7018 const double scaleFactor = std::pow( 10.0, places );
7019 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7030template<
class Key,
class Value> QString
qgsMapJoinKeys(
const QMap<Key, Value> &map,
const QString &separator )
7033 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
7034 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
7036 result.chop( separator.size() );
7046template<
class Key,
class Value> QString
qgsMapJoinValues(
const QMap<Key, Value> &map,
const QString &separator )
7049 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
7050 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
7052 result.chop( separator.size() );
7062template<
class T> QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
7065 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
7066 result += QString(
"%1%2" ).arg( *it ).arg( separator );
7068 result.chop( separator.size() );
7098 template<
typename To,
typename From>
inline To down_cast( From *f )
7100 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ),
"target type not derived from source type" );
7101 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
7102 return static_cast<To
>( f );
7105 template<
class T> QSet<T> listToSet(
const QList<T> &list )
7107 return QSet<T>( list.begin(), list.end() );
7110 template<
class T> QList<T> setToList(
const QSet<T> &set )
7112 return QList<T>( set.begin(), set.end() );
7125 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7126 Q_ASSERT( metaEnum.isValid() );
7128 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
7130 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
7142 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7143 Q_ASSERT( metaEnum.isValid() );
7144 QMap<T, QString> enumMap;
7145 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
7147 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7159 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7160 Q_ASSERT( metaEnum.isValid() );
7161 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
7164 *returnOk = key ? true :
false;
7166 return QString::fromUtf8( key );
7176template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
7178 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7179 Q_ASSERT( metaEnum.isValid() );
7181 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7193 if ( tryValueAsKey )
7195 bool canConvert =
false;
7196 const int intValue = key.toInt( &canConvert );
7197 if ( canConvert && metaEnum.valueToKey( intValue ) )
7203 return static_cast<T
>( intValue );
7207 return defaultValue;
7217 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7218 Q_ASSERT( metaEnum.isValid() );
7219 int intValue =
static_cast<int>( value );
7220 const QByteArray ba = metaEnum.valueToKeys( intValue );
7223 const int intValueCheck = metaEnum.keysToValue( ba );
7224 bool ok = intValue == intValueCheck;
7227 return ok ? QString::fromUtf8( ba ) : QString();
7237template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
7239 if ( keys.isEmpty() )
7245 return defaultValue;
7247 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7248 Q_ASSERT( metaEnum.isValid() );
7250 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7262 if ( tryValueAsKey )
7264 bool canConvert =
false;
7265 const int intValue = keys.toInt( &canConvert );
7268 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7269 const int intValueCheck = metaEnum.keysToValue( keyArray );
7270 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7276 return T( intValue );
7281 return defaultValue;
7335CORE_EXPORT
int qgsVariantCompare(
const QVariant &lhs,
const QVariant &rhs,
bool strictTypeCheck =
false );
7357CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
7380inline bool operator>(
const QVariant &v1,
const QVariant &v2 )
7396inline bool operator<(
const QVariant &v1,
const QVariant &v2 )
7425class ScopedIntIncrementor
7428 ScopedIntIncrementor(
int *variable )
7429 : mVariable( variable )
7434 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
7435 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
7442 mVariable =
nullptr;
7445 ~ScopedIntIncrementor() { release(); }
7448 int *mVariable =
nullptr;
7488#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
7490#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
7491#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
7492#define Q_NOWARN_UNREACHABLE_PUSH
7493#define Q_NOWARN_UNREACHABLE_POP
7495#elif defined( _MSC_VER )
7497#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
7498#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
7499#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
7500#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
7503#define Q_NOWARN_DEPRECATED_PUSH
7504#define Q_NOWARN_DEPRECATED_POP
7505#define Q_NOWARN_UNREACHABLE_PUSH
7506#define Q_NOWARN_UNREACHABLE_POP
7513#define QGISEXTERN extern "C" __declspec( dllexport )
7515#if defined( __GNUC__ ) || defined( __clang__ )
7516#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
7518#define QGISEXTERN extern "C"
7526#define BUILTIN_UNREACHABLE __assume( false );
7527#elif defined( __GNUC__ ) && !defined( __clang__ )
7538#define BUILTIN_UNREACHABLE __builtin_unreachable();
7540#define BUILTIN_UNREACHABLE
Provides global constants and enumerations for use throughout the application.
MapGridTickLengthMode
Map grid tick length mode (useful for rotated grids).
DistanceUnitType
Types of distance units.
PieChartLabelType
Pie chart label types.
GnssConstellation
GNSS constellation.
SettingsOption
Settings options.
EmbeddedScriptType
Type of Python Embedded in projects.
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
ProcessingSourceType
Processing data source types.
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
GpsQualityIndicator
GPS signal quality indicator.
QFlags< MapGridFrameSideFlag > MapGridFrameSideFlags
Flags for controlling which side of the map a frame is drawn on.
DataItemProviderCapability
Capabilities for data item providers.
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
RasterizedRenderingPolicy
Policies controlling when rasterisation of content during renders is permitted.
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
ProjectReadFlag
Flags which control project read behavior.
QFlags< DatabaseProviderTableImportCapability > DatabaseProviderTableImportCapabilities
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
CurvedLabelMode
Modes which determine how curved labels are generated and placed.
MapToolUnit
Type of unit of tolerance value from settings.
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
static const double DEFAULT_LINE_WIDTH
The default width (in millimeters) for line symbols.
ProcessingModelChildAlgorithmExecutionStatus
Reflects the status of a child algorithm in a Processing model.
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
ScaleBarDistanceLabelHorizontalPlacement
Scale bar distance label horizontal placement.
PointCloudSymbol
Rendering symbols for point cloud points.
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
static const double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM
Default highlight line/stroke minimum width in mm.
static QString version()
Version string.
GeometryValidityFlag
Geometry validity check flags.
QFlags< RasterProviderCapability > RasterProviderCapabilities
Raster data provider capabilities.
ExpressionType
Expression types.
MapLayerActionFlag
Map layer action flags.
ScaleBarDistanceLabelVerticalPlacement
Scale bar distance label vertical placement.
MapLayerProperty
Generic map layer properties.
VectorProviderCapability
Vector data provider capabilities.
RasterProcessingParameterCapability
Capabilities of a raster layer processing parameter.
BufferSide
Side of line to buffer.
RasterResamplingStage
Stage at which raster resampling occurs.
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
ProjectTrustStatus
Project trust status.
MultiPartLabelingBehavior
Behavior modifier for labeling features with multi-part geometries.
AltitudeClamping
Altitude clamping.
static const int PREVIEW_JOB_DELAY_MS
Delay between the scheduling of 2 preview jobs.
VectorTileProviderFlag
Flags for vector tile data providers.
VectorTemporalMode
Vector layer temporal feature modes.
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
QFlags< UriCleaningFlag > UriCleaningFlags
Flags for cleaning layer URIs.
CoordinateDisplayType
Formats for displaying coordinates.
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
QFlags< VectorRenderingSimplificationFlag > VectorRenderingSimplificationFlags
Simplification flags for vector feature rendering.
DashPatternSizeAdjustment
Dash pattern size adjustment options.
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
GpsFixStatus
GPS fix status.
AnnotationItemNodeType
Annotation item node types.
static const char * QGIS_DEV_VERSION
The development version.
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
AngularDirection
Angular directions.
ContentStatus
Status for fetched or stored content.
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
LayoutUnit
Layout measurement units.
RelationshipStrength
Relationship strength.
Q_ENUM(GnssConstellation)
PaintEffectFlag
Flags which control how paint effects behave.
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
LegendComponent
Component of legends which can be styled.
Point3DShape
3D point shape types.
GeometryOperationResult
Success or failure of a geometry operation.
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
BrowserItemState
Browser item states.
AttributeEditorContainerType
Attribute editor container types.
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
FeatureRequestFilterType
Types of feature request filters.
MarkerClipMode
Marker clipping modes.
GpsNavigationStatus
GPS navigation status.
AnnotationItemFlag
Flags for annotation items.
AttributeFormReuseLastValuePolicy
Attribute form policy for reusing last entered values.
RenderSubcomponentProperty
Rendering subcomponent properties.
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Statistic
Available generic statistics.
TriangulationAlgorithm
Triangulation algorithms.
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
AngleUnit
Units of angles.
MapGridAnnotationPosition
Position for map grid annotations.
CaptureTechnique
Capture technique.
static QString geosVersion()
GEOS string version linked.
SpatialIndexPresence
Enumeration of spatial index presence states.
BrowserItemCapability
Browser item capabilities.
AttributeFormSuppression
Available form types for layout of the attribute form editor.
QFlags< AuthConfigurationStorageCapability > AuthConfigurationStorageCapabilities
Authentication configuration storage capabilities.
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
LayerTreeInsertionMethod
Layer tree insertion methods.
RasterProviderCapability
Raster data provider capabilities.
DatabaseProviderTableImportCapability
Represents capabilities of a database provider connection when importing table data.
LineClipMode
Line clipping modes.
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
VectorRenderingSimplificationFlag
Simplification flags for vector feature rendering.
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
VsiHandlerType
GDAL VSI handler types.
NetworkRequestFlag
Flags controlling behavior of network requests.
static int geographicLibVersion()
Returns the version of the GeographicLib library if QGIS is built with GeographicLib support.
SettingsTreeNodeType
Type of tree node.
TilePixelRatio
DpiMode enum.
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
QFlags< PaintEffectFlag > PaintEffectFlags
Flags which control how paint effects behave.
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
QFlags< MapLayerLegendFlag > MapLayerLegendFlags
Map layer legend flags.
MapGridUnit
Units for map grid values.
LabelPrioritization
Label prioritization.
GradientColorSource
Gradient color sources.
FileFilterType
Type of file filters.
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
RasterLayerType
Raster layer types.
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
ScaleBarAlignment
Scalebar alignment.
RasterPyramidFormat
Raster pyramid formats.
ProcessingMode
Types of modes which Processing widgets can be created for.
VectorExportResult
Vector layer export result codes.
DistanceUnit
Units of distance.
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
SymbolLayerFlag
Flags controlling behavior of symbol layers.
MeshRangeLimit
Describes the limits used to compute mesh ranges (min/max values).
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
LegendSyncMode
Legend synchronization mode.
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
RasterRangeLimit
Describes the limits used to compute raster ranges (min/max values).
ScaleMethod
Scale methods.
QFlags< RasterProcessingParameterCapability > RasterProcessingParameterCapabilities
Raster layer processing parameter capabilities.
SldExportOption
SLD export options.
VectorSimplificationAlgorithm
Simplification algorithms for vector features.
FilePathType
File path types.
CadConstraintType
Advanced digitizing constraint type.
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
PointCountMethod
Methods which define the number of points randomly filling a polygon.
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
static const double DEFAULT_HIGHLIGHT_BUFFER_MM
Default highlight buffer in mm.
MapCanvasFlag
Flags controlling behavior of map canvases.
LayerTreeFilterFlag
Layer tree filter flags.
ExtrusionFace
Extrusion face types for the QgsTessellator.
AttributeFormLayout
Available form types for layout of the attribute form editor.
FeatureRequestFlag
Flags for controlling feature requests.
VertexType
Types of vertex.
ShaderInterpolationMethod
Color ramp shader interpolation methods.
JoinStyle3D
Join styles for 3D buffers.
DataProviderFlag
Generic data provider flags.
Q_ENUM(GpsNavigationStatus)
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg).
RasterResamplingMethod
Resampling method for raster provider-level resampling.
GeometryValidationEngine
Available engines for validating geometries.
static int geosVersionPatch()
GEOS Patch version number linked.
TransactionMode
Transaction mode.
Q_ENUM(ScaleToTileZoomLevelMethod)
QFlags< FeatureRendererFlag > FeatureRendererFlags
Flags controlling behavior of vector feature renderers.
static const QColor DEFAULT_HIGHLIGHT_COLOR
Default highlight color.
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
static Q_DECL_DEPRECATED const double SCALE_PRECISION
Fudge factor used to compare two scales.
RasterDrawingStyle
Raster drawing styles.
GeosCreationFlag
Flags which control geos geometry creation behavior.
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
MeshRangeExtent
Describes the extent used to compute mesh ranges (min/max values).
GpsInformationComponent
GPS information component.
Q_ENUM(PointCloudProfileType)
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
FileOperationFlag
File operation flags.
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
ProjectCapability
Flags which control project capabilities.
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
QFlags< RasterInterfaceCapability > RasterInterfaceCapabilities
Raster interface capabilities.
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
TemporalNavigationMode
Temporal navigation modes.
ProcessingFieldParameterDataType
Processing field parameter data types.
StringStatistic
Available string statistics.
SelectiveMaskSourceType
Selective masking source types.
FieldDomainMergePolicy
Merge policy for field domains.
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
MessageLevel
Level for messages This will be used both for message log and message bar in application.
@ Warning
Warning message.
@ Critical
Critical/error message.
@ Info
Information message.
@ Success
Used for reporting a successful operation.
MapGridBorderSide
Border sides for map grid annotations.
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
QFlags< SnappingType > SnappingTypes
Snapping types.
static Q_DECL_DEPRECATED QString geoWkt()
WKT string that represents a geographic coord system.
static Q_DECL_DEPRECATED bool hasQtWebkit()
Returns false.
MapGridFrameSideFlag
Flags for controlling which side of the map a frame is drawn on.
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
TextLayoutMode
Text layout modes.
PropertyType
Property types.
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
LayerFilter
Filter for layers.
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
RasterRendererFlag
Flags which control behavior of raster renderers.
QFlags< ExtrusionFace > ExtrusionFaces
Tessellator extrusion face types.
static QString devVersion()
The development version.
CrsType
Coordinate reference system types.
QFlags< GeosCreationFlag > GeosCreationFlags
Geos geometry creation behavior flags.
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
SensorThingsEntity
OGC SensorThings API entity types.
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
FieldDomainSplitPolicy
Split policy for field domains.
ArcGisRestServiceType
Available ArcGIS REST service types.
UriCleaningFlag
Flags for cleaning layer URIs.
RasterFileWriterResult
Raster file export results.
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
MapRecenteringMode
Modes for recentering map canvases.
RasterRangeAccuracy
Describes the accuracy used to compute raster ranges (min/max values).
ActionStart
Enum to determine when an operation would begin.
PlaybackOperation
Media playback operations.
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
QFlags< TextRendererFlag > TextRendererFlags
QueryStorageBackend
Stored query storage backends.
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
MarkerShape
Marker shapes.
StacObjectType
Available types of stac objects.
LegendJsonRenderFlag
Legend JSON export flags.
BlendMode
Blending modes defining the available composition modes that can be used when painting.
RasterElevationMode
Raster layer elevation modes.
Capitalization
String capitalization options.
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
PictureFormat
Picture formats.
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
static QString releaseName()
Release name.
LabelQuadrantPosition
Label quadrant positions.
QFlags< PlotToolFlag > PlotToolFlags
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
TextOrientation
Text orientations.
TemporalUnit
Temporal units.
QFlags< RasterRendererCapability > RasterRendererCapabilities
Raster renderer capabilities.
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
UnplacedLabelVisibility
Unplaced label visibility.
CrsDefinitionFormat
CRS definition formats.
SpatialFilterType
Feature request spatial filter types.
VerticalAnchorPoint
Marker symbol vertical anchor points.
QFlags< LayoutRenderFlag > LayoutRenderFlags
Flags for controlling how a layout is rendered.
static QString defaultProjectScales()
A string with default project scales.
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
TileAvailability
Possible availability states for a tile within a tile matrix.
ProjectFlag
Flags which control the behavior of QgsProjects.
MapGridStyle
Map grid drawing styles.
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
BrowserItemType
Browser item types.
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
static bool hasGeographicLib()
Returns true if the QGIS build contains GeographicLib.
SettingsType
Types of settings entries.
QFlags< SettingsOption > SettingsOptions
RasterTemporalMode
Raster layer temporal modes.
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
LabelingFlag
Various flags that affect drawing and placement of labels.
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
RelationshipType
Relationship types.
ScriptLanguageCapability
Script language capabilities.
RasterInterfaceCapability
Raster interface capabilities.
JoinStyle
Join styles for buffers.
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
CadMeasurementDisplayType
Advanced digitizing measurement display types.
ProcessingAlgorithmDocumentationFlag
Flags describing algorithm behavior for documentation purposes.
TextCharacterVerticalAlignment
Text vertical alignment for characters.
FieldDuplicatePolicy
Duplicate policy for fields.
UserProfileSelectionPolicy
User profile selection policy.
static const float DEFAULT_MAPTOPIXEL_THRESHOLD
Default threshold between map coordinates and device coordinates for map2pixel simplification.
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
AltitudeBinding
Altitude binding.
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
StringFormat
Format of log message.
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
MapLayerActionTarget
Map layer action targets.
ShaderClassificationMethod
Color ramp shader classification methods.
MapLayerLegendFlag
Map layer legend flags.
ZonalStatisticResult
Zonal statistics result codes.
ScriptLanguage
Scripting languages.
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
QFlags< NetworkRequestFlag > NetworkRequestFlags
Flags controlling behavior of network requests.
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
PlotAxisType
Plots axis types.
TiledSceneProviderCapability
Tiled scene data provider capabilities.
LabelMultiLineAlignment
Text alignment for multi-line labels.
PointCloudProfileType
Types of elevation profiles to generate for point cloud sources.
RasterBandStatistic
Available raster band statistics.
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
AuthConfigurationStorageCapability
Authentication configuration storage capabilities.
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
TextRenderFormat
Options for rendering text.
DocumentationBrowser
Documentation API browser.
DataType
Raster data types.
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
SystemOfMeasurement
Systems of unit measurement.
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
VerticalAxisInversion
Vertical axis inversion options for 3D views.
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
RelationshipCapability
Relationship capabilities.
RasterBuildPyramidOption
Raster pyramid building options.
QFlags< VectorProviderCapability > VectorProviderCapabilities
Vector data provider capabilities.
NavigationMode
The navigation mode used by 3D cameras.
static int geosVersionMajor()
GEOS Major version number linked.
LinearReferencingPlacement
Defines how/where the labels should be placed in a linear referencing symbol layer.
TileChildrenAvailability
Possible availability states for a tile's children.
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
LayerType
Types of layers that can be added to a map.
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
LabelWhitespaceCollisionHandling
Label whitespace collision handling.
RasterRangeExtent
Describes the extent used to compute raster ranges (min/max values).
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
RenderUnit
Rendering size units.
static QString geographicCrsAuthId()
Geographic coordinate system auth:id string for a default geographic CRS (EPSG:4326).
CoordinateOrder
Order of coordinates.
SelectionFlag
Flags which control feature selection behavior.
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
EndCapStyle
End cap styles for buffers.
ScaleCalculationMethod
Scale calculation logic.
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
static bool hasSfcgal()
Returns true if the QGIS build contains SFCGAL.
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
QFlags< LoadStyleFlag > LoadStyleFlags
Flags for loading layer styles.
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
FieldDomainType
Types of field domain.
MapLayerRendererFlag
Flags which control how map layer renderers behave.
RenderContextFlag
Flags which affect rendering operations.
RasterPipeInterfaceRole
Raster pipe interface roles.
CoverageValidityResult
Coverage validity results.
DataProviderReadFlag
Flags which control data provider construction.
ScaleBarSegmentSizeMode
Modes for setting size for scale bar segments.
Aggregate
Available aggregates to calculate.
static int sfcgalVersionInt()
Returns the version of the SFCGAL library if QGIS is built with SFCGAL.
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
static const double DEFAULT_SEARCH_RADIUS_MM
Identify search radius in mm.
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
MapBoxGlStyleSourceType
Available MapBox GL style source types.
LayoutUnitType
Types of layout units.
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
DashPatternLineEndingRule
Dash pattern line ending rules.
FieldMetadataProperty
Standard field metadata values.
MapGridAnnotationType
Annotation coordinate type.
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
RasterRendererCapability
Raster renderer capabilities.
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
HistoryProviderBackend
History provider backends.
static const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
RasterExportType
Raster file export types.
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
TextVerticalAlignment
Text vertical alignment.
RelationshipCardinality
Relationship cardinality.
GradientType
Gradient types.
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
VectorProfileType
Types of elevation profiles to generate for vector sources.
GpsFeatureType
GPS feature types.
SourceHierarchyLevel
Defines the structural levels within a data source hierarchy.
VectorLayerTypeFlag
Vector layer type flags.
MakeValidMethod
Algorithms to use when repairing invalid geometries.
RangeLimits
Describes how the limits of a range are handled.
QFlags< ProjectFlag > ProjectFlags
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
static int versionInt()
Version number used for comparing versions using the "Check QGIS Version" function.
VectorEditResult
Specifies the result of a vector layer edit operation.
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
VolumeUnit
Units of volume.
CurvedTextFlag
Flags controlling behavior of curved text generation.
AttributeEditorType
Attribute editor types.
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
EmbeddedScriptMode
Authorisation to run script embedded in projects.
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
MapGridFrameStyle
Style for map grid frames.
PointCloudAccessType
The access type of the data, local is for local files and remote for remote files (over HTTP).
ProfileExportType
Types of export for elevation profiles.
MeshElevationMode
Mesh layer elevation modes.
ProjectFileFormat
Flags which control project read behavior.
SnappingMode
SnappingMode defines on which layer the snapping is performed.
RasterColorInterpretation
Raster color interpretation.
static const int USER_CRS_START_ID
Minimum ID number for a user-defined projection.
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
LabelPlacementEngineVersion
Labeling placement engine version.
Q_ENUM(ProcessingAlgorithmFlag)
static int geosVersionMinor()
GEOS Minor version number linked.
ColorModel
Color model types.
RendererUsage
Usage of the renderer.
SettingsTreeNodeOption
Options for named list nodes.
BabelFormatCapability
Babel GPS format capabilities.
PostgresRelKind
Postgres database relkind options.
SegmentCalculationMethod
brief Method used to calculate the number of segments for circle approximation
GpsConnectionType
GPS connection types.
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
MouseHandlesAction
Action to be performed by the mouse handles.
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
QFlags< TextComponent > TextComponents
Text components.
static QString geoNone()
Constant that holds the string representation for "No ellipse/No CRS".
DevToolsNodeRole
Dev tools node custom data roles.
LoadStyleFlag
Flags for loading layer styles.
BetweenLineConstraint
Between line constraints which can be enabled.
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
MetadataDateType
Date types for metadata.
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
RasterIdentifyFormat
Raster identify formats.
MapGridAnnotationDirection
Direction of grid annotations.
TextHorizontalAlignment
Text horizontal alignment.
SymbolFlag
Flags controlling behavior of symbols.
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
HttpMethod
Different methods of HTTP requests.
WkbType
The WKB type describes the number of dimensions a geometry has.
QFlags< SldExportOption > SldExportOptions
SymbolCoordinateReference
Symbol coordinate reference modes.
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
TileRefinementProcess
Tiled scene tile refinement processes.
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
SelectionRenderingMode
Specifies how a selection should be rendered.
InputControllerType
Input controller types.
TextRendererFlag
Flags which control the behavior of rendering text.
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
CrsAxisDirection
Coordinate reference system axis directions.
ProcessingModelChildParameterSource
Processing model child parameter sources.
static int geosVersionInt()
GEOS version number linked.
QFlags< MarkerLinePlacement > MarkerLinePlacements
QFlags< MapCanvasFlag > MapCanvasFlags
Flags controlling behavior of map canvases.
CrsWktVariant
Coordinate reference system WKT formatting variants.
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
MapGridAnnotationFormat
Format for displaying map grid annotations.
DocumentationApi
Documentation API.
AutoRefreshMode
Map layer automatic refresh modes.
AnnotationPlacementMode
Annotation item placement modes.
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
SceneMode
The 3D scene mode used in 3D map views.
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
SettingsOrigin
The setting origin describes where a setting is stored.
HorizontalAnchorPoint
Marker symbol horizontal anchor points.
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
LabelOverlapHandling
Label overlap handling.
static const double UI_SCALE_FACTOR
UI scaling factor.
FeatureSymbologyExport
Options for exporting features considering their symbology.
QFlags< LayerFilter > LayerFilters
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
TextComponent
Text components.
DateTimeStatistic
Available date/time statistics.
AnimationState
Animation states.
TransformDirection
Indicates the direction (forward or inverse) of a transform.
LightSourceType
Light source types for 3D scenes.
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
QFlags< HistoryProviderBackend > HistoryProviderBackends
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
UpsideDownLabelHandling
Handling techniques for upside down labels.
static const double DEFAULT_POINT_SIZE
The default size (in millimeters) for point marker symbols.
DeviceConnectionStatus
GPS connection status.
ProcessingNumberParameterType
Processing numeric parameter data types.
MapSettingsFlag
Flags which adjust the way maps are rendered.
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
SelectBehavior
Specifies how a selection should be applied.
LayoutRenderFlag
Flags for controlling how a layout is rendered.
Utility class that encapsulates an action based on vector attributes.
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).
Abstract base class for curved geometry type.
Base class for all items in the model.
Abstract base class for spatial data provider implementations.
Calculator for summary statistics and aggregates for a list of datetimes.
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.
A geometry is the spatial representation of a feature.
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.
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.
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.
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.
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,...
A store for object properties.
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.
Represents a relationship between two vector layers.
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.
Object * operator->()
Returns pointer to blocked QObject.
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
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.
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.
FeatureCountState
Enumeration of feature count states.
@ Points
Point based rendering, requires point data.
@ Lines
Line based rendering, requires line data.
As part of the API refactoring and improvements which landed in QGIS
Q_DECL_DEPRECATED const long GEOCRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system in QGIS internal srs database.
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...
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
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...
Q_DECL_DEPRECATED const long GEOSRID
Numeric ID for the EPSG:4326 geographic coordinate system.
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.
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
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.
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
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.
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.
CORE_EXPORT bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
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...
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference).
CORE_EXPORT int qgsVariantCompare(const QVariant &lhs, const QVariant &rhs, bool strictTypeCheck=false)
Compares two QVariant values.
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.
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...
const QList< T > qgsEnumList()
Returns a list all enum entries.
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
QMap< QString, QString > QgsStringMap
Q_DECL_DEPRECATED const long GEO_EPSG_CRS_ID
Numeric ID for the EPSG:4326 geographic coordinate system.
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
void CORE_EXPORT qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
bool qgsNumberNear(T a, T b, T epsilon=std::numeric_limits< T >::epsilon() *4)
Compare two numbers of type T (but allow some difference).
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...
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...
CORE_EXPORT bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
#define QHASH_FOR_CLASS_ENUM(T)
bool operator<(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is less than the second.
#define SIP_ENUM_BASETYPE(type)
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
#define SIP_MONKEYPATCH_SCOPEENUM
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
Utility class for identifying a unique vertex within a geometry.