33using namespace Qt::StringLiterals;
42int QgisEvent = QEvent::User + 1;
50#define QHASH_FOR_CLASS_ENUM( T ) \
51 inline size_t qHash( const T &t, size_t 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
254 AddComments = 1 << 0,
256 Q_ENUM( LayerItemCapability )
273 IgnoreMissingStyleErrors
276 Q_ENUM( LoadStyleFlag )
323 GeometryCollection = 7,
329 PolyhedralSurface = 15,
338 MultiLineStringZ = 1005,
339 MultiPolygonZ = 1006,
340 GeometryCollectionZ = 1007,
341 CircularStringZ = 1008,
342 CompoundCurveZ = 1009,
343 CurvePolygonZ = 1010,
345 MultiSurfaceZ = 1012,
346 PolyhedralSurfaceZ = 1015,
354 MultiLineStringM = 2005,
355 MultiPolygonM = 2006,
356 GeometryCollectionM = 2007,
357 CircularStringM = 2008,
358 CompoundCurveM = 2009,
359 CurvePolygonM = 2010,
361 MultiSurfaceM = 2012,
362 PolyhedralSurfaceM = 2015,
369 MultiLineStringZM = 3005,
370 MultiPolygonZM = 3006,
371 GeometryCollectionZM = 3007,
372 CircularStringZM = 3008,
373 CompoundCurveZM = 3009,
374 CurvePolygonZM = 3010,
376 MultiSurfaceZM = 3012,
377 PolyhedralSurfaceZM = 3015,
381 Point25D = 0x80000001,
406 Q_ENUM( GeometryType )
428 ARGB32_Premultiplied = 13
446 Q_ENUM( CaptureTechnique )
458 Q_ENUM( VectorLayerTypeFlag )
473 NotForThisSession = 4,
476 Q_ENUM( EmbeddedScriptMode )
485 ExpressionFunction = 1,
489 Q_ENUM( EmbeddedScriptType )
501 Q_ENUM( ProjectTrustStatus )
514 SkipFeatureCount = 1 << 1,
516 SkipGetExtent = 1 << 3,
517 SkipFullScan = 1 << 4,
518 ForceReadOnly = 1 << 5,
519 SkipCredentialsRequest
521 ParallelThreadLoading = 1 << 7,
523 Q_ENUM( DataProviderReadFlag )
548 DeleteFeatures = 1 << 1,
549 ChangeAttributeValues = 1 << 2,
550 AddAttributes = 1 << 3,
551 DeleteAttributes = 1 << 4,
552 CreateSpatialIndex = 1 << 6,
554 ChangeGeometries = 1 << 8,
555 SelectEncoding = 1 << 13,
556 CreateAttributeIndex = 1 << 12,
557 SimplifyGeometries = 1 << 14,
558 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
559 TransactionSupport = 1 << 16,
560 CircularGeometries = 1 << 17,
561 ChangeFeatures = 1 << 18,
562 RenameAttributes = 1 << 19,
563 FastTruncate = 1 << 20,
564 ReadLayerMetadata = 1 << 21,
565 WriteLayerMetadata = 1 << 22,
566 CancelSupport = 1 << 23,
567 CreateRenderer = 1 << 24,
568 CreateLabeling = 1 << 25,
569 ReloadData = 1 << 26,
570 FeatureSymbology = 1 << 27,
572 ReadFieldDomains = 1 << 29,
573 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
575 Q_ENUM( VectorProviderCapability )
595 CreateOrOverwriteFile,
596 CreateOrOverwriteLayer,
598 Q_ENUM( CreateLayerActionOnExisting )
610 Q_ENUM( FeatureCountState )
624 Q_ENUM( SpatialIndexPresence )
639 NoFeaturesAvailable = 0,
641 FeaturesMaybeAvailable
643 Q_ENUM( FeatureAvailability )
653 EditComment = 1 << 1,
656 Q_ENUM( VectorDataProviderAttributeEditCapability )
689 Q_ENUM( ScaleMethod )
708 Q_ENUM( SettingsType )
720 Q_ENUM( SettingsTreeNodeType )
728 NamedListSelectedItemSetting = 1 << 0,
731 Q_ENUM( SettingsTreeNodeOption )
749 Q_ENUM( PropertyType )
762 Q_ENUM( SldExportOption )
773 NoVendorExtension = 0,
774 GeoServerVendorExtension = 1 << 1,
775 DeegreeVendorExtension = 1 << 2,
777 Q_ENUM( SldExportVendorExtension )
786 SaveFormerValue = 1 << 1,
787 SaveEnumFlagAsInt = 1 << 2,
789 Q_ENUM( SettingsOption )
801 AdvancedConfiguration = 3,
803 Q_ENUM( SnappingMode )
819 Q_ENUM( SnappingType )
831 DynamicRotation = 1 << 1,
832 IsSymbolLayerSubSymbol = 1 << 2,
833 ForceVectorRendering = 1 << 3,
834 ExcludeSymbolBuffers = 1 << 4,
836 Q_ENUM( SymbolRenderHint )
849 WriteSymbol = 1 << 1,
852 Q_ENUM( SymbolConverterCapability )
872 Q_ENUM( SymbolRotationMode )
887 Q_ENUM( HorizontalAnchorPoint )
902 Q_ENUM( VerticalAnchorPoint )
911 AffectsLabeling = 1 << 0,
913 Q_ENUM( FeatureRendererFlag )
930 RendererShouldUseSymbolLevels = 1 << 0,
931 AffectsLabeling = 1 << 1,
945 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
947 Q_ENUM( SymbolPreviewFlag )
963 DisableFeatureClipping = 1 << 0,
964 CanCalculateMaskGeometryPerFeature = 1 << 1,
965 AffectsLabeling = 1 << 2,
967 Q_ENUM( SymbolLayerFlag )
983 DisableSelectionRecoloring = 1 << 0,
985 Q_ENUM( SymbolLayerUserFlag )
1012 Q_ENUM( BrowserItemType )
1025 Q_ENUM( BrowserItemState )
1041 ItemRepresentsFile = 1 << 6,
1042 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
1045 Q_ENUM( BrowserItemCapability )
1057 HideWhenNotFilteringByLayerType = 1 << 0,
1059 Q_ENUM( BrowserItemFilterFlag )
1084 Q_ENUM( DataItemProviderCapability )
1118 Q_ENUM( BrowserLayerType )
1131 Q_ENUM( BrowserDirectoryMonitoring )
1145 Q_ENUM( HttpMethod )
1167 Q_ENUM( VectorExportResult )
1175 FieldAliases = 1 << 0,
1176 FieldComments = 1 << 2,
1178 Q_ENUM( VectorFileWriterCapability )
1193 SubsetStringFilter = 1 << 1,
1194 GeometryColumn = 1 << 2,
1195 PrimaryKeys = 1 << 3,
1196 UnstableFeatureIds = 1 << 4
1198 Q_ENUM( SqlLayerDefinitionCapability )
1220 Q_ENUM( SqlKeywordCategory )
1248 Q_ENUM( ActionStart )
1257 FollowEngineSetting,
1260 Q_ENUM( UnplacedLabelVisibility )
1270 AllowOverlapIfRequired,
1271 AllowOverlapAtNoCost,
1273 Q_ENUM( LabelOverlapHandling )
1282 TreatWhitespaceAsCollision,
1283 IgnoreWhitespaceCollisions,
1285 Q_ENUM( LabelWhitespaceCollisionHandling )
1295 PreferPositionOrdering,
1297 Q_ENUM( LabelPrioritization )
1314 OrderedPositionsAroundPoint,
1318 Q_ENUM( LabelPlacement )
1328 PlaceCharactersAtVertices,
1329 StretchCharacterSpacingToFitLine,
1330 StretchWordSpacingToFitLine,
1332 Q_ENUM( CurvedLabelMode )
1353 BottomSlightlyRight,
1357 Q_ENUM( LabelPredefinedPointPosition )
1366 LabelLargestPartOnly,
1367 LabelEveryPartWithEntireLabel,
1368 SplitLabelTextLinesOverParts,
1370 Q_ENUM( MultiPartLabelingBehavior )
1385 Q_ENUM( LabelOffsetType )
1406 Q_ENUM( LabelQuadrantPosition )
1421 Q_ENUM( LabelLinePlacementFlag )
1441 AllowPlacementOutsideOfPolygon = 1 << 0,
1442 AllowPlacementInsideOfPolygon = 1 << 1,
1444 Q_ENUM( LabelPolygonPlacementFlag )
1468 Q_ENUM( UpsideDownLabelHandling )
1485 Q_ENUM( LabelMultiLineAlignment )
1501 Q_ENUM( TextAnchorPoint )
1519 Q_ENUM( FileFilterType )
1528 RemoveCredentials = 1 << 0,
1529 RedactCredentials = 1 << 1,
1531 Q_ENUM( UriCleaningFlag )
1552 Q_ENUM( SourceHierarchyLevel )
1562 ResolveGeometryType = 1 << 1,
1563 CountFeatures = 1 << 2,
1564 IncludeSystemTables = 1 << 3,
1565 OpenLayersToResolveDescriptions = 1 << 4,
1579 SystemTable = 1 << 0,
1599 Q_ENUM( ShaderInterpolationMethod )
1614 Q_ENUM( ShaderClassificationMethod )
1632 Q_ENUM( RasterPipeInterfaceRole )
1643 Q_ENUM( RasterResamplingStage )
1663 Q_ENUM( RasterResamplingMethod )
1672 InternalLayerOpacityHandling = 1 << 0,
1673 UseNoDataForOutOfRangePixels
1694 UsesMultipleBands = 1 << 0,
1696 Q_ENUM( RasterRendererCapability )
1720 Q_ENUM( RasterRangeLimit )
1735 Q_ENUM( RasterRangeExtent )
1749 Q_ENUM( RasterRangeAccuracy )
1778 Q_ENUM( RasterAttributeTableFieldUsage )
1790 Q_ENUM( RasterAttributeTableType )
1803 Q_ENUM( RasterExportType )
1814 SourceProviderError = 1,
1816 CreateDatasourceError = 3,
1821 Q_ENUM( RasterFileWriterResult )
1832 TooManyVerticesInFace,
1838 Q_ENUM( MeshEditingErrorType )
1850 Q_ENUM( FilePathType )
1860 AskExcludingRasterBands,
1864 Q_ENUM( SublayerPromptMode )
1881 Q_ENUM( FieldOrigin )
1893 NotSearchable = 1 << 1,
1894 HideFromWms = 1 << 2,
1895 HideFromWfs = 1 << 3,
1897 Q_ENUM( FieldConfigurationFlag )
1916 GeometryCrs = 0x1000,
1917 GeometryWkbType = 0x1001,
1918 CustomProperty = 0x100000,
1920 Q_ENUM( FieldMetadataProperty )
1933 Q_ENUM( SelectionRenderingMode )
1945 RemoveFromSelection,
1947 Q_ENUM( SelectBehavior )
1959 Q_ENUM( SelectGeometryRelationship )
1968 SingleFeatureSelection = 1 << 0,
1969 ToggleSelection = 1 << 1,
1992 FetchFeatureFailed = 3,
1995 Q_ENUM( VectorEditResult )
2004 SemiTransparentCircle,
2008 Q_ENUM( VertexMarkerType )
2022 Q_ENUM( ContentStatus )
2036 Q_ENUM( GpsConnectionType )
2049 Q_ENUM( DeviceConnectionStatus )
2104 Q_ENUM( GpsQualityIndicator )
2129 GroundSpeed = 1 << 2,
2131 TotalTrackLength = 1 << 4,
2132 TrackDistanceFromStart = 1 << 5,
2136 HorizontalAccuracy = 1 << 9,
2137 VerticalAccuracy = 1 << 10,
2138 HvAccuracy = 1 << 11,
2139 SatellitesUsed = 1 << 12,
2140 Timestamp = 1 << 13,
2141 TrackStartTime = 1 << 14,
2142 TrackEndTime = 1 << 15,
2143 TrackDistanceSinceLastPoint = 1 << 16,
2144 TrackTimeSinceLastPoint = 1 << 17,
2145 GeoidalSeparation = 1 << 18,
2146 EllipsoidAltitude = 1 << 19,
2184 QuoteFilePaths = 1 << 0,
2202 Q_ENUM( GpsFeatureType )
2214 NothingHappened = 1000,
2215 InvalidBaseGeometry,
2216 InvalidInputGeometryType,
2218 SelectionIsGreaterThanOne,
2219 GeometryEngineError,
2222 AddPartSelectedGeometryNotFound,
2223 AddPartNotMultiGeometry,
2227 AddRingCrossesExistingRings,
2228 AddRingNotInExistingFeature,
2230 SplitCannotSplitPoint,
2231 GeometryTypeHasChanged,
2233 Q_ENUM( GeometryOperationResult )
2260 Q_ENUM( GeometryValidationEngine )
2272 Q_ENUM( BufferSide )
2285 Q_ENUM( EndCapStyle )
2309 CylindersAndSpheres,
2311 Q_ENUM( JoinStyle3D )
2323 Q_ENUM( GeometryBackend )
2332 RejectOnInvalidSubGeometry = 1 << 0,
2333 SkipEmptyInteriorRings = 1 << 1,
2335 Q_ENUM( GeosCreationFlag )
2356 Q_ENUM( CoverageValidityResult )
2368 Q_ENUM( MakeValidMethod )
2381 SubsetOfAttributes = 2,
2383 IgnoreStaticNodesDuringExpressionCompilation
2385 EmbeddedSymbols = 16,
2387 Q_ENUM( FeatureRequestFlag )
2413 Q_ENUM( FeatureRequestFilterType )
2428 Q_ENUM( InvalidGeometryCheck )
2441 Q_ENUM( SpatialFilterType )
2450 IncludeMetadataFile = 1 << 0,
2451 IncludeStyleFile = 1 << 1,
2465 UsersCannotToggleEditing
2467 IsBasemapLayer = 1 << 1,
2468 Is3DBasemapLayer = 1 << 2,
2486 Q_ENUM( AutoRefreshMode )
2495 IsBasemapSource = 1 << 1,
2496 FastExtent2D = 1 << 2,
2497 FastExtent3D = 1 << 3,
2498 Is3DBasemapSource = 1 << 4,
2580 Q_ENUM( CrsAxisDirection )
2593 Q_ENUM( CoordinateOrder )
2608 Q_ENUM( CrsIdentifierType )
2625 WKT2_2015_SIMPLIFIED
2633 = Wkt2_2019Simplified,
2636 Q_ENUM( CrsWktVariant )
2646 PromptUserForCrs = 1,
2650 Q_ENUM( UnknownLayerCrsBehavior )
2672 ScaleDependentBoundingBox = 1 << 0,
2673 SupportsReferenceScale = 1 << 1,
2674 SupportsCallouts = 1 << 2,
2692 Q_ENUM( AnnotationPlacementMode )
2701 FlagNoCreationTools = 1 << 0,
2718 Q_ENUM( AnnotationItemNodeType )
2731 Q_ENUM( AnnotationItemEditOperationResult )
2747 Q_ENUM( TemporalNavigationMode )
2762 Q_ENUM( AnimationState )
2779 Q_ENUM( PlaybackOperation )
2797 Q_ENUM( VectorTemporalMode )
2806 IncludeBeginExcludeEnd = 0,
2807 IncludeBeginIncludeEnd,
2809 Q_ENUM( VectorTemporalLimitMode )
2822 Q_ENUM( VectorDataProviderTemporalMode )
2835 FixedRangePerBand = 3,
2836 RepresentsTemporalValues = 4,
2839 Q_ENUM( RasterTemporalMode )
2848 MatchUsingWholeRange,
2849 MatchExactUsingStartOfRange,
2850 MatchExactUsingEndOfRange,
2851 FindClosestMatchToStartOfRange,
2852 FindClosestMatchToEndOfRange
2854 Q_ENUM( TemporalIntervalMatchMethod )
2863 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2866 Q_ENUM( RasterTemporalCapabilityFlag )
2886 Q_ENUM( TransformDirection )
2895 BallparkTransformsAreAppropriate
2897 IgnoreImpossibleTransformations
2900 Q_ENUM( CoordinateTransformationFlag )
2921 Q_ENUM( RasterizedRenderingPolicy )
2933 Q_ENUM( RenderFormat )
2942 Antialiasing = 0x01,
2943 DrawEditingInfo = 0x02,
2944 ForceVectorOutput = 0x04,
2945 UseAdvancedEffects = 0x08,
2946 DrawLabeling = 0x10,
2947 UseRenderingOptimization = 0x20,
2948 DrawSelection = 0x40,
2949 DrawSymbolBounds = 0x80,
2950 RenderMapTile = 0x100,
2951 RenderPartialOutput = 0x200,
2952 RenderPreviewJob = 0x400,
2953 RenderBlocking = 0x800,
2954 LosslessImageRendering
2956 Render3DMap = 0x2000,
2957 HighQualityImageTransforms = 0x4000,
2958 SkipSymbolRendering = 0x8000,
2959 ForceRasterMasks = 0x10000,
2960 RecordProfile = 0x20000,
2961 AlwaysUseGlobalMasks
2963 DrawLabelSelection = 0x80000
2977 DrawEditingInfo = 0x01,
2978 ForceVectorOutput = 0x02,
2979 UseAdvancedEffects = 0x04,
2980 UseRenderingOptimization = 0x08,
2981 DrawSelection = 0x10,
2982 DrawSymbolBounds = 0x20,
2983 RenderMapTile = 0x40,
2984 Antialiasing = 0x80,
2985 RenderPartialOutput = 0x100,
2986 RenderPreviewJob = 0x200,
2987 RenderBlocking = 0x400,
2988 RenderSymbolPreview = 0x800,
2989 LosslessImageRendering = 0x1000,
2990 ApplyScalingWorkaroundForTextRendering = 0x2000,
2991 Render3DMap = 0x4000,
2992 ApplyClipAfterReprojection = 0x8000,
2993 RenderingSubSymbol = 0x10000,
2994 HighQualityImageTransforms = 0x20000,
2995 SkipSymbolRendering = 0x40000,
2996 RecordProfile = 0x80000,
2997 AlwaysUseGlobalMasks = 0x100000,
2998 DisableSymbolClippingToExtent = 0x200000,
2999 RenderLayerTree = 0x400000,
3000 DrawLabelSelection = 0x800000
3014 RenderPartialOutputs = 1 << 0,
3015 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
3016 AffectsLabeling = 1 << 2,
3018 Q_ENUM( MapLayerRendererFlag )
3035 RequiresRasterization = 1 << 0,
3037 Q_ENUM( PaintEffectFlag )
3057 TextFormatAlwaysOutlines
3060 TextFormatAlwaysText
3064 Q_ENUM( TextRenderFormat )
3075 UseAllLabels = 1 << 1,
3076 UsePartialCandidates = 1 << 2,
3078 RenderOutlineLabels = 1 << 3,
3079 DrawLabelRectOnly = 1 << 4,
3080 DrawCandidates = 1 << 5,
3081 DrawUnplacedLabels = 1 << 6,
3082 CollectUnplacedLabels = 1 << 7,
3083 DrawLabelMetrics = 1 << 8,
3084 IgnoreObstacles = 1 << 9,
3085 SingleCandidateOnly = 1 << 10,
3086 IgnoreOverlaps = 1 << 11,
3087 DisableSearchTree = 1 << 12,
3089 Q_ENUM( LabelingFlag )
3113 Q_ENUM( LabelPlacementEngineVersion )
3128 Q_ENUM( TextOrientation )
3142 RectangleCapHeightBased,
3143 RectangleAscentBased,
3145 Q_ENUM( TextLayoutMode )
3158 Background = 1 << 2,
3161 Q_ENUM( TextComponent )
3185 Q_ENUM( TextHorizontalAlignment )
3203 Q_ENUM( TextVerticalAlignment )
3219 Q_ENUM( TextCharacterVerticalAlignment )
3228 TruncateStringWhenLineIsTooShort = 1 << 0,
3229 UseBaselinePlacement = 1 << 1,
3230 UprightCharactersOnly = 1 << 2,
3231 ExtendLineToFitText = 1 << 3,
3233 Q_ENUM( CurvedTextFlag )
3254 SnappedToGridGlobal = 3,
3256 Q_ENUM( VectorSimplificationAlgorithm )
3267 NoSimplification = 0,
3268 GeometrySimplification = 1,
3269 AntialiasingSimplification = 2,
3270 FullSimplification = 3,
3272 Q_ENUM( VectorRenderingSimplificationFlag )
3296 Q_ENUM( RenderSubcomponentProperty )
3308 Q_ENUM( SelectiveMaskSourceType )
3320 Q_ENUM( VertexType )
3336 EquilateralTriangle,
3369 Q_ENUM( MarkerShape )
3382 LastVertex = 1 << 2,
3383 FirstVertex = 1 << 3,
3384 CentralPoint = 1 << 4,
3385 CurvePoint = 1 << 5,
3386 SegmentCenter = 1 << 6,
3387 InnerVertices = 1 << 7,
3389 Q_ENUM( MarkerLinePlacement )
3400 IntervalCartesian2D = 1 << 0,
3405 Q_ENUM( LinearReferencingPlacement )
3414 CartesianDistance2D,
3418 Q_ENUM( LinearReferencingLabelSource )
3432 Q_ENUM( GradientColorSource )
3447 Q_ENUM( GradientType )
3461 Q_ENUM( SymbolCoordinateReference )
3477 Q_ENUM( GradientSpread )
3491 Q_ENUM( PointCountMethod )
3505 Q_ENUM( MarkerClipMode )
3518 Q_ENUM( LineClipMode )
3533 Q_ENUM( DashPatternLineEndingRule )
3542 ScaleBothDashAndGap,
3546 Q_ENUM( DashPatternSizeAdjustment )
3560 Q_ENUM( GraduatedMethod )
3575 Q_ENUM( PlotAxisSuffixPlacement )
3588 Q_ENUM( PlotAxisType )
3601 Q_ENUM( PieChartLabelType )
3627 Q_ENUM( TilePixelRatio )
3643 ForceFirstLetterToCapital = 4,
3646 UpperCamelCase = 1005,
3647 AllSmallCaps = 1006,
3649 Q_ENUM( Capitalization )
3660 Q_ENUM( TextRendererFlag )
3687 Q_ENUM( AngularDirection )
3700 Q_ENUM( RendererUsage )
3709 ShowMainAnnotationLayer = 1 << 0,
3711 Q_ENUM( MapCanvasFlag )
3728 Sync3DTo2D = 1 << 0,
3729 Sync2DTo3D = 1 << 1,
3731 Q_ENUM( ViewSyncModeFlag )
3742 WhenOutsideVisibleExtent,
3745 Q_ENUM( MapRecenteringMode )
3754 LocalProfile = 1 << 0,
3757 Q_ENUM( HistoryProviderBackend )
3771 Q_ENUM( QueryStorageBackend )
3797 Q_ENUM( ProcessingSourceType )
3848 SecurityRisk = 1 << 15,
3870 RegeneratesPrimaryKey = 1 << 0,
3871 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3872 RespectsEllipsoid = 1 << 2,
3874 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3897 Q_ENUM( ProcessingPropertyAvailability )
3912 Q_ENUM( ProcessingLogLevel )
3927 Q_ENUM( ProcessingMode )
3938 VectorGeoprocessing,
3940 VectorDataManagement,
3946 RasterMiscellaneous,
3949 Q_ENUM( ProcessingMenu )
3965 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3988 Q_ENUM( ProcessingFeatureSourceFlag )
4014 Q_ENUM( ProcessingParameterTypeFlag )
4043 Q_ENUM( ProcessingParameterFlag )
4067 Q_ENUM( ProcessingFileParameterBehavior )
4081 Q_ENUM( ProcessingNumberParameterType )
4099 Q_ENUM( ProcessingFieldParameterDataType )
4114 Q_ENUM( ProcessingDateTimeParameterDataType )
4130 Q_ENUM( ProcessingModelChildParameterSource )
4143 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4158 Q_ENUM( ProcessingTinInputLayerType )
4170 Q_ENUM( CrsDefinitionFormat )
4187 Q_ENUM( FieldDomainSplitPolicy )
4208 Q_ENUM( FieldDomainMergePolicy )
4223 Q_ENUM( FieldDuplicatePolicy )
4236 Q_ENUM( FieldDomainType )
4246 AutomaticGroups = 1,
4249 Q_ENUM( TransactionMode )
4262 Q_ENUM( AltitudeClamping )
4274 Q_ENUM( AltitudeBinding )
4284 IncludeLowerExcludeUpper,
4285 ExcludeLowerIncludeUpper,
4288 Q_ENUM( RangeLimits )
4297 FixedElevationRange = 0,
4298 RepresentsElevationSurface = 1,
4299 FixedRangePerBand = 2,
4300 DynamicRangePerBand = 3,
4302 Q_ENUM( RasterElevationMode )
4311 FixedElevationRange = 0,
4313 FixedRangePerGroup = 2,
4315 Q_ENUM( MeshElevationMode )
4328 Q_ENUM( BetweenLineConstraint )
4341 Q_ENUM( LineExtensionSide )
4358 Q_ENUM( CadConstraintType )
4370 Q_ENUM( CadMeasurementDisplayType )
4379 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4380 TrustStoredLayerStatistics
4382 RememberLayerEditStatusBetweenSessions = 1 << 2,
4383 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4385 Q_ENUM( ProjectFlag )
4396 ShowContextMenu = 1 << 0,
4398 Q_ENUM( PlotToolFlag )
4411 ShowTerrainBoundingBoxes = 1 << 0,
4412 ShowTerrainTileInfo = 1 << 1,
4413 ShowCameraViewCenter = 1 << 2,
4414 ShowCameraRotationCenter = 1 << 3,
4415 ShowLightSourceOrigins = 1 << 4,
4417 ShowDebugPanel = 1 << 6,
4419 Q_ENUM( Map3DDebugFlag )
4433 Q_ENUM( Map3DProjectionType )
4454 Q_ENUM( Point3DShape )
4470 TrianglesWithFixedTexture,
4472 TrianglesDataDefined,
4475 Q_ENUM( MaterialRenderingTechnique )
4487 Q_ENUM( MaterialWidgetMode )
4496 DataDefinedScale = 1 << 0,
4497 DataDefinedRotation = 1 << 1,
4499 Q_ENUM( InstancedMaterialFlag )
4513 Q_ENUM( BillboardScaleMode )
4528 Q_ENUM( TextureFilterQuality )
4543 Q_ENUM( ShadowQuality )
4556 Q_ENUM( LightSourceType )
4565 FixedGradientBackground,
4566 DistinctTextureSkybox,
4568 Q_ENUM( Map3DBackgroundType )
4581 LeftHandedYUpMirrored,
4583 Q_ENUM( SkyboxCubeMapping )
4596 Q_ENUM( NavigationMode )
4617 WhenRotatingDragging = 1 << 0,
4618 WhenRotatingCaptured = 1 << 1,
4619 WhenPivoting = 1 << 2,
4623 Never = WhenRotatingDragging | WhenRotatingCaptured | WhenPivoting,
4624 WhenDragging = WhenRotatingCaptured | WhenPivoting,
4625 Always = WhenPivoting,
4627 Q_ENUM( VerticalAxisInversion )
4642 Q_ENUM( ToneMappingMethod )
4654 Q_ENUM( Export3DSceneFormat )
4689 TriangulatedSurface,
4700 RespectsMaximumErrorMapUnit = 1 << 0,
4701 RespectsDistanceRange = 1 << 1,
4702 RespectsElevationRange = 1 << 2,
4704 Q_ENUM( ProfileGeneratorFlag )
4717 DistanceVsElevationTable,
4731 Q_ENUM( PointCloudSymbol )
4744 Q_ENUM( PointCloudDrawOrder )
4756 AvoidIntersectionsCurrentLayer,
4757 AvoidIntersectionsLayers,
4759 Q_ENUM( AvoidIntersectionsMode )
4773 Q_ENUM( ProjectFileFormat )
4792 DontLoadProjectStyles = 1 << 5,
4793 ForceReadOnlyLayers = 1 << 6,
4794 DontUpgradeAnnotations = 1 << 7,
4796 Q_ENUM( ProjectReadFlag )
4818 ProjectStyles = 1 << 0,
4820 Q_ENUM( ProjectCapability )
4845 Q_ENUM( MapBoxGlStyleSourceType )
4865 Q_ENUM( ArcGisRestServiceType )
4885 Q_ENUM( ArcGisRestServiceCapability )
4907 Q_ENUM( RelationshipType )
4921 Q_ENUM( RelationshipStrength )
4935 Q_ENUM( RelationshipCardinality )
4944 MultipleFieldKeys = 1 << 0,
4945 ForwardPathLabel = 1 << 1,
4946 BackwardPathLabel = 1 << 2,
4948 Q_ENUM( RelationshipCapability )
4969 Q_ENUM( CoordinateDisplayType )
4982 Q_ENUM( SettingsOrigin )
5003 Q_ENUM( ScriptLanguage )
5015 CheckSyntax = 1 << 1,
5016 ToggleComment = 1 << 2,
5018 Q_ENUM( ScriptLanguageCapability )
5035 AboveInsertionPoint,
5037 OptimalInInsertionGroup,
5039 Q_ENUM( LayerTreeInsertionMethod )
5048 LayerProperties = 0,
5052 Q_ENUM( LegendLayerDoubleClickAction )
5061 SkipVisibilityCheck = 1 << 0,
5063 Q_ENUM( LayerTreeFilterFlag )
5080 ExcludeByDefault = 1 << 0,
5082 Q_ENUM( MapLayerLegendFlag )
5110 Q_ENUM( LegendComponent )
5123 Q_ENUM( LegendSyncMode )
5134 ShowRuleDetails = 1 << 0,
5136 Q_ENUM( LegendJsonRenderFlag )
5152 Q_ENUM( GeoJsonProfile )
5167 Q_ENUM( ActionType )
5179 SingleFeature = 1 << 1,
5180 MultipleFeatures = 1 << 2,
5181 AllActions = Layer | SingleFeature | MultipleFeatures
5183 Q_ENUM( MapLayerActionTarget )
5204 EnabledOnlyWhenEditable = 1 << 1,
5205 EnableOnlyWhenHasGeometry = 1 << 2,
5207 Q_ENUM( MapLayerActionFlag )
5237 Q_ENUM( AttributeActionType )
5251 Q_ENUM( MetadataDateType )
5266 Q_ENUM( AcademicReferenceType )
5297 ContinuousPalette = 17,
5320 Q_ENUM( RasterColorInterpretation )
5336 Q_ENUM( RasterLayerType )
5349 SingleBandPseudoColor,
5351 PalettedSingleBandGray,
5352 PalettedSingleBandPseudoColor,
5353 PalettedMultiBandColor,
5354 MultiBandSingleBandGray,
5355 MultiBandSingleBandPseudoColor,
5359 Q_ENUM( RasterDrawingStyle )
5374 Q_ENUM( RasterPyramidFormat )
5389 Q_ENUM( RasterBuildPyramidOption )
5406 Q_ENUM( RasterIdentifyFormat )
5425 BuildPyramids = 1 << 4,
5427 IdentifyValue = 1 << 6,
5428 IdentifyText = 1 << 7,
5429 IdentifyHtml = 1 << 8,
5430 IdentifyFeature = 1 << 9,
5433 Q_ENUM( RasterInterfaceCapability )
5454 NoProviderCapabilities = 0,
5455 ReadLayerMetadata = 1 << 1,
5456 WriteLayerMetadata = 1 << 2,
5457 ProviderHintBenefitsFromResampling = 1 << 3,
5458 ProviderHintCanPerformProviderResampling = 1 << 4,
5459 ReloadData = 1 << 5,
5460 DpiDependentData = 1 << 6,
5461 NativeRasterAttributeTable = 1 << 7,
5462 BuildPyramids = 1 << 8,
5464 Q_ENUM( RasterProviderCapability )
5486 Q_ENUM( ElevationMapCombineMethod )
5539 Q_ENUM( SystemOfMeasurement )
5553 Q_ENUM( MapToolUnit )
5591 ChainsInternational,
5592 ChainsBritishBenoit1895A,
5593 ChainsBritishBenoit1895B,
5594 ChainsBritishSears1922Truncated,
5595 ChainsBritishSears1922,
5600 FeetBritishBenoit1895A,
5601 FeetBritishBenoit1895B,
5602 FeetBritishSears1922Truncated,
5603 FeetBritishSears1922,
5612 LinksBritishBenoit1895A,
5613 LinksBritishBenoit1895B,
5614 LinksBritishSears1922Truncated,
5615 LinksBritishSears1922,
5618 YardsBritishBenoit1895A,
5619 YardsBritishBenoit1895B,
5620 YardsBritishSears1922Truncated,
5621 YardsBritishSears1922,
5632 Q_ENUM( DistanceUnit )
5647 Q_ENUM( DistanceUnitType )
5695 Q_ENUM( VolumeUnit )
5729 MetersPerSecond = 0,
5736 Q_ENUM( WindSpeedUnit )
5760 Q_ENUM( TemporalUnit )
5780 Q_ENUM( RenderUnit )
5800 Q_ENUM( LayoutUnit )
5814 Q_ENUM( LayoutUnitType )
5842 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5844 Q_ENUM( LayoutRenderFlag )
5869 Q_ENUM( PictureFormat )
5884 Q_ENUM( ScaleCalculationMethod )
5899 Q_ENUM( ScaleBarAlignment )
5913 Q_ENUM( ScaleBarSegmentSizeMode )
5927 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5941 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5955 CenteredAbove = 1 << 4,
5956 RightAbove = 1 << 5,
5958 CenteredBelow = 1 << 7,
5959 RightBelow = 1 << 8,
5960 BeforeFirstDistanceLabel = 1 << 9,
5961 AfterLastDistanceLabel = 1 << 10,
5962 OnBarAfterFirstDivision = 1 << 11,
5963 BeforeEveryDistanceLabel = 1 << 12,
5964 AfterEveryDistanceLabel = 1 << 13,
5966 Q_ENUM( ScaleBarUnitLabelPlacement )
5990 DynamicPageSizeBased,
5992 Q_ENUM( MapGridUnit )
6008 Q_ENUM( MapGridStyle )
6024 Q_ENUM( MapGridComponentVisibility )
6038 Q_ENUM( MapGridAnnotationPosition )
6057 Q_ENUM( MapGridAnnotationDirection )
6072 DegreeMinuteNoSuffix,
6074 DegreeMinuteSecondNoSuffix,
6075 DegreeMinuteSecondPadded,
6078 Q_ENUM( MapGridAnnotationFormat )
6094 Q_ENUM( MapGridBorderSide )
6109 InteriorExteriorTicks,
6114 Q_ENUM( MapGridFrameStyle )
6125 OrthogonalTicks = 0,
6128 Q_ENUM( MapGridTickLengthMode )
6145 Q_ENUM( MapGridFrameSideFlag )
6169 Q_ENUM( MapGridAnnotationType )
6181 Q_ENUM( ElevationProfileRangeMethod )
6214 Q_ENUM( PostgresRelKind )
6223 SetFieldComment = 1 << 0,
6224 SetFieldAlias = 1 << 1,
6225 SetTableComment = 1 << 2,
6226 EditFieldDomain = 1 << 3,
6227 DeleteFieldDomain = 1 << 4,
6228 StyleStorage = 1 << 5,
6230 Q_ENUM( DatabaseProviderConnectionCapability2 )
6241 SetGeometryColumnName = 1 << 0,
6242 SetPrimaryKeyName = 1 << 1,
6244 Q_ENUM( DatabaseProviderTableImportCapability )
6255 SaveToDatabase = 1 << 1,
6256 LoadFromDatabase = 1 << 2,
6257 DeleteFromDatabase = 1 << 3
6274 Q_ENUM( UserProfileSelectionPolicy )
6295 Q_ENUM( AttributeEditorType )
6308 Q_ENUM( AttributeEditorContainerType )
6323 Q_ENUM( AttributeFormLayout )
6338 Q_ENUM( AttributeFormSuppression )
6354 Q_ENUM( AttributeFormPythonInitCodeSource )
6364 AllowedDefaultOn = 1,
6365 AllowedDefaultOff = 2,
6367 Q_ENUM( AttributeFormReuseLastValuePolicy )
6380 Q_ENUM( ExpressionType )
6395 Q_ENUM( FeatureSymbologyExport )
6404 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6406 Q_ENUM( VectorTileProviderFlag )
6422 ReadLayerMetadata = 1 << 1,
6424 Q_ENUM( VectorTileProviderCapability )
6443 AvailableNoChildren,
6444 UseLowerZoomLevelTile,
6446 Q_ENUM( TileAvailability )
6455 ReadLayerMetadata = 1 << 1,
6457 Q_ENUM( TiledSceneProviderCapability )
6478 Q_ENUM( TiledSceneBoundingVolumeType )
6493 Q_ENUM( TileRefinementProcess )
6506 Q_ENUM( TileChildrenAvailability )
6515 NoHierarchyFetch = 1 << 0,
6517 Q_ENUM( TiledSceneRequestFlag )
6534 RequiresTextures = 1 << 0,
6535 ForceRasterRender = 1 << 1,
6536 RendersTriangles = 1 << 2,
6537 RendersLines = 1 << 3,
6539 Q_ENUM( TiledSceneRendererFlag )
6556 RA_NearestNeighbour = 0,
6569 Q_ENUM( GdalResampleAlgorithm )
6585 Q_ENUM( VsiHandlerType )
6609 MinimumPoint = 1 << 12,
6610 MaximumPoint = 1 << 13,
6612 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6614 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6615 Default = Count | Sum | Mean,
6617 Q_ENUM( ZonalStatistic )
6639 FailedToCreateField = 8,
6642 Q_ENUM( ZonalStatisticResult )
6668 StringMinimumLength,
6669 StringMaximumLength,
6673 StringConcatenateUnique
6685 CountMissing = 1 << 15,
6690 StDevSample = 1 << 5,
6697 FirstQuartile = 1 << 12,
6698 ThirdQuartile = 1 << 13,
6699 InterQuartileRange = 1 << 14,
6702 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6727 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6729 Q_ENUM( DateTimeStatistic )
6756 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6758 Q_ENUM( StringStatistic )
6782 SumOfSquares = 1 << 6,
6783 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6785 Q_ENUM( RasterBandStatistic )
6806 Q_ENUM( InterpolationSourceType )
6819 Q_ENUM( InterpolationValueSource )
6840 MultiDatastream = 1 << 0,
6841 SensingExtensionObservationsMeasurements = 1 << 1,
6842 SensingExtensionSampling = 1 << 2,
6843 SensingExtensionRelations = 1 << 3,
6881 PreparationProcedure,
6886 ObservationRelation,
6888 Q_ENUM( SensorThingsEntity )
6900 Q_ENUM( ColorModel )
6914 Q_ENUM( DocumentationApi )
6923 DeveloperToolsPanel,
6926 Q_ENUM( DocumentationBrowser )
6951 Q_ENUM( MouseHandlesAction )
6962 Q_ENUM( MeshRangeLimit )
6975 Q_ENUM( MeshRangeExtent )
6988 Q_ENUM( PointCloudAccessType )
6998 RenderOverviewAndExtents
7000 Q_ENUM( PointCloudZoomOutRenderBehavior )
7013 Q_ENUM( SegmentCalculationMethod )
7026 Q_ENUM( StacObjectType )
7037 Q_ENUM( RasterProcessingParameterCapability )
7052 Status = Qt::UserRole + 1,
7058 Q_ENUM( DevToolsNodeRole )
7072 Q_ENUM( ExtrusionFace )
7087 ConstrainedDelaunay = 0,
7090 Q_ENUM( TriangulationAlgorithm )
7108 Q_ENUM( WmsGroupRequestMode )
7117 RestorePreviousState,
7121 Q_ENUM( DockableWidgetInitialState )
7135 Q_ENUM( CoverageCleanOverlapMergeStrategy )
7144 RenderTextAsText = 1 << 0,
7146 Q_ENUM( PdfRenderFlag )
7171 Q_ENUM( WmsDimensionDefaultDisplay )
7190 Q_ENUM( RubberBandIconType )
7200 PreviewItems = 1 << 1,
7202 Q_ENUM( RubberBandComponent )
7222 Q_ENUM( UserInterfaceIconType )
7237 Q_ENUM( VectorFieldArrowScalingMethod )
7253 Q_ENUM( VectorFieldSymbology )
7267 Q_ENUM( VectorFieldSeedingMethod )
7276 CartesianComponents = 0,
7279 Q_ENUM( RasterVectorFieldSourceMode )
7295 Q_ENUM( RasterDirectionEncoding )
7306 LuWithSvdFallback = 2
7308 Q_ENUM( LinearMatrixMethod )
7326 Q_ENUM( AttributeTableFilterMode )
7338 Q_ENUM( PointCloudOutputsTypes )
7350 Q_ENUM( SaveStyleFormat )
7536 return QStringLiteral(
7537 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]] )"""
7545 Q_DECL_DEPRECATED
static QString
geoProj4() {
return u
"+proj=longlat +datum=WGS84 +no_defs"_s; }
7659#define cast_to_fptr( f ) f
7679 , mPreviousState( object->blockSignals( true ) )
7688 Object *mObject =
nullptr;
7689 bool mPreviousState;
7711CORE_EXPORT
size_t qHash(
const QVariant &variant );
7723 if ( precision < 0 )
7725 const double roundFactor = std::pow( 10, -precision );
7726 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7730 str = QString::number( a,
'f', precision );
7731 if ( str.contains(
'.'_L1 ) )
7734 int idx = str.length() - 1;
7735 while ( str.at( idx ) ==
'0' && idx > 1 )
7739 if ( idx < str.length() - 1 )
7740 str.truncate( str.at( idx ) ==
'.' ? idx : idx + 1 );
7746 str = QString::number( a,
'f', precision );
7750 if ( str ==
"-0"_L1 )
7768 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7783template<
typename T>
inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7785 static_assert( std::is_floating_point<T>::value,
"qgsNumberNear requires floating-point types" );
7793 const T diff = a - b;
7794 if ( diff >= -epsilon && diff <= epsilon )
7798 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7811inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7833 if ( a - b <= epsilon )
7837 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7860 if ( b - a <= epsilon )
7864 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7876inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
7884 const bool aIsNan = std::isnan( a );
7885 const bool bIsNan = std::isnan( b );
7886 if ( aIsNan || bIsNan )
7887 return aIsNan && bIsNan;
7895 const double ar = std::frexp( a, &aexp );
7896 const double br = std::frexp( b, &bexp );
7898 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7907 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7908 const double scaleFactor = std::pow( 10.0, places );
7909 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7920template<
class Key,
class Value> QString
qgsMapJoinKeys(
const QMap<Key, Value> &map,
const QString &separator )
7923 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
7924 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
7926 result.chop( separator.size() );
7936template<
class Key,
class Value> QString
qgsMapJoinValues(
const QMap<Key, Value> &map,
const QString &separator )
7939 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
7940 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
7942 result.chop( separator.size() );
7952template<
class T> QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
7955 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
7956 result += QString(
"%1%2" ).arg( *it ).arg( separator );
7958 result.chop( separator.size() );
7988 template<
typename To,
typename From>
inline To down_cast( From *f )
7990 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ),
"target type not derived from source type" );
7991 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
7992 return static_cast<To
>( f );
7995 template<
class T> QSet<T> listToSet(
const QList<T> &list )
7997 return QSet<T>( list.begin(), list.end() );
8000 template<
class T> QList<T> setToList(
const QSet<T> &set )
8002 return QList<T>( set.begin(), set.end() );
8013 template<
typename To,
typename From>
inline std::unique_ptr<To> unique_ptr_static_cast( std::unique_ptr<From> f )
8015 static_assert( ( std::is_base_of<From, To>::value ),
"target type not derived from source type" );
8016 Q_ASSERT( !f ||
dynamic_cast<To *
>( f.get() ) !=
nullptr );
8017 return std::unique_ptr<To>(
static_cast<To *
>( f.release() ) );
8027 template<
typename To,
typename From>
inline std::unique_ptr<To> unique_ptr_dynamic_cast( std::unique_ptr<From> &&f )
8029 static_assert( ( std::is_base_of<From, To>::value ),
"target type not derived from source type" );
8030 if ( To *casted =
dynamic_cast<To *
>( f.get() ) )
8032 return std::unique_ptr< To >(
dynamic_cast<To *
>( f.release() ) );
8053 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
8054 Q_ASSERT( metaEnum.isValid() );
8056 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
8058 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
8070 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
8071 Q_ASSERT( metaEnum.isValid() );
8072 QMap<T, QString> enumMap;
8073 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
8075 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
8087 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
8088 Q_ASSERT( metaEnum.isValid() );
8089 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
8092 *returnOk = key ? true :
false;
8094 return QString::fromUtf8( key );
8104template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
8106 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
8107 Q_ASSERT( metaEnum.isValid() );
8109 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
8121 if ( tryValueAsKey )
8123 bool canConvert =
false;
8124 const int intValue = key.toInt( &canConvert );
8125 if ( canConvert && metaEnum.valueToKey( intValue ) )
8131 return static_cast<T
>( intValue );
8135 return defaultValue;
8145 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
8146 Q_ASSERT( metaEnum.isValid() );
8147 int intValue =
static_cast<int>( value );
8148 if ( intValue == 0 )
8155 const QByteArray ba = metaEnum.valueToKeys( intValue );
8158 const int intValueCheck = metaEnum.keysToValue( ba );
8159 bool ok = intValue == intValueCheck;
8162 return ok ? QString::fromUtf8( ba ) : QString();
8172template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
8174 if ( keys.isEmpty() )
8180 return defaultValue;
8182 else if ( keys ==
"0"_L1 )
8190 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
8191 Q_ASSERT( metaEnum.isValid() );
8193 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
8205 if ( tryValueAsKey )
8207 bool canConvert =
false;
8208 const int intValue = keys.toInt( &canConvert );
8211 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
8212 const int intValueCheck = metaEnum.keysToValue( keyArray );
8213 if ( !keyArray.isEmpty() && intValue == intValueCheck )
8219 return T( intValue );
8224 return defaultValue;
8278CORE_EXPORT
int qgsVariantCompare(
const QVariant &lhs,
const QVariant &rhs,
bool strictTypeCheck =
false );
8300CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
8323inline bool operator>(
const QVariant &v1,
const QVariant &v2 )
8339inline bool operator<(
const QVariant &v1,
const QVariant &v2 )
8368class ScopedIntIncrementor
8371 ScopedIntIncrementor(
int *variable )
8372 : mVariable( variable )
8377 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
8378 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
8385 mVariable =
nullptr;
8388 ~ScopedIntIncrementor() { release(); }
8391 int *mVariable =
nullptr;
8431#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
8433#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
8434#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
8435#define Q_NOWARN_UNREACHABLE_PUSH
8436#define Q_NOWARN_UNREACHABLE_POP
8438#elif defined( _MSC_VER )
8440#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
8441#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
8442#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
8443#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
8446#define Q_NOWARN_DEPRECATED_PUSH
8447#define Q_NOWARN_DEPRECATED_POP
8448#define Q_NOWARN_UNREACHABLE_PUSH
8449#define Q_NOWARN_UNREACHABLE_POP
8456#define QGISEXTERN extern "C" __declspec( dllexport )
8458#if defined( __GNUC__ ) || defined( __clang__ )
8459#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
8461#define QGISEXTERN extern "C"
8469#define BUILTIN_UNREACHABLE __assume( false );
8470#elif defined( __GNUC__ ) && !defined( __clang__ )
8481#define BUILTIN_UNREACHABLE __builtin_unreachable();
8483#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.
AttributeTableFilterMode
Defines how rows in attribute tables should be filtered.
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
GeometryBackend
Geometry backend for QgsGeometry.
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.
QFlags< PdfRenderFlag > PdfRenderFlags
PDF rendering flags.
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.
WmsGroupRequestMode
Request mode of groups in a WMS context.
VectorFieldSeedingMethod
Method used to define start points that are used to draw streamlines.
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.
VectorFieldSymbology
Defines the symbology of vector field rendering.
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.
InterpolationSourceType
Interpolation source types.
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
CoverageCleanOverlapMergeStrategy
Merge strategies for coverage cleaning operations.
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.
InterpolationValueSource
Source for interpolated values from features.
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.
UserInterfaceIconType
Icon types for icons shown in the user interface.
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
Map3DBackgroundType
Background types for 3D map view.
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.
QFlags< SensorThingsExtension > SensorThingsExtensions
OGC SensorThings extensions.
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.
TextureFilterQuality
Texture filtering qualities.
Statistic
Available generic statistics.
TriangulationAlgorithm
Triangulation algorithms.
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
SaveStyleFormat
Style save format.
AngleUnit
Units of angles.
ToneMappingMethod
Defines the method used to map High Dynamic Range (HDR) scene colors to the Standard Dynamic Range (S...
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.
LayerItemCapability
Flags for layer item capabilities.
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.
PointCloudOutputsTypes
Point cloud output formats allowed for a point cloud destination.
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.
LegendLayerDoubleClickAction
Action performed when double-clicking a layer in the legend.
RasterPyramidFormat
Raster pyramid formats.
ProcessingMode
Types of modes which Processing widgets can be created for.
VectorExportResult
Vector layer export result codes.
ShadowQuality
Shadow texture quality.
PdfRenderFlag
PDF rendering flags.
DistanceUnit
Units of distance.
ScaleBarUnitLabelPlacement
Available placement options for a scale bar's unit label.
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.
RasterVectorFieldSourceMode
Defines how a raster vector field renderer reads the vectors from the raster bands.
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.
TextAnchorPoint
Anchor point of label text.
ExtrusionFace
Extrusion face types for the QgsTessellator.
AttributeFormLayout
Available form types for layout of the attribute form editor.
FeatureRequestFlag
Flags for controlling feature requests.
Map3DDebugFlag
Flags that control debug options for 3D maps.
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.
Q_ENUM(SensorThingsExtension)
static const int MAXIMUM_LAYER_PREVIEW_TIME_MS
Maximum rendering time for a layer of a preview job.
QFlags< RubberBandComponent > RubberBandComponents
Rubber band components.
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...
GeoJsonProfile
GeoJson export Profile according to OGC Features and Geometries JSON - Part 1: Core https://docs....
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
SensorThingsExtension
OGC SensorThings extensions.
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.
QFlags< SaveStyleFormat > SaveStyleFormats
ProjectFlag
Flags which control the behavior of QgsProjects.
MapGridStyle
Map grid drawing styles.
SensorThingsVersion
OGC SensorThings API versions.
FeatureRendererFlag
Flags controlling behavior of vector feature renderers.
static Q_DECL_DEPRECATED QString geoProj4()
PROJ4 string that represents a geographic coord system.
AcademicReferenceType
Type of academic reference.
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.
RubberBandIconType
Rubber band icon type.
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.
ProcessingMenu
Standard menu groups for Processing tools.
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.
MaterialWidgetMode
Modes for material settings widgets.
MapLayerActionTarget
Map layer action targets.
ShaderClassificationMethod
Color ramp shader classification methods.
QFlags< ScaleBarUnitLabelPlacement > ScaleBarUnitLabelPlacements
Available placement options for a scale bar's unit label.
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.
Export3DSceneFormat
The file format used when exporting a 3D scene.
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.
Q_ENUM(SensorThingsVersion)
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.
SkyboxCubeMapping
Skybox texture cube mapping for distinct texture skyboxes.
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.
WindSpeedUnit
Wind speed units.
RenderFormat
Rendering formats.
PointCloudZoomOutRenderBehavior
Point cloud zoom out options.
QFlags< SymbolConverterCapability > SymbolConverterCapabilities
Symbol converter capabilities.
LayerType
Types of layers that can be added to a map.
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
BillboardScaleMode
3D billboard scaling modes.
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
QFlags< BrowserItemFilterFlag > BrowserItemFilterFlags
Browser item filter flags.
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.
QFlags< ArcGisRestServiceCapability > ArcGisRestServiceCapabilities
Available ArcGIS REST service capabilities.
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.
QFlags< VerticalAxisInversion > VerticalAxisInversionFlags
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.
UnknownLayerCrsBehavior
Behavior to use when encountering a layer with an unknown (invalid) CRS.
BrowserItemFilterFlag
Browser item filter flags.
QFlags< LayerItemCapability > LayerItemCapabilities
Flags for layer item capabilities.
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.
QFlags< Map3DDebugFlag > Map3DDebugFlags
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.
Map3DProjectionType
3D map projection type
QFlags< ProcessingAlgorithmDocumentationFlag > ProcessingAlgorithmDocumentationFlags
Flags describing algorithm behavior for documentation purposes.
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
ArcGisRestServiceCapability
Available ArcGIS REST service 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
RubberBandComponent
Rubber band components.
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.
MaterialRenderingTechnique
Material rendering techniques.
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
WmsDimensionDefaultDisplay
QGIS Server WMS Dimension default display types.
GpsConnectionType
GPS connection types.
RasterDirectionEncoding
Schemes used to encode a compass direction as an integer raster value.
Q_ENUM(InputControllerType)
ElevationProfileRangeMethod
Elevation profile range calculation methods.
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.
SymbolConverterCapability
Symbol converter capabilities.
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.
QFlags< InstancedMaterialFlag > InstancedMaterialFlags
SceneMode
The 3D scene mode used in 3D map views.
InstancedMaterialFlag
Optional per-instance properties of instanced materials.
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.
VectorFieldArrowScalingMethod
Algorithm to transform vector magnitude to length of arrow on the device in pixels.
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.
DockableWidgetInitialState
Dockable widget initial states.
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.
LinearMatrixMethod
Mathematical methods to use for solving linear matrix equations.
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.
Contains settings related to how the label engine places and formats labels for line features (or pol...
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.
Represents a mesh renderer settings for vector datasets displayed with arrows.
Represents a renderer settings for vector datasets.
Represents a streamline renderer settings for vector datasets displayed by streamlines.
Represents a mesh renderer settings for vector datasets displayed with wind barbs.
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.
CreateLayerActionOnExisting
Actions to take when attempting to create a layer on an existing datasource.
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...
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.
CORE_EXPORT size_t qHash(const QVariant &variant)
Hash for QVariant.
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.
bool qgsDoubleGreaterThanOrNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles to see if one is greater than the other or very near to the other.
#define QHASH_FOR_CLASS_ENUM(T)
bool qgsDoubleLessThanOrNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles to see if one is less than the other or very near to the other.
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.