33using namespace Qt::StringLiterals;
41int QgisEvent = QEvent::User + 1;
48#define QHASH_FOR_CLASS_ENUM(T) \
49 inline uint qHash(const T &t, uint seed) { \
50 return ::qHash(static_cast<typename std::underlying_type<T>::type>(t), seed); \
61 Q_CLASSINFO(
"RegisterEnumClassesUnscoped",
"false" )
106 ClearStorage = 1 << 0,
108 ReadConfiguration = 1 << 1,
109 UpdateConfiguration = 1 << 2,
110 DeleteConfiguration = 1 << 3,
111 CreateConfiguration = 1 << 4,
113 ReadCertificateIdentity = 1 << 5,
114 UpdateCertificateIdentity = 1 << 6,
115 DeleteCertificateIdentity = 1 << 7,
116 CreateCertificateIdentity = 1 << 8,
118 ReadSslCertificateCustomConfig = 1 << 9,
119 UpdateSslCertificateCustomConfig = 1 << 10,
120 DeleteSslCertificateCustomConfig = 1 << 11,
121 CreateSslCertificateCustomConfig = 1 << 12,
123 ReadCertificateAuthority = 1 << 13,
124 UpdateCertificateAuthority = 1 << 14,
125 DeleteCertificateAuthority = 1 << 15,
126 CreateCertificateAuthority = 1 << 16,
128 ReadCertificateTrustPolicy = 1 << 17,
129 UpdateCertificateTrustPolicy = 1 << 18,
130 DeleteCertificateTrustPolicy = 1 << 19,
131 CreateCertificateTrustPolicy = 1 << 20,
133 ReadMasterPassword = 1 << 21,
134 UpdateMasterPassword = 1 << 22,
135 DeleteMasterPassword = 1 << 23,
136 CreateMasterPassword = 1 << 24,
138 ReadSetting = 1 << 25,
139 UpdateSetting = 1 << 26,
140 DeleteSetting = 1 << 27,
141 CreateSetting = 1 << 28,
144 Q_ENUM( AuthConfigurationStorageCapability )
165 Q_ENUM( MessageLevel )
177 Q_ENUM( StringFormat )
186 DisableMessageLogging = 1 << 0,
188 Q_ENUM( NetworkRequestFlag )
229 HasGeometry = PointLayer | LineLayer | PolygonLayer,
230 VectorLayer = NoGeometry | HasGeometry,
234 VectorTileLayer = 256,
235 PointCloudLayer = 512,
236 AnnotationLayer = 1024,
237 TiledSceneLayer = 2048,
238 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
239 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
251 IgnoreMissingStyleErrors = 1 << 0,
253 Q_ENUM( LoadStyleFlag )
300 GeometryCollection = 7,
306 PolyhedralSurface = 15,
315 MultiLineStringZ = 1005,
316 MultiPolygonZ = 1006,
317 GeometryCollectionZ = 1007,
318 CircularStringZ = 1008,
319 CompoundCurveZ = 1009,
320 CurvePolygonZ = 1010,
322 MultiSurfaceZ = 1012,
323 PolyhedralSurfaceZ = 1015,
331 MultiLineStringM = 2005,
332 MultiPolygonM = 2006,
333 GeometryCollectionM = 2007,
334 CircularStringM = 2008,
335 CompoundCurveM = 2009,
336 CurvePolygonM = 2010,
338 MultiSurfaceM = 2012,
339 PolyhedralSurfaceM = 2015,
346 MultiLineStringZM = 3005,
347 MultiPolygonZM = 3006,
348 GeometryCollectionZM = 3007,
349 CircularStringZM = 3008,
350 CompoundCurveZM = 3009,
351 CurvePolygonZM = 3010,
353 MultiSurfaceZM = 3012,
354 PolyhedralSurfaceZM = 3015,
358 Point25D = 0x80000001,
383 Q_ENUM( GeometryType )
405 ARGB32_Premultiplied = 13
423 Q_ENUM( CaptureTechnique )
435 Q_ENUM( VectorLayerTypeFlag )
450 NotForThisSession = 4,
453 Q_ENUM( EmbeddedScriptMode )
462 ExpressionFunction = 1,
466 Q_ENUM( EmbeddedScriptType )
478 Q_ENUM( ProjectTrustStatus )
490 SkipFeatureCount = 1 << 1,
492 SkipGetExtent = 1 << 3,
493 SkipFullScan = 1 << 4,
494 ForceReadOnly = 1 << 5,
495 SkipCredentialsRequest = 1 << 6,
496 ParallelThreadLoading = 1 << 7,
498 Q_ENUM( DataProviderReadFlag )
523 DeleteFeatures = 1 << 1,
524 ChangeAttributeValues = 1 << 2,
525 AddAttributes = 1 << 3,
526 DeleteAttributes = 1 << 4,
527 CreateSpatialIndex = 1 << 6,
529 ChangeGeometries = 1 << 8,
530 SelectEncoding = 1 << 13,
531 CreateAttributeIndex = 1 << 12,
532 SimplifyGeometries = 1 << 14,
533 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
534 TransactionSupport = 1 << 16,
535 CircularGeometries = 1 << 17,
536 ChangeFeatures = 1 << 18,
537 RenameAttributes = 1 << 19,
538 FastTruncate = 1 << 20,
539 ReadLayerMetadata = 1 << 21,
540 WriteLayerMetadata = 1 << 22,
541 CancelSupport = 1 << 23,
542 CreateRenderer = 1 << 24,
543 CreateLabeling = 1 << 25,
544 ReloadData = 1 << 26,
545 FeatureSymbology = 1 << 27,
546 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
548 Q_ENUM( VectorProviderCapability )
570 Q_ENUM( FeatureCountState )
584 Q_ENUM( SpatialIndexPresence )
599 NoFeaturesAvailable = 0,
601 FeaturesMaybeAvailable
603 Q_ENUM( FeatureAvailability )
613 EditComment = 1 << 1,
616 Q_ENUM( VectorDataProviderAttributeEditCapability )
649 Q_ENUM( ScaleMethod )
668 Q_ENUM( SettingsType )
680 Q_ENUM( SettingsTreeNodeType )
688 NamedListSelectedItemSetting = 1 << 0,
691 Q_ENUM( SettingsTreeNodeOption )
709 Q_ENUM( PropertyType )
722 Q_ENUM( SldExportOption )
733 NoVendorExtension = 0,
734 GeoServerVendorExtension = 1 << 1,
735 DeegreeVendorExtension = 1 << 2,
737 Q_ENUM( SldExportVendorExtension )
746 SaveFormerValue = 1 << 1,
747 SaveEnumFlagAsInt = 1 << 2,
749 Q_ENUM( SettingsOption )
761 AdvancedConfiguration = 3,
763 Q_ENUM( SnappingMode )
779 Q_ENUM( SnappingType )
791 DynamicRotation = 1 << 1,
792 IsSymbolLayerSubSymbol = 1 << 2,
793 ForceVectorRendering = 1 << 3,
794 ExcludeSymbolBuffers = 1 << 4,
796 Q_ENUM( SymbolRenderHint )
811 Q_ENUM( SymbolRotationMode )
826 Q_ENUM( HorizontalAnchorPoint )
841 Q_ENUM( VerticalAnchorPoint )
850 AffectsLabeling = 1 << 0,
852 Q_ENUM( FeatureRendererFlag )
869 RendererShouldUseSymbolLevels = 1 << 0,
870 AffectsLabeling = 1 << 1,
884 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
886 Q_ENUM( SymbolPreviewFlag )
902 DisableFeatureClipping = 1 << 0,
903 CanCalculateMaskGeometryPerFeature = 1 << 1,
904 AffectsLabeling = 1 << 2,
906 Q_ENUM( SymbolLayerFlag )
922 DisableSelectionRecoloring = 1 << 0,
924 Q_ENUM( SymbolLayerUserFlag )
951 Q_ENUM( BrowserItemType )
964 Q_ENUM( BrowserItemState )
980 ItemRepresentsFile = 1 << 6,
981 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
984 Q_ENUM( BrowserItemCapability )
1004 Q_ENUM( DataItemProviderCapability )
1038 Q_ENUM( BrowserLayerType )
1051 Q_ENUM( BrowserDirectoryMonitoring )
1065 Q_ENUM( HttpMethod )
1087 Q_ENUM( VectorExportResult )
1095 FieldAliases = 1 << 0,
1096 FieldComments = 1 << 2,
1098 Q_ENUM( VectorFileWriterCapability )
1113 SubsetStringFilter = 1 << 1,
1114 GeometryColumn = 1 << 2,
1115 PrimaryKeys = 1 << 3,
1116 UnstableFeatureIds = 1 << 4
1118 Q_ENUM( SqlLayerDefinitionCapability )
1140 Q_ENUM( SqlKeywordCategory )
1168 Q_ENUM( ActionStart )
1177 FollowEngineSetting,
1180 Q_ENUM( UnplacedLabelVisibility )
1190 AllowOverlapIfRequired,
1191 AllowOverlapAtNoCost,
1193 Q_ENUM( LabelOverlapHandling )
1202 TreatWhitespaceAsCollision,
1203 IgnoreWhitespaceCollisions,
1205 Q_ENUM( LabelWhitespaceCollisionHandling )
1215 PreferPositionOrdering,
1217 Q_ENUM( LabelPrioritization )
1234 OrderedPositionsAroundPoint,
1238 Q_ENUM( LabelPlacement )
1248 PlaceCharactersAtVertices,
1249 StretchCharacterSpacingToFitLine,
1250 StretchWordSpacingToFitLine,
1252 Q_ENUM( CurvedLabelMode )
1273 BottomSlightlyRight,
1277 Q_ENUM( LabelPredefinedPointPosition )
1286 LabelLargestPartOnly,
1287 LabelEveryPartWithEntireLabel,
1288 SplitLabelTextLinesOverParts,
1290 Q_ENUM( MultiPartLabelingBehavior )
1305 Q_ENUM( LabelOffsetType )
1326 Q_ENUM( LabelQuadrantPosition )
1341 Q_ENUM( LabelLinePlacementFlag )
1361 AllowPlacementOutsideOfPolygon = 1 << 0,
1362 AllowPlacementInsideOfPolygon = 1 << 1,
1364 Q_ENUM( LabelPolygonPlacementFlag )
1388 Q_ENUM( UpsideDownLabelHandling )
1405 Q_ENUM( LabelMultiLineAlignment )
1423 Q_ENUM( FileFilterType )
1432 RemoveCredentials = 1 << 0,
1433 RedactCredentials = 1 << 1,
1435 Q_ENUM( UriCleaningFlag )
1456 Q_ENUM( SourceHierarchyLevel )
1466 ResolveGeometryType = 1 << 1,
1467 CountFeatures = 1 << 2,
1468 IncludeSystemTables = 1 << 3,
1469 OpenLayersToResolveDescriptions = 1 << 4,
1483 SystemTable = 1 << 0,
1503 Q_ENUM( ShaderInterpolationMethod )
1518 Q_ENUM( ShaderClassificationMethod )
1536 Q_ENUM( RasterPipeInterfaceRole )
1547 Q_ENUM( RasterResamplingStage )
1567 Q_ENUM( RasterResamplingMethod )
1576 InternalLayerOpacityHandling = 1 << 0,
1577 UseNoDataForOutOfRangePixels = 1 << 1,
1597 UsesMultipleBands = 1 << 0,
1599 Q_ENUM( RasterRendererCapability )
1623 Q_ENUM( RasterRangeLimit )
1638 Q_ENUM( RasterRangeExtent )
1652 Q_ENUM( RasterRangeAccuracy )
1681 Q_ENUM( RasterAttributeTableFieldUsage )
1693 Q_ENUM( RasterAttributeTableType )
1706 Q_ENUM( RasterExportType )
1717 SourceProviderError = 1,
1719 CreateDatasourceError = 3,
1724 Q_ENUM( RasterFileWriterResult )
1735 TooManyVerticesInFace,
1741 Q_ENUM( MeshEditingErrorType )
1753 Q_ENUM( FilePathType )
1763 AskExcludingRasterBands,
1767 Q_ENUM( SublayerPromptMode )
1784 Q_ENUM( FieldOrigin )
1796 NotSearchable = 1 << 1,
1797 HideFromWms = 1 << 2,
1798 HideFromWfs = 1 << 3,
1800 Q_ENUM( FieldConfigurationFlag )
1819 GeometryCrs = 0x1000,
1820 GeometryWkbType = 0x1001,
1821 CustomProperty = 0x100000,
1823 Q_ENUM( FieldMetadataProperty )
1836 Q_ENUM( SelectionRenderingMode )
1848 RemoveFromSelection,
1850 Q_ENUM( SelectBehavior )
1862 Q_ENUM( SelectGeometryRelationship )
1871 SingleFeatureSelection = 1 << 0,
1872 ToggleSelection = 1 << 1,
1895 FetchFeatureFailed = 3,
1898 Q_ENUM( VectorEditResult )
1907 SemiTransparentCircle,
1911 Q_ENUM( VertexMarkerType )
1925 Q_ENUM( ContentStatus )
1939 Q_ENUM( GpsConnectionType )
1952 Q_ENUM( DeviceConnectionStatus )
2007 Q_ENUM( GpsQualityIndicator )
2032 GroundSpeed = 1 << 2,
2034 TotalTrackLength = 1 << 4,
2035 TrackDistanceFromStart = 1 << 5,
2039 HorizontalAccuracy = 1 << 9,
2040 VerticalAccuracy = 1 << 10,
2041 HvAccuracy = 1 << 11,
2042 SatellitesUsed = 1 << 12,
2043 Timestamp = 1 << 13,
2044 TrackStartTime = 1 << 14,
2045 TrackEndTime = 1 << 15,
2046 TrackDistanceSinceLastPoint = 1 << 16,
2047 TrackTimeSinceLastPoint = 1 << 17,
2048 GeoidalSeparation = 1 << 18,
2049 EllipsoidAltitude = 1 << 19,
2087 QuoteFilePaths = 1 << 0,
2105 Q_ENUM( GpsFeatureType )
2117 NothingHappened = 1000,
2118 InvalidBaseGeometry,
2119 InvalidInputGeometryType,
2121 SelectionIsGreaterThanOne,
2122 GeometryEngineError,
2125 AddPartSelectedGeometryNotFound,
2126 AddPartNotMultiGeometry,
2130 AddRingCrossesExistingRings,
2131 AddRingNotInExistingFeature,
2133 SplitCannotSplitPoint,
2134 GeometryTypeHasChanged,
2136 Q_ENUM( GeometryOperationResult )
2161 Q_ENUM( GeometryValidationEngine )
2173 Q_ENUM( BufferSide )
2186 Q_ENUM( EndCapStyle )
2210 CylindersAndSpheres,
2212 Q_ENUM( JoinStyle3D )
2221 RejectOnInvalidSubGeometry = 1 << 0,
2222 SkipEmptyInteriorRings = 1 << 1,
2224 Q_ENUM( GeosCreationFlag )
2245 Q_ENUM( CoverageValidityResult )
2257 Q_ENUM( MakeValidMethod )
2270 SubsetOfAttributes = 2,
2272 IgnoreStaticNodesDuringExpressionCompilation = 8,
2273 EmbeddedSymbols = 16,
2275 Q_ENUM( FeatureRequestFlag )
2301 Q_ENUM( FeatureRequestFilterType )
2316 Q_ENUM( InvalidGeometryCheck )
2329 Q_ENUM( SpatialFilterType )
2338 IncludeMetadataFile = 1 << 0,
2339 IncludeStyleFile = 1 << 1,
2353 UsersCannotToggleEditing = 1 << 0,
2354 IsBasemapLayer = 1 << 1,
2355 Is3DBasemapLayer = 1 << 2,
2373 Q_ENUM( AutoRefreshMode )
2382 IsBasemapSource = 1 << 1,
2383 FastExtent2D = 1 << 2,
2384 FastExtent3D = 1 << 3,
2385 Is3DBasemapSource = 1 << 4,
2467 Q_ENUM( CrsAxisDirection )
2480 Q_ENUM( CoordinateOrder )
2495 Q_ENUM( CrsIdentifierType )
2516 Q_ENUM( CrsWktVariant )
2538 ScaleDependentBoundingBox = 1 << 0,
2539 SupportsReferenceScale = 1 << 1,
2540 SupportsCallouts = 1 << 2,
2558 Q_ENUM( AnnotationPlacementMode )
2567 FlagNoCreationTools = 1 << 0,
2584 Q_ENUM( AnnotationItemNodeType )
2597 Q_ENUM( AnnotationItemEditOperationResult )
2613 Q_ENUM( TemporalNavigationMode )
2628 Q_ENUM( AnimationState )
2645 Q_ENUM( PlaybackOperation )
2661 Q_ENUM( VectorTemporalMode )
2670 IncludeBeginExcludeEnd = 0,
2671 IncludeBeginIncludeEnd,
2673 Q_ENUM( VectorTemporalLimitMode )
2686 Q_ENUM( VectorDataProviderTemporalMode )
2698 FixedRangePerBand = 3,
2699 RepresentsTemporalValues = 4,
2702 Q_ENUM( RasterTemporalMode )
2711 MatchUsingWholeRange,
2712 MatchExactUsingStartOfRange,
2713 MatchExactUsingEndOfRange,
2714 FindClosestMatchToStartOfRange,
2715 FindClosestMatchToEndOfRange
2717 Q_ENUM( TemporalIntervalMatchMethod )
2726 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2728 Q_ENUM( RasterTemporalCapabilityFlag )
2748 Q_ENUM( TransformDirection )
2757 BallparkTransformsAreAppropriate = 1 << 0,
2758 IgnoreImpossibleTransformations = 1 << 1,
2760 Q_ENUM( CoordinateTransformationFlag )
2781 Q_ENUM( RasterizedRenderingPolicy )
2790 Antialiasing = 0x01,
2791 DrawEditingInfo = 0x02,
2792 ForceVectorOutput = 0x04,
2793 UseAdvancedEffects = 0x08,
2794 DrawLabeling = 0x10,
2795 UseRenderingOptimization = 0x20,
2796 DrawSelection = 0x40,
2797 DrawSymbolBounds = 0x80,
2798 RenderMapTile = 0x100,
2799 RenderPartialOutput = 0x200,
2800 RenderPreviewJob = 0x400,
2801 RenderBlocking = 0x800,
2802 LosslessImageRendering = 0x1000,
2803 Render3DMap = 0x2000,
2804 HighQualityImageTransforms = 0x4000,
2805 SkipSymbolRendering = 0x8000,
2806 ForceRasterMasks = 0x10000,
2807 RecordProfile = 0x20000,
2808 AlwaysUseGlobalMasks = 0x40000,
2822 DrawEditingInfo = 0x01,
2823 ForceVectorOutput = 0x02,
2824 UseAdvancedEffects = 0x04,
2825 UseRenderingOptimization = 0x08,
2826 DrawSelection = 0x10,
2827 DrawSymbolBounds = 0x20,
2828 RenderMapTile = 0x40,
2829 Antialiasing = 0x80,
2830 RenderPartialOutput = 0x100,
2831 RenderPreviewJob = 0x200,
2832 RenderBlocking = 0x400,
2833 RenderSymbolPreview = 0x800,
2834 LosslessImageRendering = 0x1000,
2835 ApplyScalingWorkaroundForTextRendering = 0x2000,
2836 Render3DMap = 0x4000,
2837 ApplyClipAfterReprojection = 0x8000,
2838 RenderingSubSymbol = 0x10000,
2839 HighQualityImageTransforms = 0x20000,
2840 SkipSymbolRendering = 0x40000,
2841 RecordProfile = 0x80000,
2842 AlwaysUseGlobalMasks = 0x100000,
2843 DisableSymbolClippingToExtent = 0x200000,
2844 RenderLayerTree = 0x400000
2858 RenderPartialOutputs = 1 << 0,
2859 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2860 AffectsLabeling = 1 << 2,
2862 Q_ENUM( MapLayerRendererFlag )
2879 RequiresRasterization = 1 << 0,
2881 Q_ENUM( PaintEffectFlag )
2904 Q_ENUM( TextRenderFormat )
2915 UseAllLabels = 1 << 1,
2916 UsePartialCandidates = 1 << 2,
2918 RenderOutlineLabels = 1 << 3,
2919 DrawLabelRectOnly = 1 << 4,
2920 DrawCandidates = 1 << 5,
2921 DrawUnplacedLabels = 1 << 6,
2922 CollectUnplacedLabels = 1 << 7,
2923 DrawLabelMetrics = 1 << 8,
2925 Q_ENUM( LabelingFlag )
2949 Q_ENUM( LabelPlacementEngineVersion )
2964 Q_ENUM( TextOrientation )
2978 RectangleCapHeightBased,
2979 RectangleAscentBased,
2981 Q_ENUM( TextLayoutMode )
2994 Background = 1 << 2,
2997 Q_ENUM( TextComponent )
3021 Q_ENUM( TextHorizontalAlignment )
3039 Q_ENUM( TextVerticalAlignment )
3055 Q_ENUM( TextCharacterVerticalAlignment )
3064 TruncateStringWhenLineIsTooShort = 1 << 0,
3065 UseBaselinePlacement = 1 << 1,
3066 UprightCharactersOnly = 1 << 2,
3067 ExtendLineToFitText = 1 << 3,
3069 Q_ENUM( CurvedTextFlag )
3090 SnappedToGridGlobal = 3,
3092 Q_ENUM( VectorSimplificationAlgorithm )
3103 NoSimplification = 0,
3104 GeometrySimplification = 1,
3105 AntialiasingSimplification = 2,
3106 FullSimplification = 3,
3108 Q_ENUM( VectorRenderingSimplificationFlag )
3132 Q_ENUM( RenderSubcomponentProperty )
3144 Q_ENUM( SelectiveMaskSourceType )
3156 Q_ENUM( VertexType )
3172 EquilateralTriangle,
3205 Q_ENUM( MarkerShape )
3218 LastVertex = 1 << 2,
3219 FirstVertex = 1 << 3,
3220 CentralPoint = 1 << 4,
3221 CurvePoint = 1 << 5,
3222 SegmentCenter = 1 << 6,
3223 InnerVertices = 1 << 7,
3225 Q_ENUM( MarkerLinePlacement )
3236 IntervalCartesian2D = 1 << 0,
3241 Q_ENUM( LinearReferencingPlacement )
3250 CartesianDistance2D,
3254 Q_ENUM( LinearReferencingLabelSource )
3268 Q_ENUM( GradientColorSource )
3283 Q_ENUM( GradientType )
3297 Q_ENUM( SymbolCoordinateReference )
3313 Q_ENUM( GradientSpread )
3327 Q_ENUM( PointCountMethod )
3341 Q_ENUM( MarkerClipMode )
3354 Q_ENUM( LineClipMode )
3369 Q_ENUM( DashPatternLineEndingRule )
3378 ScaleBothDashAndGap,
3382 Q_ENUM( DashPatternSizeAdjustment )
3396 Q_ENUM( GraduatedMethod )
3411 Q_ENUM( PlotAxisSuffixPlacement )
3424 Q_ENUM( PlotAxisType )
3437 Q_ENUM( PieChartLabelType )
3463 Q_ENUM( TilePixelRatio )
3479 ForceFirstLetterToCapital = 4,
3482 UpperCamelCase = 1005,
3483 AllSmallCaps = 1006,
3485 Q_ENUM( Capitalization )
3496 Q_ENUM( TextRendererFlag )
3523 Q_ENUM( AngularDirection )
3536 Q_ENUM( RendererUsage )
3545 ShowMainAnnotationLayer = 1 << 0,
3547 Q_ENUM( MapCanvasFlag )
3564 Sync3DTo2D = 1 << 0,
3565 Sync2DTo3D = 1 << 1,
3567 Q_ENUM( ViewSyncModeFlag )
3578 WhenOutsideVisibleExtent,
3581 Q_ENUM( MapRecenteringMode )
3590 LocalProfile = 1 << 0,
3593 Q_ENUM( HistoryProviderBackend )
3607 Q_ENUM( QueryStorageBackend )
3633 Q_ENUM( ProcessingSourceType )
3683 SecurityRisk = 1 << 15,
3705 RegeneratesPrimaryKey = 1 << 0,
3706 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3707 RespectsEllipsoid = 1 << 2,
3709 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3732 Q_ENUM( ProcessingPropertyAvailability )
3747 Q_ENUM( ProcessingLogLevel )
3762 Q_ENUM( ProcessingMode )
3776 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3799 Q_ENUM( ProcessingFeatureSourceFlag )
3825 Q_ENUM( ProcessingParameterTypeFlag )
3854 Q_ENUM( ProcessingParameterFlag )
3878 Q_ENUM( ProcessingFileParameterBehavior )
3892 Q_ENUM( ProcessingNumberParameterType )
3910 Q_ENUM( ProcessingFieldParameterDataType )
3925 Q_ENUM( ProcessingDateTimeParameterDataType )
3941 Q_ENUM( ProcessingModelChildParameterSource )
3954 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
3969 Q_ENUM( ProcessingTinInputLayerType )
3981 Q_ENUM( CrsDefinitionFormat )
3998 Q_ENUM( FieldDomainSplitPolicy )
4019 Q_ENUM( FieldDomainMergePolicy )
4034 Q_ENUM( FieldDuplicatePolicy )
4047 Q_ENUM( FieldDomainType )
4057 AutomaticGroups = 1,
4060 Q_ENUM( TransactionMode )
4073 Q_ENUM( AltitudeClamping )
4085 Q_ENUM( AltitudeBinding )
4095 IncludeLowerExcludeUpper,
4096 ExcludeLowerIncludeUpper,
4099 Q_ENUM( RangeLimits )
4108 FixedElevationRange = 0,
4109 RepresentsElevationSurface = 1,
4110 FixedRangePerBand = 2,
4111 DynamicRangePerBand = 3,
4113 Q_ENUM( RasterElevationMode )
4122 FixedElevationRange = 0,
4124 FixedRangePerGroup = 2,
4126 Q_ENUM( MeshElevationMode )
4139 Q_ENUM( BetweenLineConstraint )
4152 Q_ENUM( LineExtensionSide )
4169 Q_ENUM( CadConstraintType )
4181 Q_ENUM( CadMeasurementDisplayType )
4190 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4191 TrustStoredLayerStatistics = 1 << 1,
4192 RememberLayerEditStatusBetweenSessions = 1 << 2,
4193 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4195 Q_ENUM( ProjectFlag )
4206 ShowContextMenu = 1 << 0,
4208 Q_ENUM( PlotToolFlag )
4232 Q_ENUM( Point3DShape )
4244 Q_ENUM( LightSourceType )
4257 Q_ENUM( NavigationMode )
4282 Q_ENUM( VerticalAxisInversion )
4317 TriangulatedSurface,
4328 RespectsMaximumErrorMapUnit = 1 << 0,
4329 RespectsDistanceRange = 1 << 1,
4330 RespectsElevationRange = 1 << 2,
4332 Q_ENUM( ProfileGeneratorFlag )
4345 DistanceVsElevationTable,
4359 Q_ENUM( PointCloudSymbol )
4372 Q_ENUM( PointCloudDrawOrder )
4384 AvoidIntersectionsCurrentLayer,
4385 AvoidIntersectionsLayers,
4387 Q_ENUM( AvoidIntersectionsMode )
4401 Q_ENUM( ProjectFileFormat )
4417 DontLoadProjectStyles = 1 << 5,
4418 ForceReadOnlyLayers = 1 << 6,
4419 DontUpgradeAnnotations = 1 << 7,
4421 Q_ENUM( ProjectReadFlag )
4443 ProjectStyles = 1 << 0,
4445 Q_ENUM( ProjectCapability )
4470 Q_ENUM( MapBoxGlStyleSourceType )
4490 Q_ENUM( ArcGisRestServiceType )
4504 Q_ENUM( RelationshipType )
4518 Q_ENUM( RelationshipStrength )
4532 Q_ENUM( RelationshipCardinality )
4541 MultipleFieldKeys = 1 << 0,
4542 ForwardPathLabel = 1 << 1,
4543 BackwardPathLabel = 1 << 2,
4545 Q_ENUM( RelationshipCapability )
4566 Q_ENUM( CoordinateDisplayType )
4579 Q_ENUM( SettingsOrigin )
4600 Q_ENUM( ScriptLanguage )
4612 CheckSyntax = 1 << 1,
4613 ToggleComment = 1 << 2,
4615 Q_ENUM( ScriptLanguageCapability )
4632 AboveInsertionPoint,
4634 OptimalInInsertionGroup,
4636 Q_ENUM( LayerTreeInsertionMethod )
4645 SkipVisibilityCheck = 1 << 0,
4647 Q_ENUM( LayerTreeFilterFlag )
4664 ExcludeByDefault = 1 << 0,
4666 Q_ENUM( MapLayerLegendFlag )
4694 Q_ENUM( LegendComponent )
4707 Q_ENUM( LegendSyncMode )
4718 ShowRuleDetails = 1 << 0,
4720 Q_ENUM( LegendJsonRenderFlag )
4737 Q_ENUM( ActionType )
4749 SingleFeature = 1 << 1,
4750 MultipleFeatures = 1 << 2,
4751 AllActions = Layer | SingleFeature | MultipleFeatures
4753 Q_ENUM( MapLayerActionTarget )
4774 EnabledOnlyWhenEditable = 1 << 1,
4775 EnableOnlyWhenHasGeometry = 1 << 2,
4777 Q_ENUM( MapLayerActionFlag )
4807 Q_ENUM( AttributeActionType )
4821 Q_ENUM( MetadataDateType )
4852 ContinuousPalette = 17,
4875 Q_ENUM( RasterColorInterpretation )
4891 Q_ENUM( RasterLayerType )
4904 SingleBandPseudoColor,
4906 PalettedSingleBandGray,
4907 PalettedSingleBandPseudoColor,
4908 PalettedMultiBandColor,
4909 MultiBandSingleBandGray,
4910 MultiBandSingleBandPseudoColor,
4914 Q_ENUM( RasterDrawingStyle )
4929 Q_ENUM( RasterPyramidFormat )
4944 Q_ENUM( RasterBuildPyramidOption )
4961 Q_ENUM( RasterIdentifyFormat )
4980 BuildPyramids = 1 << 4,
4982 IdentifyValue = 1 << 6,
4983 IdentifyText = 1 << 7,
4984 IdentifyHtml = 1 << 8,
4985 IdentifyFeature = 1 << 9,
4988 Q_ENUM( RasterInterfaceCapability )
5009 NoProviderCapabilities = 0,
5010 ReadLayerMetadata = 1 << 1,
5011 WriteLayerMetadata = 1 << 2,
5012 ProviderHintBenefitsFromResampling = 1 << 3,
5013 ProviderHintCanPerformProviderResampling = 1 << 4,
5014 ReloadData = 1 << 5,
5015 DpiDependentData = 1 << 6,
5016 NativeRasterAttributeTable = 1 << 7,
5017 BuildPyramids = 1 << 8,
5019 Q_ENUM( RasterProviderCapability )
5041 Q_ENUM( ElevationMapCombineMethod )
5094 Q_ENUM( SystemOfMeasurement )
5108 Q_ENUM( MapToolUnit )
5146 ChainsInternational,
5147 ChainsBritishBenoit1895A,
5148 ChainsBritishBenoit1895B,
5149 ChainsBritishSears1922Truncated,
5150 ChainsBritishSears1922,
5155 FeetBritishBenoit1895A,
5156 FeetBritishBenoit1895B,
5157 FeetBritishSears1922Truncated,
5158 FeetBritishSears1922,
5167 LinksBritishBenoit1895A,
5168 LinksBritishBenoit1895B,
5169 LinksBritishSears1922Truncated,
5170 LinksBritishSears1922,
5173 YardsBritishBenoit1895A,
5174 YardsBritishBenoit1895B,
5175 YardsBritishSears1922Truncated,
5176 YardsBritishSears1922,
5187 Q_ENUM( DistanceUnit )
5202 Q_ENUM( DistanceUnitType )
5250 Q_ENUM( VolumeUnit )
5295 Q_ENUM( TemporalUnit )
5315 Q_ENUM( RenderUnit )
5335 Q_ENUM( LayoutUnit )
5349 Q_ENUM( LayoutUnitType )
5372 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5374 Q_ENUM( LayoutRenderFlag )
5399 Q_ENUM( PictureFormat )
5414 Q_ENUM( ScaleCalculationMethod )
5429 Q_ENUM( ScaleBarAlignment )
5443 Q_ENUM( ScaleBarSegmentSizeMode )
5457 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5471 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5486 DynamicPageSizeBased,
5488 Q_ENUM( MapGridUnit )
5504 Q_ENUM( MapGridStyle )
5520 Q_ENUM( MapGridComponentVisibility )
5534 Q_ENUM( MapGridAnnotationPosition )
5553 Q_ENUM( MapGridAnnotationDirection )
5568 DegreeMinuteNoSuffix,
5570 DegreeMinuteSecondNoSuffix,
5571 DegreeMinuteSecondPadded,
5574 Q_ENUM( MapGridAnnotationFormat )
5590 Q_ENUM( MapGridBorderSide )
5605 InteriorExteriorTicks,
5610 Q_ENUM( MapGridFrameStyle )
5621 OrthogonalTicks = 0,
5624 Q_ENUM( MapGridTickLengthMode )
5641 Q_ENUM( MapGridFrameSideFlag )
5665 Q_ENUM( MapGridAnnotationType )
5698 Q_ENUM( PostgresRelKind )
5707 SetFieldComment = 1 << 0,
5708 SetFieldAlias = 1 << 1,
5709 SetTableComment = 1 << 2,
5710 EditFieldDomain = 1 << 3,
5711 DeleteFieldDomain = 1 << 4,
5713 Q_ENUM( DatabaseProviderConnectionCapability2 )
5724 SetGeometryColumnName = 1 << 0,
5725 SetPrimaryKeyName = 1 << 1,
5727 Q_ENUM( DatabaseProviderTableImportCapability )
5738 SaveToDatabase = 1 << 1,
5739 LoadFromDatabase = 1 << 2,
5740 DeleteFromDatabase = 1 << 3
5757 Q_ENUM( UserProfileSelectionPolicy )
5778 Q_ENUM( AttributeEditorType )
5791 Q_ENUM( AttributeEditorContainerType )
5806 Q_ENUM( AttributeFormLayout )
5821 Q_ENUM( AttributeFormSuppression )
5837 Q_ENUM( AttributeFormPythonInitCodeSource )
5847 AllowedDefaultOn = 1,
5848 AllowedDefaultOff = 2,
5850 Q_ENUM( AttributeFormReuseLastValuePolicy )
5863 Q_ENUM( ExpressionType )
5878 Q_ENUM( FeatureSymbologyExport )
5887 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
5889 Q_ENUM( VectorTileProviderFlag )
5905 ReadLayerMetadata = 1 << 1,
5907 Q_ENUM( VectorTileProviderCapability )
5926 AvailableNoChildren,
5927 UseLowerZoomLevelTile,
5929 Q_ENUM( TileAvailability )
5938 ReadLayerMetadata = 1 << 1,
5940 Q_ENUM( TiledSceneProviderCapability )
5961 Q_ENUM( TiledSceneBoundingVolumeType )
5976 Q_ENUM( TileRefinementProcess )
5989 Q_ENUM( TileChildrenAvailability )
5998 NoHierarchyFetch = 1 << 0,
6000 Q_ENUM( TiledSceneRequestFlag )
6017 RequiresTextures = 1 << 0,
6018 ForceRasterRender = 1 << 1,
6019 RendersTriangles = 1 << 2,
6020 RendersLines = 1 << 3,
6022 Q_ENUM( TiledSceneRendererFlag )
6039 RA_NearestNeighbour = 0,
6052 Q_ENUM( GdalResampleAlgorithm )
6068 Q_ENUM( VsiHandlerType )
6092 MinimumPoint = 1 << 12,
6093 MaximumPoint = 1 << 13,
6094 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6095 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6096 Default = Count | Sum | Mean,
6098 Q_ENUM( ZonalStatistic )
6120 FailedToCreateField = 8,
6123 Q_ENUM( ZonalStatisticResult )
6149 StringMinimumLength,
6150 StringMaximumLength,
6154 StringConcatenateUnique
6166 CountMissing = 1 << 15,
6171 StDevSample = 1 << 5,
6178 FirstQuartile = 1 << 12,
6179 ThirdQuartile = 1 << 13,
6180 InterQuartileRange = 1 << 14,
6183 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6208 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6210 Q_ENUM( DateTimeStatistic )
6237 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6239 Q_ENUM( StringStatistic )
6263 SumOfSquares = 1 << 6,
6264 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6266 Q_ENUM( RasterBandStatistic )
6294 Q_ENUM( SensorThingsEntity )
6306 Q_ENUM( ColorModel )
6320 Q_ENUM( DocumentationApi )
6329 DeveloperToolsPanel,
6332 Q_ENUM( DocumentationBrowser )
6357 Q_ENUM( MouseHandlesAction )
6368 Q_ENUM( MeshRangeLimit )
6381 Q_ENUM( MeshRangeExtent )
6394 Q_ENUM( PointCloudAccessType )
6404 RenderOverviewAndExtents
6406 Q_ENUM( PointCloudZoomOutRenderBehavior )
6419 Q_ENUM( SegmentCalculationMethod )
6432 Q_ENUM( StacObjectType )
6443 Q_ENUM( RasterProcessingParameterCapability )
6458 Status = Qt::UserRole + 1,
6464 Q_ENUM( DevToolsNodeRole )
6478 Q_ENUM( ExtrusionFace )
6493 ConstrainedDelaunay = 0,
6496 Q_ENUM( TriangulationAlgorithm )
6677 return u
"EPSG:4326"_s;
6686 return QStringLiteral(
6687 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]] )"""
6697 return u
"+proj=longlat +datum=WGS84 +no_defs"_s;
6802#define cast_to_fptr(f) f
6823 , mPreviousState( object->blockSignals( true ) )
6828 mObject->blockSignals( mPreviousState );
6836 Object *mObject =
nullptr;
6837 bool mPreviousState;
6860CORE_EXPORT uint
qHash(
const QVariant &variant );
6872 if ( precision < 0 )
6874 const double roundFactor = std::pow( 10, -precision );
6875 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
6879 str = QString::number( a,
'f', precision );
6880 if ( str.contains(
'.'_L1 ) )
6883 int idx = str.length() - 1;
6884 while ( str.at( idx ) ==
'0' && idx > 1 )
6888 if ( idx < str.length() - 1 )
6889 str.truncate( str.at( idx ) ==
'.' ? idx : idx + 1 );
6895 str = QString::number( a,
'f', precision );
6899 if ( str ==
"-0"_L1 )
6914 const bool aIsNan = std::isnan( a );
6915 const bool bIsNan = std::isnan( b );
6916 if ( aIsNan || bIsNan )
6917 return aIsNan && bIsNan;
6932inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
6934 const bool aIsNan = std::isnan( a );
6935 const bool bIsNan = std::isnan( b );
6936 if ( aIsNan || bIsNan )
6937 return aIsNan && bIsNan;
6939 const T diff = a - b;
6940 return diff >= -epsilon && diff <= epsilon;
6950inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
6961inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
6969 const bool aIsNan = std::isnan( a );
6970 const bool bIsNan = std::isnan( b );
6971 if ( aIsNan || bIsNan )
6972 return aIsNan && bIsNan;
6980 const double ar = std::frexp( a, &aexp );
6981 const double br = std::frexp( b, &bexp );
6983 return aexp == bexp &&
6984 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
6993 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
6994 const double scaleFactor = std::pow( 10.0, places );
6995 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7006template<
class Key,
class Value>
7010 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
7011 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
7013 result.chop( separator.size() );
7023template<
class Key,
class Value>
7027 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
7028 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
7030 result.chop( separator.size() );
7041QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
7044 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
7045 result += QString(
"%1%2" ).arg( *it ).arg( separator );
7047 result.chop( separator.size() );
7077 template<
typename To,
typename From>
inline To down_cast( From *f )
7080 ( std::is_base_of<From,
7081 typename std::remove_pointer<To>::type>::value ),
7082 "target type not derived from source type" );
7083 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
7084 return static_cast<To
>( f );
7088 QSet<T> listToSet(
const QList<T> &list )
7090 return QSet<T>( list.begin(), list.end() );
7094 QList<T> setToList(
const QSet<T> &set )
7096 return QList<T>( set.begin(), set.end() );
7109 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7110 Q_ASSERT( metaEnum.isValid() );
7112 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
7114 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
7126 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7127 Q_ASSERT( metaEnum.isValid() );
7128 QMap<T, QString> enumMap;
7129 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
7131 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7143 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7144 Q_ASSERT( metaEnum.isValid() );
7145 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
7148 *returnOk = key ? true :
false;
7150 return QString::fromUtf8( key );
7160template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
7162 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7163 Q_ASSERT( metaEnum.isValid() );
7165 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7177 if ( tryValueAsKey )
7179 bool canConvert =
false;
7180 const int intValue = key.toInt( &canConvert );
7181 if ( canConvert && metaEnum.valueToKey( intValue ) )
7187 return static_cast<T
>( intValue );
7191 return defaultValue;
7201 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7202 Q_ASSERT( metaEnum.isValid() );
7203 int intValue =
static_cast<int>( value );
7204 const QByteArray ba = metaEnum.valueToKeys( intValue );
7207 const int intValueCheck = metaEnum.keysToValue( ba );
7208 bool ok = intValue == intValueCheck;
7211 return ok ? QString::fromUtf8( ba ) : QString();
7221template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
7223 if ( keys.isEmpty() )
7229 return defaultValue;
7231 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7232 Q_ASSERT( metaEnum.isValid() );
7234 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
7246 if ( tryValueAsKey )
7248 bool canConvert =
false;
7249 const int intValue = keys.toInt( &canConvert );
7252 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
7253 const int intValueCheck = metaEnum.keysToValue( keyArray );
7254 if ( !keyArray.isEmpty() && intValue == intValueCheck )
7260 return T( intValue );
7265 return defaultValue;
7319CORE_EXPORT
int qgsVariantCompare(
const QVariant &lhs,
const QVariant &rhs,
bool strictTypeCheck =
false );
7341CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
7364inline bool operator> (
const QVariant &v1,
const QVariant &v2 )
7380inline bool operator< (
const QVariant &v1,
const QVariant &v2 )
7409class ScopedIntIncrementor
7413 ScopedIntIncrementor(
int *variable )
7414 : mVariable( variable )
7419 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
7420 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
7427 mVariable =
nullptr;
7430 ~ScopedIntIncrementor()
7436 int *mVariable =
nullptr;
7476#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
7478#define Q_NOWARN_DEPRECATED_PUSH \
7479 _Pragma("GCC diagnostic push") \
7480 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
7481#define Q_NOWARN_DEPRECATED_POP \
7482 _Pragma("GCC diagnostic pop");
7483#define Q_NOWARN_UNREACHABLE_PUSH
7484#define Q_NOWARN_UNREACHABLE_POP
7486#elif defined(_MSC_VER)
7488#define Q_NOWARN_DEPRECATED_PUSH \
7489 __pragma(warning(push)) \
7490 __pragma(warning(disable:4996))
7491#define Q_NOWARN_DEPRECATED_POP \
7492 __pragma(warning(pop))
7493#define Q_NOWARN_UNREACHABLE_PUSH \
7494 __pragma(warning(push)) \
7495 __pragma(warning(disable:4702))
7496#define Q_NOWARN_UNREACHABLE_POP \
7497 __pragma(warning(pop))
7500#define Q_NOWARN_DEPRECATED_PUSH
7501#define Q_NOWARN_DEPRECATED_POP
7502#define Q_NOWARN_UNREACHABLE_PUSH
7503#define Q_NOWARN_UNREACHABLE_POP
7510# define QGISEXTERN extern "C" __declspec( dllexport )
7512# if defined(__GNUC__) || defined(__clang__)
7513# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
7515# define QGISEXTERN extern "C"
7523#define BUILTIN_UNREACHABLE \
7525#elif defined(__GNUC__) && !defined(__clang__)
7536#define BUILTIN_UNREACHABLE \
7537 __builtin_unreachable();
7539#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.