36int QgisEvent = QEvent::User + 1;
43#define QHASH_FOR_CLASS_ENUM(T) \
44 inline uint qHash(const T &t, uint seed) { \
45 return ::qHash(static_cast<typename std::underlying_type<T>::type>(t), seed); \
56 Q_CLASSINFO(
"RegisterEnumClassesUnscoped",
"false" )
65 static QString version();
72 static int versionInt();
79 static QString releaseName();
89 static QString devVersion();
106 Q_ENUM( MessageLevel )
139 HasGeometry = PointLayer | LineLayer | PolygonLayer,
140 VectorLayer = NoGeometry | HasGeometry,
144 VectorTileLayer = 256,
145 PointCloudLayer = 512,
146 AnnotationLayer = 1024,
147 TiledSceneLayer = 2048,
148 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
149 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
151 Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
152 Q_FLAG( LayerFilters )
191 GeometryCollection = 7,
203 MultiLineStringZ = 1005,
204 MultiPolygonZ = 1006,
205 GeometryCollectionZ = 1007,
206 CircularStringZ = 1008,
207 CompoundCurveZ = 1009,
208 CurvePolygonZ = 1010,
210 MultiSurfaceZ = 1012,
216 MultiLineStringM = 2005,
217 MultiPolygonM = 2006,
218 GeometryCollectionM = 2007,
219 CircularStringM = 2008,
220 CompoundCurveM = 2009,
221 CurvePolygonM = 2010,
223 MultiSurfaceM = 2012,
228 MultiLineStringZM = 3005,
229 MultiPolygonZM = 3006,
230 GeometryCollectionZM = 3007,
231 CircularStringZM = 3008,
232 CompoundCurveZM = 3009,
233 CurvePolygonZM = 3010,
235 MultiSurfaceZM = 3012,
237 Point25D = 0x80000001,
262 Q_ENUM( GeometryType )
284 ARGB32_Premultiplied = 13
300 Q_ENUM( CaptureTechnique )
311 Q_ENUM( VectorLayerTypeFlag )
313 Q_DECLARE_FLAGS( VectorLayerTypeFlags, VectorLayerTypeFlag )
314 Q_FLAG( VectorLayerTypeFlags )
328 Q_ENUM( PythonMacroMode )
340 Q_ENUM( FeatureCountState )
354 Q_ENUM( SpatialIndexPresence )
369 NoFeaturesAvailable = 0,
371 FeaturesMaybeAvailable
373 Q_ENUM( FeatureAvailability )
383 EditComment = 1 << 1,
386 Q_ENUM( VectorDataProviderAttributeEditCapability )
393 Q_DECLARE_FLAGS( VectorDataProviderAttributeEditCapabilities, VectorDataProviderAttributeEditCapability )
394 Q_FLAG( VectorDataProviderAttributeEditCapabilities )
419 Q_ENUM( ScaleMethod )
438 Q_ENUM( SettingsType )
450 Q_ENUM( SettingsTreeNodeType )
458 NamedListSelectedItemSetting = 1 << 0,
461 Q_ENUM( SettingsTreeNodeOption )
462 Q_DECLARE_FLAGS( SettingsTreeNodeOptions, SettingsTreeNodeOption )
463 Q_FLAG( SettingsTreeNodeOptions )
479 Q_ENUM( PropertyType )
492 Q_ENUM( SldExportOption )
493 Q_DECLARE_FLAGS( SldExportOptions, SldExportOption )
494 Q_FLAG( SldExportOptions )
503 NoVendorExtension = 0,
504 GeoServerVendorExtension = 1 << 1,
505 DeegreeVendorExtension = 1 << 2,
507 Q_ENUM( SldExportVendorExtension )
516 SaveFormerValue = 1 << 1,
517 SaveEnumFlagAsInt = 1 << 2,
519 Q_ENUM( SettingsOption )
520 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
521 Q_FLAG( SettingsOptions )
531 AdvancedConfiguration = 3,
533 Q_ENUM( SnappingMode )
549 Q_ENUM( SnappingType )
552 Q_FLAG( SnappingTypes )
563 Q_ENUM( SymbolRenderHint )
566 Q_FLAG( SymbolRenderHints )
578 Q_ENUM( SymbolRotationMode )
587 RendererShouldUseSymbolLevels = 1 << 0,
591 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
592 Q_FLAG( SymbolFlags )
601 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
603 Q_ENUM( SymbolPreviewFlag )
606 Q_FLAG( SymbolPreviewFlags )
619 DisableFeatureClipping = 1 << 0,
621 Q_ENUM( SymbolLayerFlag )
623 Q_DECLARE_FLAGS( SymbolLayerFlags, SymbolLayerFlag )
624 Q_FLAG( SymbolLayerFlags )
637 DisableSelectionRecoloring = 1 << 0,
639 Q_ENUM( SymbolLayerUserFlag )
646 Q_DECLARE_FLAGS( SymbolLayerUserFlags, SymbolLayerUserFlag )
647 Q_FLAG( SymbolLayerUserFlags )
666 Q_ENUM( BrowserItemType )
679 Q_ENUM( BrowserItemState )
695 ItemRepresentsFile = 1 << 6,
696 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
698 Q_ENUM( BrowserItemCapability )
701 Q_FLAG( BrowserItemCapabilities )
718 Q_ENUM( DataItemProviderCapability )
728 Q_FLAG( DataItemProviderCapabilities )
752 Q_ENUM( BrowserLayerType )
765 Q_ENUM( BrowserDirectoryMonitoring )
798 Q_ENUM( VectorExportResult )
806 FieldAliases = 1 << 0,
807 FieldComments = 1 << 2,
809 Q_ENUM( VectorFileWriterCapability )
815 Q_DECLARE_FLAGS( VectorFileWriterCapabilities, VectorFileWriterCapability )
816 Q_FLAG( VectorFileWriterCapabilities )
824 SubsetStringFilter = 1 << 1,
825 GeometryColumn = 1 << 2,
826 PrimaryKeys = 1 << 3,
827 UnstableFeatureIds = 1 << 4
829 Q_ENUM( SqlLayerDefinitionCapability )
831 Q_DECLARE_FLAGS( SqlLayerDefinitionCapabilities, SqlLayerDefinitionCapability )
832 Q_FLAG( SqlLayerDefinitionCapabilities )
851 Q_ENUM( SqlKeywordCategory )
879 Q_ENUM( ActionStart )
891 Q_ENUM( UnplacedLabelVisibility )
901 AllowOverlapIfRequired,
902 AllowOverlapAtNoCost,
904 Q_ENUM( LabelOverlapHandling )
921 OrderedPositionsAroundPoint,
925 Q_ENUM( LabelPlacement )
949 Q_ENUM( LabelPredefinedPointPosition )
964 Q_ENUM( LabelOffsetType )
985 Q_ENUM( LabelQuadrantPosition )
1000 Q_ENUM( LabelLinePlacementFlag )
1010 Q_FLAG( LabelLinePlacementFlags )
1020 AllowPlacementOutsideOfPolygon = 1 << 0,
1021 AllowPlacementInsideOfPolygon = 1 << 1,
1023 Q_ENUM( LabelPolygonPlacementFlag )
1031 Q_DECLARE_FLAGS( LabelPolygonPlacementFlags, LabelPolygonPlacementFlag )
1032 Q_FLAG( LabelPolygonPlacementFlags )
1047 Q_ENUM( UpsideDownLabelHandling )
1064 Q_ENUM( LabelMultiLineAlignment )
1082 Q_ENUM( FileFilterType )
1092 ResolveGeometryType = 1 << 1,
1093 CountFeatures = 1 << 2,
1094 IncludeSystemTables = 1 << 3,
1097 Q_DECLARE_FLAGS( SublayerQueryFlags, SublayerQueryFlag )
1098 Q_ENUM( SublayerQueryFlag )
1099 Q_FLAG( SublayerQueryFlags )
1108 SystemTable = 1 << 0,
1111 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1112 Q_ENUM( SublayerFlag )
1113 Q_FLAG( SublayerFlags )
1131 Q_ENUM( RasterPipeInterfaceRole )
1144 Q_ENUM( RasterResamplingStage )
1153 InternalLayerOpacityHandling = 1 << 0,
1161 Q_DECLARE_FLAGS( RasterRendererFlags, RasterRendererFlag )
1163 Q_ENUM( RasterRendererFlag )
1164 Q_FLAG( RasterRendererFlags )
1193 Q_ENUM( RasterAttributeTableFieldUsage )
1205 Q_ENUM( RasterAttributeTableType )
1218 Q_ENUM( RasterExportType )
1229 SourceProviderError = 1,
1231 CreateDatasourceError = 3,
1236 Q_ENUM( RasterFileWriterResult )
1247 TooManyVerticesInFace,
1253 Q_ENUM( MeshEditingErrorType )
1265 Q_ENUM( FilePathType )
1275 AskExcludingRasterBands,
1279 Q_ENUM( SublayerPromptMode )
1291 NotSearchable = 1 << 1,
1292 HideFromWms = 1 << 2,
1293 HideFromWfs = 1 << 3,
1295 Q_ENUM( FieldConfigurationFlag )
1304 Q_DECLARE_FLAGS( FieldConfigurationFlags, FieldConfigurationFlag )
1305 Q_FLAG( FieldConfigurationFlags )
1314 GeometryCrs = 0x1000,
1315 GeometryWkbType = 0x1001,
1316 CustomProperty = 0x100000,
1318 Q_ENUM( FieldMetadataProperty )
1331 Q_ENUM( SelectionRenderingMode )
1343 RemoveFromSelection,
1345 Q_ENUM( SelectBehavior )
1357 Q_ENUM( SelectGeometryRelationship )
1366 SingleFeatureSelection = 1 << 0,
1367 ToggleSelection = 1 << 1,
1375 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1377 Q_ENUM( SelectionFlag )
1378 Q_FLAG( SelectionFlags )
1390 FetchFeatureFailed = 3,
1393 Q_ENUM( VectorEditResult )
1402 SemiTransparentCircle,
1406 Q_ENUM( VertexMarkerType )
1420 Q_ENUM( ContentStatus )
1434 Q_ENUM( GpsConnectionType )
1447 Q_ENUM( DeviceConnectionStatus )
1502 Q_ENUM( GpsQualityIndicator )
1513 GroundSpeed = 1 << 2,
1515 TotalTrackLength = 1 << 4,
1516 TrackDistanceFromStart = 1 << 5,
1520 HorizontalAccuracy = 1 << 9,
1521 VerticalAccuracy = 1 << 10,
1522 HvAccuracy = 1 << 11,
1523 SatellitesUsed = 1 << 12,
1524 Timestamp = 1 << 13,
1525 TrackStartTime = 1 << 14,
1526 TrackEndTime = 1 << 15,
1527 TrackDistanceSinceLastPoint = 1 << 16,
1528 TrackTimeSinceLastPoint = 1 << 17,
1529 GeoidalSeparation = 1 << 18,
1530 EllipsoidAltitude = 1 << 19,
1538 Q_DECLARE_FLAGS( GpsInformationComponents, GpsInformationComponent )
1539 Q_ENUM( GpsInformationComponent )
1540 Q_FLAG( GpsInformationComponents )
1556 Q_DECLARE_FLAGS( BabelFormatCapabilities, BabelFormatCapability )
1557 Q_ENUM( BabelFormatCapability )
1558 Q_FLAG( BabelFormatCapabilities )
1568 QuoteFilePaths = 1 << 0,
1571 Q_DECLARE_FLAGS( BabelCommandFlags, BabelCommandFlag )
1572 Q_ENUM( BabelCommandFlag )
1573 Q_FLAG( BabelCommandFlags )
1586 Q_ENUM( GpsFeatureType )
1598 NothingHappened = 1000,
1599 InvalidBaseGeometry,
1600 InvalidInputGeometryType,
1602 SelectionIsGreaterThanOne,
1603 GeometryEngineError,
1606 AddPartSelectedGeometryNotFound,
1607 AddPartNotMultiGeometry,
1611 AddRingCrossesExistingRings,
1612 AddRingNotInExistingFeature,
1614 SplitCannotSplitPoint,
1615 GeometryTypeHasChanged,
1617 Q_ENUM( GeometryOperationResult )
1631 Q_FLAG( GeometryValidityFlags )
1642 Q_ENUM( GeometryValidationEngine )
1654 Q_ENUM( BufferSide )
1667 Q_ENUM( EndCapStyle )
1693 Q_ENUM( CoverageValidityResult )
1705 Q_ENUM( MakeValidMethod )
1718 SubsetOfAttributes = 2,
1720 IgnoreStaticNodesDuringExpressionCompilation = 8,
1721 EmbeddedSymbols = 16,
1723 Q_ENUM( FeatureRequestFlag )
1733 Q_FLAG( FeatureRequestFlags )
1749 Q_ENUM( FeatureRequestFilterType )
1764 Q_ENUM( InvalidGeometryCheck )
1777 Q_ENUM( SpatialFilterType )
1786 IncludeMetadataFile = 1 << 0,
1787 IncludeStyleFile = 1 << 1,
1790 Q_DECLARE_FLAGS( FileOperationFlags, FileOperationFlag )
1791 Q_ENUM( FileOperationFlag )
1792 Q_FLAG( FileOperationFlags )
1801 UsersCannotToggleEditing = 1 << 0,
1802 IsBasemapLayer = 1 << 1,
1805 Q_DECLARE_FLAGS( MapLayerProperties, MapLayerProperty )
1806 Q_ENUM( MapLayerProperty )
1807 Q_FLAG( MapLayerProperties )
1820 Q_ENUM( AutoRefreshMode )
1829 IsBasemapSource = 1 << 1,
1832 Q_DECLARE_FLAGS( DataProviderFlags, DataProviderFlag )
1833 Q_ENUM( DataProviderFlag )
1834 Q_FLAG( DataProviderFlags )
1911 Q_ENUM( CrsAxisDirection )
1924 Q_ENUM( CoordinateOrder )
1939 Q_ENUM( CrsIdentifierType )
1960 Q_ENUM( CrsWktVariant )
1982 ScaleDependentBoundingBox = 1 << 0,
1985 Q_DECLARE_FLAGS( AnnotationItemFlags, AnnotationItemFlag )
1986 Q_ENUM( AnnotationItemFlag )
1987 Q_FLAG( AnnotationItemFlags )
1996 FlagNoCreationTools = 1 << 0,
1999 Q_DECLARE_FLAGS( AnnotationItemGuiFlags, AnnotationItemGuiFlag )
2000 Q_ENUM( AnnotationItemGuiFlag )
2001 Q_FLAG( AnnotationItemGuiFlags )
2012 Q_ENUM( AnnotationItemNodeType )
2025 Q_ENUM( AnnotationItemEditOperationResult )
2041 Q_ENUM( TemporalNavigationMode )
2056 Q_ENUM( AnimationState )
2073 Q_ENUM( PlaybackOperation )
2089 Q_ENUM( VectorTemporalMode )
2098 IncludeBeginExcludeEnd = 0,
2099 IncludeBeginIncludeEnd,
2101 Q_ENUM( VectorTemporalLimitMode )
2112 StoresFeatureDateTimeStartAndEndInSeparateFields
SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2114 Q_ENUM( VectorDataProviderTemporalMode )
2127 Q_ENUM( RasterTemporalMode )
2136 MatchUsingWholeRange,
2137 MatchExactUsingStartOfRange,
2138 MatchExactUsingEndOfRange,
2139 FindClosestMatchToStartOfRange,
2140 FindClosestMatchToEndOfRange
2142 Q_ENUM( TemporalIntervalMatchMethod )
2151 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2153 Q_ENUM( RasterTemporalCapabilityFlag )
2160 Q_DECLARE_FLAGS( RasterTemporalCapabilityFlags, RasterTemporalCapabilityFlag )
2161 Q_FLAG( RasterTemporalCapabilityFlags )
2173 Q_ENUM( TransformDirection )
2182 BallparkTransformsAreAppropriate = 1 << 0,
2183 IgnoreImpossibleTransformations = 1 << 1,
2185 Q_ENUM( CoordinateTransformationFlag )
2192 Q_DECLARE_FLAGS( CoordinateTransformationFlags, CoordinateTransformationFlag )
2193 Q_FLAG( CoordinateTransformationFlags )
2202 Antialiasing = 0x01,
2203 DrawEditingInfo = 0x02,
2204 ForceVectorOutput = 0x04,
2205 UseAdvancedEffects = 0x08,
2206 DrawLabeling = 0x10,
2207 UseRenderingOptimization = 0x20,
2208 DrawSelection = 0x40,
2209 DrawSymbolBounds = 0x80,
2210 RenderMapTile = 0x100,
2211 RenderPartialOutput = 0x200,
2212 RenderPreviewJob = 0x400,
2213 RenderBlocking = 0x800,
2214 LosslessImageRendering = 0x1000,
2215 Render3DMap = 0x2000,
2216 HighQualityImageTransforms = 0x4000,
2217 SkipSymbolRendering = 0x8000,
2218 ForceRasterMasks = 0x10000,
2219 RecordProfile = 0x20000,
2224 Q_FLAG( MapSettingsFlags )
2233 DrawEditingInfo = 0x01,
2234 ForceVectorOutput = 0x02,
2235 UseAdvancedEffects = 0x04,
2236 UseRenderingOptimization = 0x08,
2237 DrawSelection = 0x10,
2238 DrawSymbolBounds = 0x20,
2239 RenderMapTile = 0x40,
2240 Antialiasing = 0x80,
2241 RenderPartialOutput = 0x100,
2242 RenderPreviewJob = 0x200,
2243 RenderBlocking = 0x400,
2244 RenderSymbolPreview = 0x800,
2245 LosslessImageRendering = 0x1000,
2246 ApplyScalingWorkaroundForTextRendering = 0x2000,
2247 Render3DMap = 0x4000,
2248 ApplyClipAfterReprojection = 0x8000,
2249 RenderingSubSymbol = 0x10000,
2250 HighQualityImageTransforms = 0x20000,
2251 SkipSymbolRendering = 0x40000,
2252 RecordProfile = 0x80000,
2257 Q_FLAG( RenderContextFlags )
2266 RenderPartialOutputs = 1 << 0,
2267 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2269 Q_ENUM( MapLayerRendererFlag )
2276 Q_DECLARE_FLAGS( MapLayerRendererFlags, MapLayerRendererFlag )
2277 Q_FLAG( MapLayerRendererFlags )
2291 Q_ENUM( TextRenderFormat )
2302 UseAllLabels = 1 << 1,
2303 UsePartialCandidates = 1 << 2,
2305 RenderOutlineLabels = 1 << 3,
2306 DrawLabelRectOnly = 1 << 4,
2307 DrawCandidates = 1 << 5,
2308 DrawUnplacedLabels = 1 << 6,
2309 CollectUnplacedLabels = 1 << 7,
2310 DrawLabelMetrics = 1 << 8,
2312 Q_ENUM( LabelingFlag )
2322 Q_FLAG( LabelingFlags )
2336 Q_ENUM( LabelPlacementEngineVersion )
2351 Q_ENUM( TextOrientation )
2365 RectangleCapHeightBased,
2366 RectangleAscentBased,
2368 Q_ENUM( TextLayoutMode )
2384 Q_ENUM( TextComponent )
2400 Q_ENUM( TextHorizontalAlignment )
2418 Q_ENUM( TextVerticalAlignment )
2434 Q_ENUM( TextCharacterVerticalAlignment )
2448 Q_ENUM( RenderSubcomponentProperty )
2459 Q_ENUM( VertexType )
2475 EquilateralTriangle,
2508 Q_ENUM( MarkerShape )
2521 LastVertex = 1 << 2,
2522 FirstVertex = 1 << 3,
2523 CentralPoint = 1 << 4,
2524 CurvePoint = 1 << 5,
2525 SegmentCenter = 1 << 6,
2526 InnerVertices = 1 << 7,
2528 Q_ENUM( MarkerLinePlacement )
2529 Q_DECLARE_FLAGS( MarkerLinePlacements, MarkerLinePlacement )
2530 Q_FLAG( MarkerLinePlacements )
2544 Q_ENUM( GradientColorSource )
2559 Q_ENUM( GradientType )
2573 Q_ENUM( SymbolCoordinateReference )
2589 Q_ENUM( GradientSpread )
2603 Q_ENUM( PointCountMethod )
2617 Q_ENUM( MarkerClipMode )
2630 Q_ENUM( LineClipMode )
2645 Q_ENUM( DashPatternLineEndingRule )
2654 ScaleBothDashAndGap,
2658 Q_ENUM( DashPatternSizeAdjustment )
2672 Q_ENUM( GraduatedMethod )
2687 Q_ENUM( PlotAxisSuffixPlacement )
2713 Q_ENUM( TilePixelRatio )
2729 ForceFirstLetterToCapital = 4,
2732 UpperCamelCase = 1005,
2733 AllSmallCaps = 1006,
2735 Q_ENUM( Capitalization )
2746 Q_ENUM( TextRendererFlag )
2747 Q_DECLARE_FLAGS( TextRendererFlags, TextRendererFlag )
2748 Q_FLAG( TextRendererFlags )
2773 Q_ENUM( AngularDirection )
2786 Q_ENUM( RendererUsage )
2795 Sync3DTo2D = 1 << 0,
2796 Sync2DTo3D = 1 << 1,
2798 Q_ENUM( ViewSyncModeFlag )
2799 Q_DECLARE_FLAGS( ViewSyncModeFlags, ViewSyncModeFlag )
2809 WhenOutsideVisibleExtent,
2812 Q_ENUM( MapRecenteringMode )
2821 LocalProfile = 1 << 0,
2824 Q_ENUM( HistoryProviderBackend )
2825 Q_DECLARE_FLAGS( HistoryProviderBackends, HistoryProviderBackend )
2826 Q_FLAG( HistoryProviderBackends )
2851 Q_ENUM( ProcessingSourceType )
2876 Q_FLAG( ProcessingProviderFlags )
2913 Q_FLAG( ProcessingAlgorithmFlags )
2928 Q_ENUM( ProcessingPropertyAvailability )
2943 Q_ENUM( ProcessingLogLevel )
2957 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
2967 Q_FLAG( ProcessingFeatureSourceDefinitionFlags )
2980 Q_ENUM( ProcessingFeatureSourceFlag )
2990 Q_FLAG( ProcessingFeatureSourceFlags )
3006 Q_ENUM( ProcessingParameterTypeFlag )
3019 Q_FLAG( ProcessingParameterTypeFlags )
3035 Q_ENUM( ProcessingParameterFlag )
3045 Q_FLAG( ProcessingParameterFlags )
3059 Q_ENUM( ProcessingFileParameterBehavior )
3073 Q_ENUM( ProcessingNumberParameterType )
3091 Q_ENUM( ProcessingFieldParameterDataType )
3106 Q_ENUM( ProcessingDateTimeParameterDataType )
3122 Q_ENUM( ProcessingModelChildParameterSource )
3137 Q_ENUM( ProcessingTinInputLayerType )
3149 Q_ENUM( CrsDefinitionFormat )
3166 Q_ENUM( FieldDomainSplitPolicy )
3182 Q_ENUM( FieldDomainMergePolicy )
3195 Q_ENUM( FieldDomainType )
3205 AutomaticGroups = 1,
3208 Q_ENUM( TransactionMode )
3221 Q_ENUM( AltitudeClamping )
3233 Q_ENUM( AltitudeBinding )
3246 Q_ENUM( BetweenLineConstraint )
3259 Q_ENUM( LineExtensionSide )
3276 Q_ENUM( CadConstraintType )
3286 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3287 TrustStoredLayerStatistics = 1 << 1,
3288 RememberLayerEditStatusBetweenSessions = 1 << 2,
3289 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3291 Q_ENUM( ProjectFlag )
3292 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
3293 Q_FLAG( ProjectFlags )
3302 ShowContextMenu = 1 << 0,
3304 Q_ENUM( PlotToolFlag )
3305 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
3306 Q_FLAG( PlotToolFlags )
3328 Q_ENUM( Point3DShape )
3340 Q_ENUM( LightSourceType )
3352 Q_ENUM( NavigationMode )
3365 Q_ENUM( VerticalAxisInversion )
3399 RespectsMaximumErrorMapUnit = 1 << 0,
3400 RespectsDistanceRange = 1 << 1,
3401 RespectsElevationRange = 1 << 2,
3403 Q_ENUM( ProfileGeneratorFlag )
3404 Q_DECLARE_FLAGS( ProfileGeneratorFlags, ProfileGeneratorFlag )
3405 Q_FLAG( ProfileGeneratorFlags )
3416 DistanceVsElevationTable,
3430 Q_ENUM( PointCloudSymbol )
3443 Q_ENUM( PointCloudDrawOrder )
3455 AvoidIntersectionsCurrentLayer,
3456 AvoidIntersectionsLayers,
3458 Q_ENUM( AvoidIntersectionsMode )
3472 Q_ENUM( ProjectFileFormat )
3488 DontLoadProjectStyles = 1 << 5,
3489 ForceReadOnlyLayers = 1 << 6,
3491 Q_ENUM( ProjectReadFlag )
3501 Q_FLAG( ProjectReadFlags )
3513 ProjectStyles = 1 << 0,
3515 Q_ENUM( ProjectCapability )
3522 Q_DECLARE_FLAGS( ProjectCapabilities, ProjectCapability )
3523 Q_FLAG( ProjectCapabilities )
3540 Q_ENUM( MapBoxGlStyleSourceType )
3559 Q_ENUM( ArcGisRestServiceType )
3573 Q_ENUM( RelationshipType )
3587 Q_ENUM( RelationshipStrength )
3601 Q_ENUM( RelationshipCardinality )
3610 MultipleFieldKeys = 1 << 0,
3611 ForwardPathLabel = 1 << 1,
3612 BackwardPathLabel = 1 << 2,
3614 Q_ENUM( RelationshipCapability )
3621 Q_DECLARE_FLAGS( RelationshipCapabilities, RelationshipCapability )
3622 Q_FLAG( RelationshipCapabilities )
3635 Q_ENUM( CoordinateDisplayType )
3648 Q_ENUM( SettingsOrigin )
3669 Q_ENUM( ScriptLanguage )
3681 CheckSyntax = 1 << 1,
3682 ToggleComment = 1 << 2,
3684 Q_ENUM( ScriptLanguageCapability )
3691 Q_DECLARE_FLAGS( ScriptLanguageCapabilities, ScriptLanguageCapability )
3692 Q_FLAG( ScriptLanguageCapabilities )
3701 AboveInsertionPoint,
3703 OptimalInInsertionGroup,
3705 Q_ENUM( LayerTreeInsertionMethod )
3714 SkipVisibilityCheck = 1 << 0,
3716 Q_ENUM( LayerTreeFilterFlag )
3723 Q_DECLARE_FLAGS( LayerTreeFilterFlags, LayerTreeFilterFlag )
3724 Q_FLAG( LayerTreeFilterFlags )
3736 ShowRuleDetails = 1 << 0,
3738 Q_ENUM( LegendJsonRenderFlag )
3739 Q_DECLARE_FLAGS( LegendJsonRenderFlags, LegendJsonRenderFlag )
3740 Q_FLAG( LegendJsonRenderFlags )
3755 Q_ENUM( ActionType )
3767 SingleFeature = 1 << 1,
3768 MultipleFeatures = 1 << 2,
3769 AllActions = Layer | SingleFeature | MultipleFeatures
3771 Q_ENUM( MapLayerActionTarget )
3780 Q_DECLARE_FLAGS( MapLayerActionTargets, MapLayerActionTarget )
3781 Q_FLAG( MapLayerActionTargets )
3792 EnabledOnlyWhenEditable = 1 << 1,
3794 Q_ENUM( MapLayerActionFlag )
3803 Q_DECLARE_FLAGS( MapLayerActionFlags, MapLayerActionFlag )
3804 Q_FLAG( MapLayerActionFlags )
3824 Q_ENUM( AttributeActionType )
3838 Q_ENUM( MetadataDateType )
3868 ContinuousPalette = 17
3870 Q_ENUM( RasterColorInterpretation )
3886 Q_ENUM( RasterLayerType )
3899 SingleBandPseudoColor,
3901 PalettedSingleBandGray,
3902 PalettedSingleBandPseudoColor,
3903 PalettedMultiBandColor,
3904 MultiBandSingleBandGray,
3905 MultiBandSingleBandPseudoColor,
3909 Q_ENUM( RasterDrawingStyle )
3924 Q_ENUM( RasterPyramidFormat )
3939 Q_ENUM( RasterBuildPyramidOption )
3956 Q_ENUM( RasterIdentifyFormat )
3968 Q_ENUM( ElevationMapCombineMethod )
4021 Q_ENUM( SystemOfMeasurement )
4035 Q_ENUM( MapToolUnit )
4075 Q_ENUM( DistanceUnit )
4090 Q_ENUM( DistanceUnitType )
4138 Q_ENUM( VolumeUnit )
4183 Q_ENUM( TemporalUnit )
4203 Q_ENUM( RenderUnit )
4223 Q_ENUM( LayoutUnit )
4237 Q_ENUM( LayoutUnitType )
4270 Q_ENUM( PostgresRelKind )
4279 SetFieldComment = 1 << 0,
4280 SetFieldAlias = 1 << 1,
4282 Q_ENUM( DatabaseProviderConnectionCapability2 )
4283 Q_DECLARE_FLAGS( DatabaseProviderConnectionCapabilities2, DatabaseProviderConnectionCapability2 )
4284 Q_FLAG( DatabaseProviderConnectionCapabilities2 )
4293 SaveToDatabase = 1 << 1,
4294 LoadFromDatabase = 1 << 2,
4295 DeleteFromDatabase = 1 << 3
4299 Q_FLAG( ProviderStyleStorageCapabilities )
4312 Q_ENUM( UserProfileSelectionPolicy )
4333 Q_ENUM( AttributeEditorType )
4346 Q_ENUM( AttributeEditorContainerType )
4361 Q_ENUM( AttributeFormLayout )
4376 Q_ENUM( AttributeFormSuppression )
4392 Q_ENUM( AttributeFormPythonInitCodeSource )
4405 Q_ENUM( ExpressionType )
4420 Q_ENUM( FeatureSymbologyExport )
4429 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
4431 Q_ENUM( VectorTileProviderFlag )
4438 Q_DECLARE_FLAGS( VectorTileProviderFlags, VectorTileProviderFlag )
4439 Q_FLAG( VectorTileProviderFlags )
4447 ReadLayerMetadata = 1 << 1,
4449 Q_ENUM( VectorTileProviderCapability )
4456 Q_DECLARE_FLAGS( VectorTileProviderCapabilities, VectorTileProviderCapability )
4457 Q_FLAG( VectorTileProviderCapabilities )
4468 AvailableNoChildren,
4469 UseLowerZoomLevelTile,
4471 Q_ENUM( TileAvailability )
4480 ReadLayerMetadata = 1 << 1,
4482 Q_ENUM( TiledSceneProviderCapability )
4489 Q_DECLARE_FLAGS( TiledSceneProviderCapabilities, TiledSceneProviderCapability )
4490 Q_FLAG( TiledSceneProviderCapabilities )
4503 Q_ENUM( TiledSceneBoundingVolumeType )
4518 Q_ENUM( TileRefinementProcess )
4531 Q_ENUM( TileChildrenAvailability )
4540 NoHierarchyFetch = 1 << 0,
4542 Q_ENUM( TiledSceneRequestFlag )
4549 Q_DECLARE_FLAGS( TiledSceneRequestFlags, TiledSceneRequestFlag )
4550 Q_FLAG( TiledSceneRequestFlags )
4559 RequiresTextures = 1 << 0,
4560 ForceRasterRender = 1 << 1,
4561 RendersTriangles = 1 << 2,
4562 RendersLines = 1 << 3,
4564 Q_ENUM( TiledSceneRendererFlag )
4571 Q_DECLARE_FLAGS( TiledSceneRendererFlags, TiledSceneRendererFlag )
4572 Q_FLAG( TiledSceneRendererFlags )
4581 RA_NearestNeighbour = 0,
4594 Q_ENUM( GdalResampleAlgorithm )
4616 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
4617 Default = Count | Sum | Mean,
4619 Q_ENUM( ZonalStatistic )
4627 Q_FLAG( ZonalStatistics )
4641 FailedToCreateField = 8,
4644 Q_ENUM( ZonalStatisticResult )
4670 StringMinimumLength,
4671 StringMaximumLength,
4675 StringConcatenateUnique
4687 CountMissing = 1 << 15,
4692 StDevSample = 1 << 5,
4699 FirstQuartile = 1 << 12,
4700 ThirdQuartile = 1 << 13,
4701 InterQuartileRange = 1 << 14,
4704 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
4714 Q_FLAG( Statistics )
4729 All = Count | CountDistinct | CountMissing | Min | Max | Range,
4731 Q_ENUM( DateTimeStatistic )
4739 Q_FLAG( DateTimeStatistics )
4758 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
4760 Q_ENUM( StringStatistic )
4768 Q_FLAG( StringStatistics )
4784 SumOfSquares = 1 << 6,
4785 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
4787 Q_ENUM( RasterBandStatistic )
4795 Q_FLAG( RasterBandStatistics )
4814 Q_ENUM( SensorThingsEntity )
4819 static const
double DEFAULT_SEARCH_RADIUS_MM;
4822 static const
float DEFAULT_MAPTOPIXEL_THRESHOLD;
4829 static const QColor DEFAULT_HIGHLIGHT_COLOR;
4834 static const
double DEFAULT_HIGHLIGHT_BUFFER_MM;
4839 static const
double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
4846 static const
double SCALE_PRECISION;
4852 static const
double DEFAULT_Z_COORDINATE;
4859 static const
double DEFAULT_M_COORDINATE;
4865 static const
double UI_SCALE_FACTOR;
4870 static const
double DEFAULT_SNAP_TOLERANCE;
4882 static QString defaultProjectScales();
4889 static
int geosVersionInt();
4896 static
int geosVersionMajor();
4903 static
int geosVersionMinor();
4910 static
int geosVersionPatch();
4917 static QString geosVersion();
4996#define cast_to_fptr(f) f
5017 , mPreviousState( object->blockSignals( true ) )
5022 mObject->blockSignals( mPreviousState );
5030 Object *mObject =
nullptr;
5031 bool mPreviousState;
5054CORE_EXPORT uint
qHash(
const QVariant &variant );
5068 const double roundFactor = std::pow( 10, -
precision );
5069 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5074 if (
str.contains( QLatin1Char(
'.' ) ) )
5077 int idx =
str.length() - 1;
5078 while (
str.at( idx ) ==
'0' && idx > 1 )
5082 if ( idx <
str.length() - 1 )
5083 str.truncate(
str.at( idx ) ==
'.' ? idx : idx + 1 );
5093 if (
str == QLatin1String(
"-0" ) )
5095 return QLatin1String(
"0" );
5108 const bool aIsNan = std::isnan( a );
5109 const bool bIsNan = std::isnan( b );
5110 if ( aIsNan || bIsNan )
5111 return aIsNan && bIsNan;
5126inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
5128 const bool aIsNan = std::isnan( a );
5129 const bool bIsNan = std::isnan( b );
5130 if ( aIsNan || bIsNan )
5131 return aIsNan && bIsNan;
5133 const T diff = a - b;
5134 return diff >= -epsilon && diff <= epsilon;
5144inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5146 return qgsNumberNear<double>( a, b, epsilon );
5155inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
5157 return qgsNumberNear<float>( a, b, epsilon );
5163 const bool aIsNan = std::isnan( a );
5164 const bool bIsNan = std::isnan( b );
5165 if ( aIsNan || bIsNan )
5166 return aIsNan && bIsNan;
5174 const double ar = std::frexp( a, &aexp );
5175 const double br = std::frexp( b, &bexp );
5177 return aexp == bexp &&
5178 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
5187 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
5188 const double scaleFactor = std::pow( 10.0, places );
5189 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
5200template<
class Key,
class Value>
5204 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
5205 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
5207 result.chop( separator.size() );
5217template<
class Key,
class Value>
5221 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
5222 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
5224 result.chop( separator.size() );
5235QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
5238 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
5239 result += QString(
"%1%2" ).arg( *it ).arg( separator );
5241 result.chop( separator.size() );
5271 template<
typename To,
typename From>
inline To down_cast( From *f )
5274 ( std::is_base_of<From,
5275 typename std::remove_pointer<To>::type>::value ),
5276 "target type not derived from source type" );
5277 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
5278 return static_cast<To
>( f );
5282 QSet<T> listToSet(
const QList<T> &list )
5284 return QSet<T>( list.begin(), list.end() );
5288 QList<T> setToList(
const QSet<T> &set )
5290 return QList<T>( set.begin(), set.end() );
5303 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5304 Q_ASSERT( metaEnum.isValid() );
5306 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
5308 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
5320 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5321 Q_ASSERT( metaEnum.isValid() );
5322 QMap<T, QString> enumMap;
5323 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
5325 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
5337 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5338 Q_ASSERT( metaEnum.isValid() );
5339 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
5342 *returnOk = key ? true :
false;
5344 return QString::fromUtf8( key );
5354template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
5356 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5357 Q_ASSERT( metaEnum.isValid() );
5359 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
5371 if ( tryValueAsKey )
5373 bool canConvert =
false;
5374 const int intValue = key.toInt( &canConvert );
5375 if ( canConvert && metaEnum.valueToKey( intValue ) )
5381 return static_cast<T
>( intValue );
5385 return defaultValue;
5395 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5396 Q_ASSERT( metaEnum.isValid() );
5397 int intValue =
static_cast<int>( value );
5398 const QByteArray ba = metaEnum.valueToKeys( intValue );
5401 const int intValueCheck = metaEnum.keysToValue( ba );
5402 bool ok = intValue == intValueCheck;
5405 return ok ? QString::fromUtf8( ba ) : QString();
5415template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
5417 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5418 Q_ASSERT( metaEnum.isValid() );
5420 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
5432 if ( tryValueAsKey )
5434 bool canConvert =
false;
5435 const int intValue = keys.toInt( &canConvert );
5438 const QByteArray keys = metaEnum.valueToKeys( intValue );
5439 const int intValueCheck = metaEnum.keysToValue( keys );
5440 if ( intValue == intValueCheck )
5446 return T( intValue );
5451 return defaultValue;
5505CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
5515#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
5523inline bool operator> (
const QVariant &v1,
const QVariant &v2 )
5537inline bool operator< (
const QVariant &v1,
const QVariant &v2 )
5544#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
5549template<> CORE_EXPORT
bool qMapLessThanKey<QVariantList>(
const QVariantList &key1,
const QVariantList &key2 )
SIP_SKIP;
5552CORE_EXPORT QString
qgsVsiPrefix(
const QString &path );
5570#define CONSTLATIN1STRING inline const QLatin1String
5572#define CONSTLATIN1STRING constexpr QLatin1String
5576class ScopedIntIncrementor
5580 ScopedIntIncrementor(
int *variable )
5581 : mVariable( variable )
5586 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
5587 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
5594 mVariable =
nullptr;
5597 ~ScopedIntIncrementor()
5603 int *mVariable =
nullptr;
5613 return QLatin1String(
5614 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]] )"""
5621 return QLatin1String(
"+proj=longlat +datum=WGS84 +no_defs" );
5627 return QLatin1String(
"EPSG:4326" );
5633 return QLatin1String(
"NONE" );
5639const int PREVIEW_JOB_DELAY_MS = 250;
5642const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
5687#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
5689#define Q_NOWARN_DEPRECATED_PUSH \
5690 _Pragma("GCC diagnostic push") \
5691 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
5692#define Q_NOWARN_DEPRECATED_POP \
5693 _Pragma("GCC diagnostic pop");
5694#define Q_NOWARN_UNREACHABLE_PUSH
5695#define Q_NOWARN_UNREACHABLE_POP
5697#elif defined(_MSC_VER)
5699#define Q_NOWARN_DEPRECATED_PUSH \
5700 __pragma(warning(push)) \
5701 __pragma(warning(disable:4996))
5702#define Q_NOWARN_DEPRECATED_POP \
5703 __pragma(warning(pop))
5704#define Q_NOWARN_UNREACHABLE_PUSH \
5705 __pragma(warning(push)) \
5706 __pragma(warning(disable:4702))
5707#define Q_NOWARN_UNREACHABLE_POP \
5708 __pragma(warning(pop))
5712#define Q_NOWARN_DEPRECATED_PUSH
5713#define Q_NOWARN_DEPRECATED_POP
5714#define Q_NOWARN_UNREACHABLE_PUSH
5715#define Q_NOWARN_UNREACHABLE_POP
5722# define QGISEXTERN extern "C" __declspec( dllexport )
5724# if defined(__GNUC__) || defined(__clang__)
5725# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
5727# define QGISEXTERN extern "C"
5734#if __cplusplus >= 201703L
5735#define NODISCARD [[nodiscard]]
5736#elif defined(__clang__)
5737#define NODISCARD [[nodiscard]]
5738#elif defined(_MSC_VER)
5740#elif defined(__has_cpp_attribute)
5741#if __has_cpp_attribute(nodiscard)
5742#define NODISCARD [[nodiscard]]
5743#elif __has_cpp_attribute(gnu::warn_unused_result)
5744#define NODISCARD [[gnu::warn_unused_result]]
5746#define NODISCARD Q_REQUIRED_RESULT
5749#define NODISCARD Q_REQUIRED_RESULT
5752#if __cplusplus >= 201703L
5753#define MAYBE_UNUSED [[maybe_unused]]
5754#elif defined(__clang__)
5755#define MAYBE_UNUSED [[maybe_unused]]
5756#elif defined(_MSC_VER)
5758#elif defined(__has_cpp_attribute)
5759#if __has_cpp_attribute(gnu::unused)
5760#define MAYBE_UNUSED [[gnu::unused]]
5774#define BUILTIN_UNREACHABLE \
5776#elif defined(__GNUC__) && !defined(__clang__)
5787#define BUILTIN_UNREACHABLE \
5788 __builtin_unreachable();
5790#define BUILTIN_UNREACHABLE
5800QString CORE_EXPORT
geoWkt();
The Qgis class provides global constants for use throughout the application.
DistanceUnitType
Types of distance units.
GnssConstellation
GNSS constellation.
SettingsOption
Settings options.
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
ProcessingSourceType
Processing data source types.
GpsQualityIndicator
GPS signal quality indicator.
DataItemProviderCapability
Capabilities for data item providers.
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
ProjectReadFlag
Flags which control project read behavior.
MapToolUnit
Type of unit of tolerance value from settings.
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
PointCloudSymbol
Rendering symbols for point cloud points.
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
GeometryValidityFlag
Geometry validity check flags.
ExpressionType
Expression types.
MapLayerActionFlag
Map layer action targets.
MapLayerProperty
File operation flags.
BufferSide
Side of line to buffer.
RasterResamplingStage
Stage at which raster resampling occurs.
VectorTileProviderCapability
Vector tile data provider flags.
AltitudeClamping
Altitude clamping.
VectorTileProviderFlag
Flags for vector tile data providers.
VectorTemporalMode
Vector layer temporal feature modes.
SublayerFlag
Sublayer query flags.
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
CoordinateDisplayType
Relationship capabilities.
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
DashPatternSizeAdjustment
Dash pattern size adjustment options.
GpsFixStatus
GPS fix status.
AnnotationItemNodeType
Annotation item GUI flags.
static const char * QGIS_DEV_VERSION
The development version.
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
AngularDirection
Angular directions.
ContentStatus
Status for fetched or stored content.
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
LayoutUnit
Layout measurement units.
RelationshipStrength
Relationship strength.
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
Point3DShape
3D point shape types.
GeometryOperationResult
Success or failure of a geometry operation.
BrowserItemState
Browser item states.
AttributeEditorContainerType
Attribute editor container types.
FeatureRequestFilterType
Types of feature request filters.
MarkerClipMode
Marker clipping modes.
AnnotationItemFlag
Flags for annotation items.
RenderSubcomponentProperty
Rendering subcomponent properties.
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
Q_DECLARE_FLAGS(ProcessingAlgorithmFlags, ProcessingAlgorithmFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsProcessingAlgorithm
Flags indicating how and when an algorithm operates and should be exposed to users.
Statistic
Available generic statistics.
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
AngleUnit
Units of angles.
CaptureTechnique
Capture technique.
SpatialIndexPresence
Enumeration of spatial index presence states.
BrowserItemCapability
Browser item capabilities.
AttributeFormSuppression
Available form types for layout of the attribute form editor.
LayerTreeInsertionMethod
Script language capabilities.
LineClipMode
Line clipping modes.
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
SettingsTreeNodeType
Type of tree node.
TilePixelRatio
DpiMode enum.
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
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.
RasterPyramidFormat
Raster pyramid formats.
VectorExportResult
Vector layer export result codes.
DistanceUnit
Units of distance.
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
SymbolLayerFlag
Flags controlling behavior of symbol layers.
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
ScaleMethod
Scale methods.
SldExportOption
SLD export options.
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.
LayerTreeFilterFlag
Layer tree filter flags.
AttributeFormLayout
Available form types for layout of the attribute form editor.
FeatureRequestFlag
Flags for controlling feature requests.
VertexType
Types of vertex.
DataProviderFlag
Generic data provider flags.
GdalResampleAlgorithm
Flags which control how tiled scene 2D renderers behave.
GeometryValidationEngine
Available engines for validating geometries.
TransactionMode
Transaction mode.
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
RasterDrawingStyle
Raster drawing styles.
GpsInformationComponent
GPS information component.
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.
ProjectCapability
Flags which control project capabilities.
Q_ENUM(VectorProfileType)
AttributeActionType
Map layer action flags.
TemporalNavigationMode
Temporal navigation modes.
ProcessingFieldParameterDataType
Processing field parameter data types.
StringStatistic
Available string statistics.
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.
SqlKeywordCategory
SQL layer definition capabilities.
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
TiledSceneBoundingVolumeType
Tiled scene data provider capabilities.
TextLayoutMode
Text layout modes.
PropertyType
Property types.
LayerFilter
Filter for layers.
Q_ENUM(ProviderStyleStorageCapability)
RasterRendererFlag
Flags which control behavior of raster renderers.
CrsType
Data provider flags.
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.
RasterFileWriterResult
Raster file export results.
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
MapRecenteringMode
Modes for recentering map canvases.
ActionStart
Enum to determine when an operation would begin.
PlaybackOperation
Media playback operations.
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.
LegendJsonRenderFlag
Layer tree filter flags.
BlendMode
Blending modes defining the available composition modes that can be used when painting.
Capitalization
String capitalization options.
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
Q_DECLARE_FLAGS(ProcessingProviderFlags, ProcessingProviderFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsProcessingProvider
Flags indicating how and when an processing provider operates and should be exposed to users.
LabelQuadrantPosition
Label quadrant positions.
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.
TextOrientation
Text orientations.
PythonMacroMode
Vector layer type flags.
TemporalUnit
Temporal units.
UnplacedLabelVisibility
Unplaced label visibility.
CrsDefinitionFormat
CRS definition formats.
SpatialFilterType
Feature request spatial filter types.
TileAvailability
Vector tile data provider capabilities.
ProjectFlag
Flags which control the behavior of QgsProjects.
BrowserItemType
Symbol layer user flags.
SettingsType
Types of settings entries.
RasterTemporalMode
Raster layer temporal modes.
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
LabelingFlag
Various flags that affect drawing and placement of labels.
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
RelationshipType
Relationship types.
ScriptLanguageCapability
Script language capabilities.
JoinStyle
Join styles for buffers.
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
TextCharacterVerticalAlignment
Text vertical alignment for characters.
UserProfileSelectionPolicy
User profile selection policy.
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
AltitudeBinding
Altitude binding.
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene requests behave.
MapLayerActionTarget
Map layer action targets.
ZonalStatisticResult
Zonal statistics result codes.
ScriptLanguage
Scripting languages.
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
TiledSceneProviderCapability
Tiled scene data provider capabilities.
LabelMultiLineAlignment
Text alignment for multi-line labels.
RasterBandStatistic
Available raster band statistics.
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
TextRenderFormat
Flags which control how map layer renderers behave.
DataType
Raster data types.
Q_ENUM(ProfileSurfaceSymbology)
SystemOfMeasurement
Systems of unit measurement.
RasterAttributeTableFieldUsage
Flags which control behavior of raster renderers.
VerticalAxisInversion
Vertical axis inversion options for 3D views.
RelationshipCapability
Relationship capabilities.
RasterBuildPyramidOption
Raster pyramid building options.
NavigationMode
The navigation mode used by 3D cameras.
TileChildrenAvailability
Possible availability states for a tile's children.
LayerType
Types of layers that can be added to a map.
Q_DECLARE_FLAGS(RenderContextFlags, RenderContextFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsRenderContext
Render context flags.
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
RenderUnit
Rendering size units.
CoordinateOrder
Order of coordinates.
SelectionFlag
Flags which control feature selection behavior.
EndCapStyle
End cap styles for buffers.
BabelCommandFlag
Babel GPS format capabilities.
FieldDomainType
Types of field domain.
MapLayerRendererFlag
Flags which control how map layer renderers behave.
RenderContextFlag
Flags which affect rendering operations.
RasterPipeInterfaceRole
Sublayer flags.
CoverageValidityResult
Coverage validity results.
Aggregate
Available aggregates to calculate.
SymbolPreviewFlag
Symbol flags.
AnnotationItemGuiFlag
Annotation item flags.
MapBoxGlStyleSourceType
Flags which control project capabilities.
LayoutUnitType
Types of layout units.
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
DashPatternLineEndingRule
Dash pattern line ending rules.
FieldMetadataProperty
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
HistoryProviderBackend
History provider backends.
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.
VectorProfileType
Types of elevation profiles to generate for vector sources.
GpsFeatureType
Babel command flags.
VectorLayerTypeFlag
Vector layer type flags.
MakeValidMethod
Algorithms to use when repairing invalid geometries.
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
SqlLayerDefinitionCapability
Capabilities supported by a QgsVectorFileWriter object.
VectorEditResult
Flags which control feature selection behavior.
Q_DECLARE_FLAGS(GeometryValidityFlags, GeometryValidityFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsGeometry
Geometry validity flags.
VolumeUnit
Units of volume.
AttributeEditorType
Attribute editor types.
SymbolLayerUserFlag
Symbol layer flags.
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
ProfileExportType
Types of export for elevation profiles.
ProjectFileFormat
Flags which control project read behavior.
SnappingMode
SnappingMode defines on which layer the snapping is performed.
SymbolType
Attribute editing capabilities which may be supported by vector data providers.
RasterColorInterpretation
Raster color interpretation.
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
LabelPlacementEngineVersion
Labeling placement engine version.
Q_ENUM(ProcessingAlgorithmFlag)
RendererUsage
Usage of the renderer.
SettingsTreeNodeOption
Options for named list nodes.
BabelFormatCapability
GPS information component.
PostgresRelKind
Postgres database relkind options.
GpsConnectionType
GPS connection types.
Q_ENUM(InputControllerType)
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
BetweenLineConstraint
Between line constraints which can be enabled.
MetadataDateType
Date types for metadata.
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
RasterIdentifyFormat
Raster identify formats.
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.
SymbolCoordinateReference
Symbol coordinate reference modes.
TileRefinementProcess
Tiled scene tile refinement processes.
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.
CrsWktVariant
Coordinate reference system WKT formatting variants.
AutoRefreshMode
Map layer properties.
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
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.
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
LabelOverlapHandling
Label overlap handling.
FeatureSymbologyExport
Options for exporting features considering their symbology.
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
TextComponent
Text components.
DateTimeStatistic
Available date/time statistics.
AnimationState
Animation states.
TransformDirection
Flags for raster layer temporal capabilities.
LightSourceType
Light source types for 3D scenes.
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
UpsideDownLabelHandling
Polygon placement flags, which control how candidates are generated for a polygon feature.
DeviceConnectionStatus
GPS connection status.
ProcessingNumberParameterType
Processing numeric parameter data types.
Q_DECLARE_FLAGS(MapSettingsFlags, MapSettingsFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsMapSettings
Map settings flags.
MapSettingsFlag
Coordinate transformation flags.
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
SelectBehavior
Specifies how a selection should be applied.
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.
This is an abstract base class for any elements of a drag and drop form.
This class 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.
This class 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.
A geometry is the spatial representation of a feature.
Stores global configuration for labeling engine.
Contains constants and enums relating to labeling.
Item that represents a layer that can be opened with one of the providers.
The QgsMapLayerProxyModel class provides an easy to use model to display the list of layers in widget...
Base class for all map layer types.
The QgsMapSettings class contains configuration for rendering of the map.
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.
The raster file writer which allows you to save a raster to a new file.
Implementation of map layer temporal properties for raster layers.
Represents a raster layer.
Contains a pipeline of raster interfaces for sequential raster processing.
Contains information about the context of a rendering operation.
Represent 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.
This is a container for configuration of the snapping of 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.
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.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
This is the class is providing tolerance value in map unit values.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
This is the 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 data sets.
Handles storage of information regarding WKB types and their properties.
FeatureCountState
Enumeration of feature count states.
@ Points
Point based rendering, requires point data.
As part of the API refactoring and improvements which landed in QGIS
void * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
qlonglong qgsPermissiveToLongLong(QString string, bool &ok)
Converts a string to an qlonglong in a permissive way, e.g., allowing for incorrect numbers of digits...
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...
uint qHash(const QVariant &variant)
Hash for QVariant.
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...
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...
void qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
QString qgsVsiPrefix(const QString &path)
bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
CONSTLATIN1STRING geoNone()
Constant that holds the string representation for "No ellips/No CRS".
const double DEFAULT_LINE_WIDTH
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
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.
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
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.
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)
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.
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)
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
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.
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
QMap< QString, QString > QgsStringMap
#define CONSTLATIN1STRING
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
bool qgsNumberNear(T a, T b, T epsilon=std::numeric_limits< T >::epsilon() *4)
Compare two numbers of type T (but allow some difference)
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
#define QHASH_FOR_CLASS_ENUM(T)
bool operator<(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is less than the second.
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
#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_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)
Utility class for identifying a unique vertex within a geometry.