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
253 IgnoreMissingStyleErrors
256 Q_ENUM( LoadStyleFlag )
303 GeometryCollection = 7,
309 PolyhedralSurface = 15,
318 MultiLineStringZ = 1005,
319 MultiPolygonZ = 1006,
320 GeometryCollectionZ = 1007,
321 CircularStringZ = 1008,
322 CompoundCurveZ = 1009,
323 CurvePolygonZ = 1010,
325 MultiSurfaceZ = 1012,
326 PolyhedralSurfaceZ = 1015,
334 MultiLineStringM = 2005,
335 MultiPolygonM = 2006,
336 GeometryCollectionM = 2007,
337 CircularStringM = 2008,
338 CompoundCurveM = 2009,
339 CurvePolygonM = 2010,
341 MultiSurfaceM = 2012,
342 PolyhedralSurfaceM = 2015,
349 MultiLineStringZM = 3005,
350 MultiPolygonZM = 3006,
351 GeometryCollectionZM = 3007,
352 CircularStringZM = 3008,
353 CompoundCurveZM = 3009,
354 CurvePolygonZM = 3010,
356 MultiSurfaceZM = 3012,
357 PolyhedralSurfaceZM = 3015,
361 Point25D = 0x80000001,
386 Q_ENUM( GeometryType )
408 ARGB32_Premultiplied = 13
426 Q_ENUM( CaptureTechnique )
438 Q_ENUM( VectorLayerTypeFlag )
453 NotForThisSession = 4,
456 Q_ENUM( EmbeddedScriptMode )
465 ExpressionFunction = 1,
469 Q_ENUM( EmbeddedScriptType )
481 Q_ENUM( ProjectTrustStatus )
494 SkipFeatureCount = 1 << 1,
496 SkipGetExtent = 1 << 3,
497 SkipFullScan = 1 << 4,
498 ForceReadOnly = 1 << 5,
499 SkipCredentialsRequest
501 ParallelThreadLoading = 1 << 7,
503 Q_ENUM( DataProviderReadFlag )
528 DeleteFeatures = 1 << 1,
529 ChangeAttributeValues = 1 << 2,
530 AddAttributes = 1 << 3,
531 DeleteAttributes = 1 << 4,
532 CreateSpatialIndex = 1 << 6,
534 ChangeGeometries = 1 << 8,
535 SelectEncoding = 1 << 13,
536 CreateAttributeIndex = 1 << 12,
537 SimplifyGeometries = 1 << 14,
538 SimplifyGeometriesWithTopologicalValidation = 1 << 15,
539 TransactionSupport = 1 << 16,
540 CircularGeometries = 1 << 17,
541 ChangeFeatures = 1 << 18,
542 RenameAttributes = 1 << 19,
543 FastTruncate = 1 << 20,
544 ReadLayerMetadata = 1 << 21,
545 WriteLayerMetadata = 1 << 22,
546 CancelSupport = 1 << 23,
547 CreateRenderer = 1 << 24,
548 CreateLabeling = 1 << 25,
549 ReloadData = 1 << 26,
550 FeatureSymbology = 1 << 27,
552 ReadFieldDomains = 1 << 29,
553 EditingCapabilities = AddFeatures | DeleteFeatures | ChangeAttributeValues | ChangeGeometries | AddAttributes | DeleteAttributes | RenameAttributes,
555 Q_ENUM( VectorProviderCapability )
575 CreateOrOverwriteFile,
576 CreateOrOverwriteLayer,
578 Q_ENUM( CreateLayerActionOnExisting )
590 Q_ENUM( FeatureCountState )
604 Q_ENUM( SpatialIndexPresence )
619 NoFeaturesAvailable = 0,
621 FeaturesMaybeAvailable
623 Q_ENUM( FeatureAvailability )
633 EditComment = 1 << 1,
636 Q_ENUM( VectorDataProviderAttributeEditCapability )
669 Q_ENUM( ScaleMethod )
688 Q_ENUM( SettingsType )
700 Q_ENUM( SettingsTreeNodeType )
708 NamedListSelectedItemSetting = 1 << 0,
711 Q_ENUM( SettingsTreeNodeOption )
729 Q_ENUM( PropertyType )
742 Q_ENUM( SldExportOption )
753 NoVendorExtension = 0,
754 GeoServerVendorExtension = 1 << 1,
755 DeegreeVendorExtension = 1 << 2,
757 Q_ENUM( SldExportVendorExtension )
766 SaveFormerValue = 1 << 1,
767 SaveEnumFlagAsInt = 1 << 2,
769 Q_ENUM( SettingsOption )
781 AdvancedConfiguration = 3,
783 Q_ENUM( SnappingMode )
799 Q_ENUM( SnappingType )
811 DynamicRotation = 1 << 1,
812 IsSymbolLayerSubSymbol = 1 << 2,
813 ForceVectorRendering = 1 << 3,
814 ExcludeSymbolBuffers = 1 << 4,
816 Q_ENUM( SymbolRenderHint )
829 WriteSymbol = 1 << 1,
832 Q_ENUM( SymbolConverterCapability )
852 Q_ENUM( SymbolRotationMode )
867 Q_ENUM( HorizontalAnchorPoint )
882 Q_ENUM( VerticalAnchorPoint )
891 AffectsLabeling = 1 << 0,
893 Q_ENUM( FeatureRendererFlag )
910 RendererShouldUseSymbolLevels = 1 << 0,
911 AffectsLabeling = 1 << 1,
925 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
927 Q_ENUM( SymbolPreviewFlag )
943 DisableFeatureClipping = 1 << 0,
944 CanCalculateMaskGeometryPerFeature = 1 << 1,
945 AffectsLabeling = 1 << 2,
947 Q_ENUM( SymbolLayerFlag )
963 DisableSelectionRecoloring = 1 << 0,
965 Q_ENUM( SymbolLayerUserFlag )
992 Q_ENUM( BrowserItemType )
1005 Q_ENUM( BrowserItemState )
1021 ItemRepresentsFile = 1 << 6,
1022 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
1025 Q_ENUM( BrowserItemCapability )
1037 HideWhenNotFilteringByLayerType = 1 << 0,
1039 Q_ENUM( BrowserItemFilterFlag )
1064 Q_ENUM( DataItemProviderCapability )
1098 Q_ENUM( BrowserLayerType )
1111 Q_ENUM( BrowserDirectoryMonitoring )
1125 Q_ENUM( HttpMethod )
1147 Q_ENUM( VectorExportResult )
1155 FieldAliases = 1 << 0,
1156 FieldComments = 1 << 2,
1158 Q_ENUM( VectorFileWriterCapability )
1173 SubsetStringFilter = 1 << 1,
1174 GeometryColumn = 1 << 2,
1175 PrimaryKeys = 1 << 3,
1176 UnstableFeatureIds = 1 << 4
1178 Q_ENUM( SqlLayerDefinitionCapability )
1200 Q_ENUM( SqlKeywordCategory )
1228 Q_ENUM( ActionStart )
1237 FollowEngineSetting,
1240 Q_ENUM( UnplacedLabelVisibility )
1250 AllowOverlapIfRequired,
1251 AllowOverlapAtNoCost,
1253 Q_ENUM( LabelOverlapHandling )
1262 TreatWhitespaceAsCollision,
1263 IgnoreWhitespaceCollisions,
1265 Q_ENUM( LabelWhitespaceCollisionHandling )
1275 PreferPositionOrdering,
1277 Q_ENUM( LabelPrioritization )
1294 OrderedPositionsAroundPoint,
1298 Q_ENUM( LabelPlacement )
1308 PlaceCharactersAtVertices,
1309 StretchCharacterSpacingToFitLine,
1310 StretchWordSpacingToFitLine,
1312 Q_ENUM( CurvedLabelMode )
1333 BottomSlightlyRight,
1337 Q_ENUM( LabelPredefinedPointPosition )
1346 LabelLargestPartOnly,
1347 LabelEveryPartWithEntireLabel,
1348 SplitLabelTextLinesOverParts,
1350 Q_ENUM( MultiPartLabelingBehavior )
1365 Q_ENUM( LabelOffsetType )
1386 Q_ENUM( LabelQuadrantPosition )
1401 Q_ENUM( LabelLinePlacementFlag )
1421 AllowPlacementOutsideOfPolygon = 1 << 0,
1422 AllowPlacementInsideOfPolygon = 1 << 1,
1424 Q_ENUM( LabelPolygonPlacementFlag )
1448 Q_ENUM( UpsideDownLabelHandling )
1465 Q_ENUM( LabelMultiLineAlignment )
1481 Q_ENUM( TextAnchorPoint )
1499 Q_ENUM( FileFilterType )
1508 RemoveCredentials = 1 << 0,
1509 RedactCredentials = 1 << 1,
1511 Q_ENUM( UriCleaningFlag )
1532 Q_ENUM( SourceHierarchyLevel )
1542 ResolveGeometryType = 1 << 1,
1543 CountFeatures = 1 << 2,
1544 IncludeSystemTables = 1 << 3,
1545 OpenLayersToResolveDescriptions = 1 << 4,
1559 SystemTable = 1 << 0,
1579 Q_ENUM( ShaderInterpolationMethod )
1594 Q_ENUM( ShaderClassificationMethod )
1612 Q_ENUM( RasterPipeInterfaceRole )
1623 Q_ENUM( RasterResamplingStage )
1643 Q_ENUM( RasterResamplingMethod )
1652 InternalLayerOpacityHandling = 1 << 0,
1653 UseNoDataForOutOfRangePixels
1674 UsesMultipleBands = 1 << 0,
1676 Q_ENUM( RasterRendererCapability )
1700 Q_ENUM( RasterRangeLimit )
1715 Q_ENUM( RasterRangeExtent )
1729 Q_ENUM( RasterRangeAccuracy )
1758 Q_ENUM( RasterAttributeTableFieldUsage )
1770 Q_ENUM( RasterAttributeTableType )
1783 Q_ENUM( RasterExportType )
1794 SourceProviderError = 1,
1796 CreateDatasourceError = 3,
1801 Q_ENUM( RasterFileWriterResult )
1812 TooManyVerticesInFace,
1818 Q_ENUM( MeshEditingErrorType )
1830 Q_ENUM( FilePathType )
1840 AskExcludingRasterBands,
1844 Q_ENUM( SublayerPromptMode )
1861 Q_ENUM( FieldOrigin )
1873 NotSearchable = 1 << 1,
1874 HideFromWms = 1 << 2,
1875 HideFromWfs = 1 << 3,
1877 Q_ENUM( FieldConfigurationFlag )
1896 GeometryCrs = 0x1000,
1897 GeometryWkbType = 0x1001,
1898 CustomProperty = 0x100000,
1900 Q_ENUM( FieldMetadataProperty )
1913 Q_ENUM( SelectionRenderingMode )
1925 RemoveFromSelection,
1927 Q_ENUM( SelectBehavior )
1939 Q_ENUM( SelectGeometryRelationship )
1948 SingleFeatureSelection = 1 << 0,
1949 ToggleSelection = 1 << 1,
1972 FetchFeatureFailed = 3,
1975 Q_ENUM( VectorEditResult )
1984 SemiTransparentCircle,
1988 Q_ENUM( VertexMarkerType )
2002 Q_ENUM( ContentStatus )
2016 Q_ENUM( GpsConnectionType )
2029 Q_ENUM( DeviceConnectionStatus )
2084 Q_ENUM( GpsQualityIndicator )
2109 GroundSpeed = 1 << 2,
2111 TotalTrackLength = 1 << 4,
2112 TrackDistanceFromStart = 1 << 5,
2116 HorizontalAccuracy = 1 << 9,
2117 VerticalAccuracy = 1 << 10,
2118 HvAccuracy = 1 << 11,
2119 SatellitesUsed = 1 << 12,
2120 Timestamp = 1 << 13,
2121 TrackStartTime = 1 << 14,
2122 TrackEndTime = 1 << 15,
2123 TrackDistanceSinceLastPoint = 1 << 16,
2124 TrackTimeSinceLastPoint = 1 << 17,
2125 GeoidalSeparation = 1 << 18,
2126 EllipsoidAltitude = 1 << 19,
2164 QuoteFilePaths = 1 << 0,
2182 Q_ENUM( GpsFeatureType )
2194 NothingHappened = 1000,
2195 InvalidBaseGeometry,
2196 InvalidInputGeometryType,
2198 SelectionIsGreaterThanOne,
2199 GeometryEngineError,
2202 AddPartSelectedGeometryNotFound,
2203 AddPartNotMultiGeometry,
2207 AddRingCrossesExistingRings,
2208 AddRingNotInExistingFeature,
2210 SplitCannotSplitPoint,
2211 GeometryTypeHasChanged,
2213 Q_ENUM( GeometryOperationResult )
2240 Q_ENUM( GeometryValidationEngine )
2252 Q_ENUM( BufferSide )
2265 Q_ENUM( EndCapStyle )
2289 CylindersAndSpheres,
2291 Q_ENUM( JoinStyle3D )
2303 Q_ENUM( GeometryBackend )
2312 RejectOnInvalidSubGeometry = 1 << 0,
2313 SkipEmptyInteriorRings = 1 << 1,
2315 Q_ENUM( GeosCreationFlag )
2336 Q_ENUM( CoverageValidityResult )
2348 Q_ENUM( MakeValidMethod )
2361 SubsetOfAttributes = 2,
2363 IgnoreStaticNodesDuringExpressionCompilation
2365 EmbeddedSymbols = 16,
2367 Q_ENUM( FeatureRequestFlag )
2393 Q_ENUM( FeatureRequestFilterType )
2408 Q_ENUM( InvalidGeometryCheck )
2421 Q_ENUM( SpatialFilterType )
2430 IncludeMetadataFile = 1 << 0,
2431 IncludeStyleFile = 1 << 1,
2445 UsersCannotToggleEditing
2447 IsBasemapLayer = 1 << 1,
2448 Is3DBasemapLayer = 1 << 2,
2466 Q_ENUM( AutoRefreshMode )
2475 IsBasemapSource = 1 << 1,
2476 FastExtent2D = 1 << 2,
2477 FastExtent3D = 1 << 3,
2478 Is3DBasemapSource = 1 << 4,
2560 Q_ENUM( CrsAxisDirection )
2573 Q_ENUM( CoordinateOrder )
2588 Q_ENUM( CrsIdentifierType )
2605 WKT2_2015_SIMPLIFIED
2613 = Wkt2_2019Simplified,
2616 Q_ENUM( CrsWktVariant )
2626 PromptUserForCrs = 1,
2630 Q_ENUM( UnknownLayerCrsBehavior )
2652 ScaleDependentBoundingBox = 1 << 0,
2653 SupportsReferenceScale = 1 << 1,
2654 SupportsCallouts = 1 << 2,
2672 Q_ENUM( AnnotationPlacementMode )
2681 FlagNoCreationTools = 1 << 0,
2698 Q_ENUM( AnnotationItemNodeType )
2711 Q_ENUM( AnnotationItemEditOperationResult )
2727 Q_ENUM( TemporalNavigationMode )
2742 Q_ENUM( AnimationState )
2759 Q_ENUM( PlaybackOperation )
2777 Q_ENUM( VectorTemporalMode )
2786 IncludeBeginExcludeEnd = 0,
2787 IncludeBeginIncludeEnd,
2789 Q_ENUM( VectorTemporalLimitMode )
2802 Q_ENUM( VectorDataProviderTemporalMode )
2815 FixedRangePerBand = 3,
2816 RepresentsTemporalValues = 4,
2819 Q_ENUM( RasterTemporalMode )
2828 MatchUsingWholeRange,
2829 MatchExactUsingStartOfRange,
2830 MatchExactUsingEndOfRange,
2831 FindClosestMatchToStartOfRange,
2832 FindClosestMatchToEndOfRange
2834 Q_ENUM( TemporalIntervalMatchMethod )
2843 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges
2846 Q_ENUM( RasterTemporalCapabilityFlag )
2866 Q_ENUM( TransformDirection )
2875 BallparkTransformsAreAppropriate
2877 IgnoreImpossibleTransformations
2880 Q_ENUM( CoordinateTransformationFlag )
2901 Q_ENUM( RasterizedRenderingPolicy )
2910 Antialiasing = 0x01,
2911 DrawEditingInfo = 0x02,
2912 ForceVectorOutput = 0x04,
2913 UseAdvancedEffects = 0x08,
2914 DrawLabeling = 0x10,
2915 UseRenderingOptimization = 0x20,
2916 DrawSelection = 0x40,
2917 DrawSymbolBounds = 0x80,
2918 RenderMapTile = 0x100,
2919 RenderPartialOutput = 0x200,
2920 RenderPreviewJob = 0x400,
2921 RenderBlocking = 0x800,
2922 LosslessImageRendering
2924 Render3DMap = 0x2000,
2925 HighQualityImageTransforms = 0x4000,
2926 SkipSymbolRendering = 0x8000,
2927 ForceRasterMasks = 0x10000,
2928 RecordProfile = 0x20000,
2929 AlwaysUseGlobalMasks
2931 DrawLabelSelection = 0x80000
2945 DrawEditingInfo = 0x01,
2946 ForceVectorOutput = 0x02,
2947 UseAdvancedEffects = 0x04,
2948 UseRenderingOptimization = 0x08,
2949 DrawSelection = 0x10,
2950 DrawSymbolBounds = 0x20,
2951 RenderMapTile = 0x40,
2952 Antialiasing = 0x80,
2953 RenderPartialOutput = 0x100,
2954 RenderPreviewJob = 0x200,
2955 RenderBlocking = 0x400,
2956 RenderSymbolPreview = 0x800,
2957 LosslessImageRendering = 0x1000,
2958 ApplyScalingWorkaroundForTextRendering = 0x2000,
2959 Render3DMap = 0x4000,
2960 ApplyClipAfterReprojection = 0x8000,
2961 RenderingSubSymbol = 0x10000,
2962 HighQualityImageTransforms = 0x20000,
2963 SkipSymbolRendering = 0x40000,
2964 RecordProfile = 0x80000,
2965 AlwaysUseGlobalMasks = 0x100000,
2966 DisableSymbolClippingToExtent = 0x200000,
2967 RenderLayerTree = 0x400000,
2968 DrawLabelSelection = 0x800000
2982 RenderPartialOutputs = 1 << 0,
2983 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2984 AffectsLabeling = 1 << 2,
2986 Q_ENUM( MapLayerRendererFlag )
3003 RequiresRasterization = 1 << 0,
3005 Q_ENUM( PaintEffectFlag )
3025 TextFormatAlwaysOutlines
3028 TextFormatAlwaysText
3032 Q_ENUM( TextRenderFormat )
3043 UseAllLabels = 1 << 1,
3044 UsePartialCandidates = 1 << 2,
3046 RenderOutlineLabels = 1 << 3,
3047 DrawLabelRectOnly = 1 << 4,
3048 DrawCandidates = 1 << 5,
3049 DrawUnplacedLabels = 1 << 6,
3050 CollectUnplacedLabels = 1 << 7,
3051 DrawLabelMetrics = 1 << 8,
3052 IgnoreObstacles = 1 << 9,
3053 SingleCandidateOnly = 1 << 10,
3054 IgnoreOverlaps = 1 << 11,
3055 DisableSearchTree = 1 << 12,
3057 Q_ENUM( LabelingFlag )
3081 Q_ENUM( LabelPlacementEngineVersion )
3096 Q_ENUM( TextOrientation )
3110 RectangleCapHeightBased,
3111 RectangleAscentBased,
3113 Q_ENUM( TextLayoutMode )
3126 Background = 1 << 2,
3129 Q_ENUM( TextComponent )
3153 Q_ENUM( TextHorizontalAlignment )
3171 Q_ENUM( TextVerticalAlignment )
3187 Q_ENUM( TextCharacterVerticalAlignment )
3196 TruncateStringWhenLineIsTooShort = 1 << 0,
3197 UseBaselinePlacement = 1 << 1,
3198 UprightCharactersOnly = 1 << 2,
3199 ExtendLineToFitText = 1 << 3,
3201 Q_ENUM( CurvedTextFlag )
3222 SnappedToGridGlobal = 3,
3224 Q_ENUM( VectorSimplificationAlgorithm )
3235 NoSimplification = 0,
3236 GeometrySimplification = 1,
3237 AntialiasingSimplification = 2,
3238 FullSimplification = 3,
3240 Q_ENUM( VectorRenderingSimplificationFlag )
3264 Q_ENUM( RenderSubcomponentProperty )
3276 Q_ENUM( SelectiveMaskSourceType )
3288 Q_ENUM( VertexType )
3304 EquilateralTriangle,
3337 Q_ENUM( MarkerShape )
3350 LastVertex = 1 << 2,
3351 FirstVertex = 1 << 3,
3352 CentralPoint = 1 << 4,
3353 CurvePoint = 1 << 5,
3354 SegmentCenter = 1 << 6,
3355 InnerVertices = 1 << 7,
3357 Q_ENUM( MarkerLinePlacement )
3368 IntervalCartesian2D = 1 << 0,
3373 Q_ENUM( LinearReferencingPlacement )
3382 CartesianDistance2D,
3386 Q_ENUM( LinearReferencingLabelSource )
3400 Q_ENUM( GradientColorSource )
3415 Q_ENUM( GradientType )
3429 Q_ENUM( SymbolCoordinateReference )
3445 Q_ENUM( GradientSpread )
3459 Q_ENUM( PointCountMethod )
3473 Q_ENUM( MarkerClipMode )
3486 Q_ENUM( LineClipMode )
3501 Q_ENUM( DashPatternLineEndingRule )
3510 ScaleBothDashAndGap,
3514 Q_ENUM( DashPatternSizeAdjustment )
3528 Q_ENUM( GraduatedMethod )
3543 Q_ENUM( PlotAxisSuffixPlacement )
3556 Q_ENUM( PlotAxisType )
3569 Q_ENUM( PieChartLabelType )
3595 Q_ENUM( TilePixelRatio )
3611 ForceFirstLetterToCapital = 4,
3614 UpperCamelCase = 1005,
3615 AllSmallCaps = 1006,
3617 Q_ENUM( Capitalization )
3628 Q_ENUM( TextRendererFlag )
3655 Q_ENUM( AngularDirection )
3668 Q_ENUM( RendererUsage )
3677 ShowMainAnnotationLayer = 1 << 0,
3679 Q_ENUM( MapCanvasFlag )
3696 Sync3DTo2D = 1 << 0,
3697 Sync2DTo3D = 1 << 1,
3699 Q_ENUM( ViewSyncModeFlag )
3710 WhenOutsideVisibleExtent,
3713 Q_ENUM( MapRecenteringMode )
3722 LocalProfile = 1 << 0,
3725 Q_ENUM( HistoryProviderBackend )
3739 Q_ENUM( QueryStorageBackend )
3765 Q_ENUM( ProcessingSourceType )
3816 SecurityRisk = 1 << 15,
3838 RegeneratesPrimaryKey = 1 << 0,
3839 RegeneratesPrimaryKeyInSomeScenarios = 1 << 1,
3840 RespectsEllipsoid = 1 << 2,
3842 Q_ENUM( ProcessingAlgorithmDocumentationFlag )
3865 Q_ENUM( ProcessingPropertyAvailability )
3880 Q_ENUM( ProcessingLogLevel )
3895 Q_ENUM( ProcessingMode )
3911 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
3934 Q_ENUM( ProcessingFeatureSourceFlag )
3960 Q_ENUM( ProcessingParameterTypeFlag )
3989 Q_ENUM( ProcessingParameterFlag )
4013 Q_ENUM( ProcessingFileParameterBehavior )
4027 Q_ENUM( ProcessingNumberParameterType )
4045 Q_ENUM( ProcessingFieldParameterDataType )
4060 Q_ENUM( ProcessingDateTimeParameterDataType )
4076 Q_ENUM( ProcessingModelChildParameterSource )
4089 Q_ENUM( ProcessingModelChildAlgorithmExecutionStatus )
4104 Q_ENUM( ProcessingTinInputLayerType )
4116 Q_ENUM( CrsDefinitionFormat )
4133 Q_ENUM( FieldDomainSplitPolicy )
4154 Q_ENUM( FieldDomainMergePolicy )
4169 Q_ENUM( FieldDuplicatePolicy )
4182 Q_ENUM( FieldDomainType )
4192 AutomaticGroups = 1,
4195 Q_ENUM( TransactionMode )
4208 Q_ENUM( AltitudeClamping )
4220 Q_ENUM( AltitudeBinding )
4230 IncludeLowerExcludeUpper,
4231 ExcludeLowerIncludeUpper,
4234 Q_ENUM( RangeLimits )
4243 FixedElevationRange = 0,
4244 RepresentsElevationSurface = 1,
4245 FixedRangePerBand = 2,
4246 DynamicRangePerBand = 3,
4248 Q_ENUM( RasterElevationMode )
4257 FixedElevationRange = 0,
4259 FixedRangePerGroup = 2,
4261 Q_ENUM( MeshElevationMode )
4274 Q_ENUM( BetweenLineConstraint )
4287 Q_ENUM( LineExtensionSide )
4304 Q_ENUM( CadConstraintType )
4316 Q_ENUM( CadMeasurementDisplayType )
4325 EvaluateDefaultValuesOnProviderSide = 1 << 0,
4326 TrustStoredLayerStatistics
4328 RememberLayerEditStatusBetweenSessions = 1 << 2,
4329 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
4331 Q_ENUM( ProjectFlag )
4342 ShowContextMenu = 1 << 0,
4344 Q_ENUM( PlotToolFlag )
4357 ShowTerrainBoundingBoxes = 1 << 0,
4358 ShowTerrainTileInfo = 1 << 1,
4359 ShowCameraViewCenter = 1 << 2,
4360 ShowCameraRotationCenter = 1 << 3,
4361 ShowLightSourceOrigins = 1 << 4,
4363 ShowDebugPanel = 1 << 6,
4365 Q_ENUM( Map3DDebugFlag )
4379 Q_ENUM( Map3DProjectionType )
4400 Q_ENUM( Point3DShape )
4416 TrianglesWithFixedTexture,
4418 TrianglesDataDefined,
4421 Q_ENUM( MaterialRenderingTechnique )
4430 DataDefinedScale = 1 << 0,
4431 DataDefinedRotation = 1 << 1,
4433 Q_ENUM( InstancedMaterialFlag )
4447 Q_ENUM( BillboardScaleMode )
4462 Q_ENUM( TextureFilterQuality )
4477 Q_ENUM( ShadowQuality )
4490 Q_ENUM( LightSourceType )
4499 FixedGradientBackground,
4500 DistinctTextureSkybox,
4502 Q_ENUM( Map3DBackgroundType )
4515 LeftHandedYUpMirrored,
4517 Q_ENUM( SkyboxCubeMapping )
4530 Q_ENUM( NavigationMode )
4551 WhenRotatingDragging = 1 << 0,
4552 WhenRotatingCaptured = 1 << 1,
4553 WhenPivoting = 1 << 2,
4557 Never = WhenRotatingDragging | WhenRotatingCaptured | WhenPivoting,
4558 WhenDragging = WhenRotatingCaptured | WhenPivoting,
4559 Always = WhenPivoting,
4561 Q_ENUM( VerticalAxisInversion )
4576 Q_ENUM( ToneMappingMethod )
4588 Q_ENUM( Export3DSceneFormat )
4623 TriangulatedSurface,
4634 RespectsMaximumErrorMapUnit = 1 << 0,
4635 RespectsDistanceRange = 1 << 1,
4636 RespectsElevationRange = 1 << 2,
4638 Q_ENUM( ProfileGeneratorFlag )
4651 DistanceVsElevationTable,
4665 Q_ENUM( PointCloudSymbol )
4678 Q_ENUM( PointCloudDrawOrder )
4690 AvoidIntersectionsCurrentLayer,
4691 AvoidIntersectionsLayers,
4693 Q_ENUM( AvoidIntersectionsMode )
4707 Q_ENUM( ProjectFileFormat )
4726 DontLoadProjectStyles = 1 << 5,
4727 ForceReadOnlyLayers = 1 << 6,
4728 DontUpgradeAnnotations = 1 << 7,
4730 Q_ENUM( ProjectReadFlag )
4752 ProjectStyles = 1 << 0,
4754 Q_ENUM( ProjectCapability )
4779 Q_ENUM( MapBoxGlStyleSourceType )
4799 Q_ENUM( ArcGisRestServiceType )
4819 Q_ENUM( ArcGisRestServiceCapability )
4841 Q_ENUM( RelationshipType )
4855 Q_ENUM( RelationshipStrength )
4869 Q_ENUM( RelationshipCardinality )
4878 MultipleFieldKeys = 1 << 0,
4879 ForwardPathLabel = 1 << 1,
4880 BackwardPathLabel = 1 << 2,
4882 Q_ENUM( RelationshipCapability )
4903 Q_ENUM( CoordinateDisplayType )
4916 Q_ENUM( SettingsOrigin )
4937 Q_ENUM( ScriptLanguage )
4949 CheckSyntax = 1 << 1,
4950 ToggleComment = 1 << 2,
4952 Q_ENUM( ScriptLanguageCapability )
4969 AboveInsertionPoint,
4971 OptimalInInsertionGroup,
4973 Q_ENUM( LayerTreeInsertionMethod )
4982 LayerProperties = 0,
4986 Q_ENUM( LegendLayerDoubleClickAction )
4995 SkipVisibilityCheck = 1 << 0,
4997 Q_ENUM( LayerTreeFilterFlag )
5014 ExcludeByDefault = 1 << 0,
5016 Q_ENUM( MapLayerLegendFlag )
5044 Q_ENUM( LegendComponent )
5057 Q_ENUM( LegendSyncMode )
5068 ShowRuleDetails = 1 << 0,
5070 Q_ENUM( LegendJsonRenderFlag )
5086 Q_ENUM( GeoJsonProfile )
5101 Q_ENUM( ActionType )
5113 SingleFeature = 1 << 1,
5114 MultipleFeatures = 1 << 2,
5115 AllActions = Layer | SingleFeature | MultipleFeatures
5117 Q_ENUM( MapLayerActionTarget )
5138 EnabledOnlyWhenEditable = 1 << 1,
5139 EnableOnlyWhenHasGeometry = 1 << 2,
5141 Q_ENUM( MapLayerActionFlag )
5171 Q_ENUM( AttributeActionType )
5185 Q_ENUM( MetadataDateType )
5200 Q_ENUM( AcademicReferenceType )
5231 ContinuousPalette = 17,
5254 Q_ENUM( RasterColorInterpretation )
5270 Q_ENUM( RasterLayerType )
5283 SingleBandPseudoColor,
5285 PalettedSingleBandGray,
5286 PalettedSingleBandPseudoColor,
5287 PalettedMultiBandColor,
5288 MultiBandSingleBandGray,
5289 MultiBandSingleBandPseudoColor,
5293 Q_ENUM( RasterDrawingStyle )
5308 Q_ENUM( RasterPyramidFormat )
5323 Q_ENUM( RasterBuildPyramidOption )
5340 Q_ENUM( RasterIdentifyFormat )
5359 BuildPyramids = 1 << 4,
5361 IdentifyValue = 1 << 6,
5362 IdentifyText = 1 << 7,
5363 IdentifyHtml = 1 << 8,
5364 IdentifyFeature = 1 << 9,
5367 Q_ENUM( RasterInterfaceCapability )
5388 NoProviderCapabilities = 0,
5389 ReadLayerMetadata = 1 << 1,
5390 WriteLayerMetadata = 1 << 2,
5391 ProviderHintBenefitsFromResampling = 1 << 3,
5392 ProviderHintCanPerformProviderResampling = 1 << 4,
5393 ReloadData = 1 << 5,
5394 DpiDependentData = 1 << 6,
5395 NativeRasterAttributeTable = 1 << 7,
5396 BuildPyramids = 1 << 8,
5398 Q_ENUM( RasterProviderCapability )
5420 Q_ENUM( ElevationMapCombineMethod )
5473 Q_ENUM( SystemOfMeasurement )
5487 Q_ENUM( MapToolUnit )
5525 ChainsInternational,
5526 ChainsBritishBenoit1895A,
5527 ChainsBritishBenoit1895B,
5528 ChainsBritishSears1922Truncated,
5529 ChainsBritishSears1922,
5534 FeetBritishBenoit1895A,
5535 FeetBritishBenoit1895B,
5536 FeetBritishSears1922Truncated,
5537 FeetBritishSears1922,
5546 LinksBritishBenoit1895A,
5547 LinksBritishBenoit1895B,
5548 LinksBritishSears1922Truncated,
5549 LinksBritishSears1922,
5552 YardsBritishBenoit1895A,
5553 YardsBritishBenoit1895B,
5554 YardsBritishSears1922Truncated,
5555 YardsBritishSears1922,
5566 Q_ENUM( DistanceUnit )
5581 Q_ENUM( DistanceUnitType )
5629 Q_ENUM( VolumeUnit )
5663 MetersPerSecond = 0,
5670 Q_ENUM( WindSpeedUnit )
5694 Q_ENUM( TemporalUnit )
5714 Q_ENUM( RenderUnit )
5734 Q_ENUM( LayoutUnit )
5748 Q_ENUM( LayoutUnitType )
5776 LimitCoverageLayerRenderToCurrentFeature = 1 << 13,
5778 Q_ENUM( LayoutRenderFlag )
5803 Q_ENUM( PictureFormat )
5818 Q_ENUM( ScaleCalculationMethod )
5833 Q_ENUM( ScaleBarAlignment )
5847 Q_ENUM( ScaleBarSegmentSizeMode )
5861 Q_ENUM( ScaleBarDistanceLabelVerticalPlacement )
5875 Q_ENUM( ScaleBarDistanceLabelHorizontalPlacement )
5890 DynamicPageSizeBased,
5892 Q_ENUM( MapGridUnit )
5908 Q_ENUM( MapGridStyle )
5924 Q_ENUM( MapGridComponentVisibility )
5938 Q_ENUM( MapGridAnnotationPosition )
5957 Q_ENUM( MapGridAnnotationDirection )
5972 DegreeMinuteNoSuffix,
5974 DegreeMinuteSecondNoSuffix,
5975 DegreeMinuteSecondPadded,
5978 Q_ENUM( MapGridAnnotationFormat )
5994 Q_ENUM( MapGridBorderSide )
6009 InteriorExteriorTicks,
6014 Q_ENUM( MapGridFrameStyle )
6025 OrthogonalTicks = 0,
6028 Q_ENUM( MapGridTickLengthMode )
6045 Q_ENUM( MapGridFrameSideFlag )
6069 Q_ENUM( MapGridAnnotationType )
6102 Q_ENUM( PostgresRelKind )
6111 SetFieldComment = 1 << 0,
6112 SetFieldAlias = 1 << 1,
6113 SetTableComment = 1 << 2,
6114 EditFieldDomain = 1 << 3,
6115 DeleteFieldDomain = 1 << 4,
6117 Q_ENUM( DatabaseProviderConnectionCapability2 )
6128 SetGeometryColumnName = 1 << 0,
6129 SetPrimaryKeyName = 1 << 1,
6131 Q_ENUM( DatabaseProviderTableImportCapability )
6142 SaveToDatabase = 1 << 1,
6143 LoadFromDatabase = 1 << 2,
6144 DeleteFromDatabase = 1 << 3
6161 Q_ENUM( UserProfileSelectionPolicy )
6182 Q_ENUM( AttributeEditorType )
6195 Q_ENUM( AttributeEditorContainerType )
6210 Q_ENUM( AttributeFormLayout )
6225 Q_ENUM( AttributeFormSuppression )
6241 Q_ENUM( AttributeFormPythonInitCodeSource )
6251 AllowedDefaultOn = 1,
6252 AllowedDefaultOff = 2,
6254 Q_ENUM( AttributeFormReuseLastValuePolicy )
6267 Q_ENUM( ExpressionType )
6282 Q_ENUM( FeatureSymbologyExport )
6291 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
6293 Q_ENUM( VectorTileProviderFlag )
6309 ReadLayerMetadata = 1 << 1,
6311 Q_ENUM( VectorTileProviderCapability )
6330 AvailableNoChildren,
6331 UseLowerZoomLevelTile,
6333 Q_ENUM( TileAvailability )
6342 ReadLayerMetadata = 1 << 1,
6344 Q_ENUM( TiledSceneProviderCapability )
6365 Q_ENUM( TiledSceneBoundingVolumeType )
6380 Q_ENUM( TileRefinementProcess )
6393 Q_ENUM( TileChildrenAvailability )
6402 NoHierarchyFetch = 1 << 0,
6404 Q_ENUM( TiledSceneRequestFlag )
6421 RequiresTextures = 1 << 0,
6422 ForceRasterRender = 1 << 1,
6423 RendersTriangles = 1 << 2,
6424 RendersLines = 1 << 3,
6426 Q_ENUM( TiledSceneRendererFlag )
6443 RA_NearestNeighbour = 0,
6456 Q_ENUM( GdalResampleAlgorithm )
6472 Q_ENUM( VsiHandlerType )
6496 MinimumPoint = 1 << 12,
6497 MaximumPoint = 1 << 13,
6499 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6501 AllNumeric = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
6502 Default = Count | Sum | Mean,
6504 Q_ENUM( ZonalStatistic )
6526 FailedToCreateField = 8,
6529 Q_ENUM( ZonalStatisticResult )
6555 StringMinimumLength,
6556 StringMaximumLength,
6560 StringConcatenateUnique
6572 CountMissing = 1 << 15,
6577 StDevSample = 1 << 5,
6584 FirstQuartile = 1 << 12,
6585 ThirdQuartile = 1 << 13,
6586 InterQuartileRange = 1 << 14,
6589 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
6614 All = Count | CountDistinct | CountMissing | Min | Max | Range,
6616 Q_ENUM( DateTimeStatistic )
6643 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
6645 Q_ENUM( StringStatistic )
6669 SumOfSquares = 1 << 6,
6670 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
6672 Q_ENUM( RasterBandStatistic )
6693 Q_ENUM( InterpolationSourceType )
6706 Q_ENUM( InterpolationValueSource )
6727 MultiDatastream = 1 << 0,
6728 SensingExtensionObservationsMeasurements = 1 << 1,
6729 SensingExtensionSampling = 1 << 2,
6730 SensingExtensionRelations = 1 << 3,
6768 PreparationProcedure,
6773 ObservationRelation,
6775 Q_ENUM( SensorThingsEntity )
6787 Q_ENUM( ColorModel )
6801 Q_ENUM( DocumentationApi )
6810 DeveloperToolsPanel,
6813 Q_ENUM( DocumentationBrowser )
6838 Q_ENUM( MouseHandlesAction )
6849 Q_ENUM( MeshRangeLimit )
6862 Q_ENUM( MeshRangeExtent )
6875 Q_ENUM( PointCloudAccessType )
6885 RenderOverviewAndExtents
6887 Q_ENUM( PointCloudZoomOutRenderBehavior )
6900 Q_ENUM( SegmentCalculationMethod )
6913 Q_ENUM( StacObjectType )
6924 Q_ENUM( RasterProcessingParameterCapability )
6939 Status = Qt::UserRole + 1,
6945 Q_ENUM( DevToolsNodeRole )
6959 Q_ENUM( ExtrusionFace )
6974 ConstrainedDelaunay = 0,
6977 Q_ENUM( TriangulationAlgorithm )
6995 Q_ENUM( WmsGroupRequestMode )
7004 RestorePreviousState,
7008 Q_ENUM( DockableWidgetInitialState )
7022 Q_ENUM( CoverageCleanOverlapMergeStrategy )
7031 RenderTextAsText = 1 << 0,
7033 Q_ENUM( PdfRenderFlag )
7058 Q_ENUM( WmsDimensionDefaultDisplay )
7077 Q_ENUM( RubberBandIconType )
7087 PreviewItems = 1 << 1,
7089 Q_ENUM( RubberBandComponent )
7109 Q_ENUM( UserInterfaceIconType )
7124 Q_ENUM( VectorFieldArrowScalingMethod )
7140 Q_ENUM( VectorFieldSymbology )
7154 Q_ENUM( VectorFieldSeedingMethod )
7165 LuWithSvdFallback = 2
7167 Q_ENUM( LinearMatrixMethod )
7351 return QStringLiteral(
7352 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]] )"""
7360 Q_DECL_DEPRECATED
static QString
geoProj4() {
return u
"+proj=longlat +datum=WGS84 +no_defs"_s; }
7472#define cast_to_fptr( f ) f
7492 , mPreviousState( object->blockSignals( true ) )
7501 Object *mObject =
nullptr;
7502 bool mPreviousState;
7524CORE_EXPORT
size_t qHash(
const QVariant &variant );
7536 if ( precision < 0 )
7538 const double roundFactor = std::pow( 10, -precision );
7539 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
7543 str = QString::number( a,
'f', precision );
7544 if ( str.contains(
'.'_L1 ) )
7547 int idx = str.length() - 1;
7548 while ( str.at( idx ) ==
'0' && idx > 1 )
7552 if ( idx < str.length() - 1 )
7553 str.truncate( str.at( idx ) ==
'.' ? idx : idx + 1 );
7559 str = QString::number( a,
'f', precision );
7563 if ( str ==
"-0"_L1 )
7581 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7596template<
typename T>
inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
7598 static_assert( std::is_floating_point<T>::value,
"qgsNumberNear requires floating-point types" );
7606 const T diff = a - b;
7607 if ( diff >= -epsilon && diff <= epsilon )
7611 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7624inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
7646 if ( a - b <= epsilon )
7650 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7673 if ( b - a <= epsilon )
7677 if ( std::isnan( a ) && std::isnan( b ) ) [[unlikely]]
7689inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
7697 const bool aIsNan = std::isnan( a );
7698 const bool bIsNan = std::isnan( b );
7699 if ( aIsNan || bIsNan )
7700 return aIsNan && bIsNan;
7708 const double ar = std::frexp( a, &aexp );
7709 const double br = std::frexp( b, &bexp );
7711 return aexp == bexp && std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
7720 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
7721 const double scaleFactor = std::pow( 10.0, places );
7722 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
7733template<
class Key,
class Value> QString
qgsMapJoinKeys(
const QMap<Key, Value> &map,
const QString &separator )
7736 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
7737 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
7739 result.chop( separator.size() );
7749template<
class Key,
class Value> QString
qgsMapJoinValues(
const QMap<Key, Value> &map,
const QString &separator )
7752 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
7753 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
7755 result.chop( separator.size() );
7765template<
class T> QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
7768 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
7769 result += QString(
"%1%2" ).arg( *it ).arg( separator );
7771 result.chop( separator.size() );
7801 template<
typename To,
typename From>
inline To down_cast( From *f )
7803 static_assert( ( std::is_base_of<From, typename std::remove_pointer<To>::type>::value ),
"target type not derived from source type" );
7804 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
7805 return static_cast<To
>( f );
7808 template<
class T> QSet<T> listToSet(
const QList<T> &list )
7810 return QSet<T>( list.begin(), list.end() );
7813 template<
class T> QList<T> setToList(
const QSet<T> &set )
7815 return QList<T>( set.begin(), set.end() );
7826 template<
typename To,
typename From>
inline std::unique_ptr<To> unique_ptr_static_cast( std::unique_ptr<From> f )
7828 static_assert( ( std::is_base_of<From, To>::value ),
"target type not derived from source type" );
7829 Q_ASSERT( !f ||
dynamic_cast<To *
>( f.get() ) !=
nullptr );
7830 return std::unique_ptr<To>(
static_cast<To *
>( f.release() ) );
7840 template<
typename To,
typename From>
inline std::unique_ptr<To> unique_ptr_dynamic_cast( std::unique_ptr<From> &&f )
7842 static_assert( ( std::is_base_of<From, To>::value ),
"target type not derived from source type" );
7843 if ( To *casted =
dynamic_cast<To *
>( f.get() ) )
7845 return std::unique_ptr< To >(
dynamic_cast<To *
>( f.release() ) );
7866 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7867 Q_ASSERT( metaEnum.isValid() );
7869 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
7871 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
7883 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7884 Q_ASSERT( metaEnum.isValid() );
7885 QMap<T, QString> enumMap;
7886 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
7888 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
7900 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7901 Q_ASSERT( metaEnum.isValid() );
7902 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
7905 *returnOk = key ? true :
false;
7907 return QString::fromUtf8( key );
7917template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
7919 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7920 Q_ASSERT( metaEnum.isValid() );
7922 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
7934 if ( tryValueAsKey )
7936 bool canConvert =
false;
7937 const int intValue = key.toInt( &canConvert );
7938 if ( canConvert && metaEnum.valueToKey( intValue ) )
7944 return static_cast<T
>( intValue );
7948 return defaultValue;
7958 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
7959 Q_ASSERT( metaEnum.isValid() );
7960 int intValue =
static_cast<int>( value );
7961 if ( intValue == 0 )
7968 const QByteArray ba = metaEnum.valueToKeys( intValue );
7971 const int intValueCheck = metaEnum.keysToValue( ba );
7972 bool ok = intValue == intValueCheck;
7975 return ok ? QString::fromUtf8( ba ) : QString();
7985template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
7987 if ( keys.isEmpty() )
7993 return defaultValue;
7995 else if ( keys ==
"0"_L1 )
8003 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
8004 Q_ASSERT( metaEnum.isValid() );
8006 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
8018 if ( tryValueAsKey )
8020 bool canConvert =
false;
8021 const int intValue = keys.toInt( &canConvert );
8024 const QByteArray keyArray = metaEnum.valueToKeys( intValue );
8025 const int intValueCheck = metaEnum.keysToValue( keyArray );
8026 if ( !keyArray.isEmpty() && intValue == intValueCheck )
8032 return T( intValue );
8037 return defaultValue;
8091CORE_EXPORT
int qgsVariantCompare(
const QVariant &lhs,
const QVariant &rhs,
bool strictTypeCheck =
false );
8113CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
8136inline bool operator>(
const QVariant &v1,
const QVariant &v2 )
8152inline bool operator<(
const QVariant &v1,
const QVariant &v2 )
8181class ScopedIntIncrementor
8184 ScopedIntIncrementor(
int *variable )
8185 : mVariable( variable )
8190 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
8191 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
8198 mVariable =
nullptr;
8201 ~ScopedIntIncrementor() { release(); }
8204 int *mVariable =
nullptr;
8244#if ( __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) ) || defined( __clang__ )
8246#define Q_NOWARN_DEPRECATED_PUSH _Pragma( "GCC diagnostic push" ) _Pragma( "GCC diagnostic ignored \"-Wdeprecated-declarations\"" );
8247#define Q_NOWARN_DEPRECATED_POP _Pragma( "GCC diagnostic pop" );
8248#define Q_NOWARN_UNREACHABLE_PUSH
8249#define Q_NOWARN_UNREACHABLE_POP
8251#elif defined( _MSC_VER )
8253#define Q_NOWARN_DEPRECATED_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4996 ) )
8254#define Q_NOWARN_DEPRECATED_POP __pragma( warning( pop ) )
8255#define Q_NOWARN_UNREACHABLE_PUSH __pragma( warning( push ) ) __pragma( warning( disable : 4702 ) )
8256#define Q_NOWARN_UNREACHABLE_POP __pragma( warning( pop ) )
8259#define Q_NOWARN_DEPRECATED_PUSH
8260#define Q_NOWARN_DEPRECATED_POP
8261#define Q_NOWARN_UNREACHABLE_PUSH
8262#define Q_NOWARN_UNREACHABLE_POP
8269#define QGISEXTERN extern "C" __declspec( dllexport )
8271#if defined( __GNUC__ ) || defined( __clang__ )
8272#define QGISEXTERN extern "C" __attribute__( ( visibility( "default" ) ) )
8274#define QGISEXTERN extern "C"
8282#define BUILTIN_UNREACHABLE __assume( false );
8283#elif defined( __GNUC__ ) && !defined( __clang__ )
8294#define BUILTIN_UNREACHABLE __builtin_unreachable();
8296#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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.