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 )
350 EditComment = 1 << 1,
353 Q_ENUM( VectorDataProviderAttributeEditCapability )
360 Q_DECLARE_FLAGS( VectorDataProviderAttributeEditCapabilities, VectorDataProviderAttributeEditCapability )
361 Q_FLAG( VectorDataProviderAttributeEditCapabilities )
386 Q_ENUM( ScaleMethod )
405 Q_ENUM( SettingsType )
417 Q_ENUM( SettingsTreeNodeType )
425 NamedListSelectedItemSetting = 1 << 0,
428 Q_ENUM( SettingsTreeNodeOption )
429 Q_DECLARE_FLAGS( SettingsTreeNodeOptions, SettingsTreeNodeOption )
430 Q_FLAG( SettingsTreeNodeOptions )
446 Q_ENUM( PropertyType )
459 Q_ENUM( SldExportOption )
460 Q_DECLARE_FLAGS( SldExportOptions, SldExportOption )
461 Q_FLAG( SldExportOptions )
470 NoVendorExtension = 0,
471 GeoServerVendorExtension = 1 << 1,
472 DeegreeVendorExtension = 1 << 2,
474 Q_ENUM( SldExportVendorExtension )
483 SaveFormerValue = 1 << 1,
484 SaveEnumFlagAsInt = 1 << 2,
486 Q_ENUM( SettingsOption )
487 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
488 Q_FLAG( SettingsOptions )
498 AdvancedConfiguration = 3,
500 Q_ENUM( SnappingMode )
516 Q_ENUM( SnappingType )
519 Q_FLAG( SnappingTypes )
530 Q_ENUM( SymbolRenderHint )
533 Q_FLAG( SymbolRenderHints )
545 Q_ENUM( SymbolRotationMode )
554 RendererShouldUseSymbolLevels = 1 << 0,
558 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
559 Q_FLAG( SymbolFlags )
568 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
570 Q_ENUM( SymbolPreviewFlag )
573 Q_FLAG( SymbolPreviewFlags )
586 DisableFeatureClipping = 1 << 0,
588 Q_ENUM( SymbolLayerFlag )
590 Q_DECLARE_FLAGS( SymbolLayerFlags, SymbolLayerFlag )
591 Q_FLAG( SymbolLayerFlags )
604 DisableSelectionRecoloring = 1 << 0,
606 Q_ENUM( SymbolLayerUserFlag )
613 Q_DECLARE_FLAGS( SymbolLayerUserFlags, SymbolLayerUserFlag )
614 Q_FLAG( SymbolLayerUserFlags )
633 Q_ENUM( BrowserItemType )
646 Q_ENUM( BrowserItemState )
662 ItemRepresentsFile = 1 << 6,
663 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
665 Q_ENUM( BrowserItemCapability )
668 Q_FLAG( BrowserItemCapabilities )
692 Q_ENUM( BrowserLayerType )
705 Q_ENUM( BrowserDirectoryMonitoring )
738 Q_ENUM( VectorExportResult )
746 FieldAliases = 1 << 0,
747 FieldComments = 1 << 2,
749 Q_ENUM( VectorFileWriterCapability )
755 Q_DECLARE_FLAGS( VectorFileWriterCapabilities, VectorFileWriterCapability )
756 Q_FLAG( VectorFileWriterCapabilities )
764 SubsetStringFilter = 1 << 1,
765 GeometryColumn = 1 << 2,
766 PrimaryKeys = 1 << 3,
767 UnstableFeatureIds = 1 << 4
769 Q_ENUM( SqlLayerDefinitionCapability )
771 Q_DECLARE_FLAGS( SqlLayerDefinitionCapabilities, SqlLayerDefinitionCapability )
772 Q_FLAG( SqlLayerDefinitionCapabilities )
791 Q_ENUM( SqlKeywordCategory )
819 Q_ENUM( ActionStart )
831 Q_ENUM( UnplacedLabelVisibility )
841 AllowOverlapIfRequired,
842 AllowOverlapAtNoCost,
844 Q_ENUM( LabelOverlapHandling )
861 OrderedPositionsAroundPoint,
865 Q_ENUM( LabelPlacement )
889 Q_ENUM( LabelPredefinedPointPosition )
904 Q_ENUM( LabelOffsetType )
925 Q_ENUM( LabelQuadrantPosition )
940 Q_ENUM( LabelLinePlacementFlag )
950 Q_FLAG( LabelLinePlacementFlags )
960 AllowPlacementOutsideOfPolygon = 1 << 0,
961 AllowPlacementInsideOfPolygon = 1 << 1,
963 Q_ENUM( LabelPolygonPlacementFlag )
971 Q_DECLARE_FLAGS( LabelPolygonPlacementFlags, LabelPolygonPlacementFlag )
972 Q_FLAG( LabelPolygonPlacementFlags )
987 Q_ENUM( UpsideDownLabelHandling )
1004 Q_ENUM( LabelMultiLineAlignment )
1022 Q_ENUM( FileFilterType )
1032 ResolveGeometryType = 1 << 1,
1033 CountFeatures = 1 << 2,
1034 IncludeSystemTables = 1 << 3,
1037 Q_DECLARE_FLAGS( SublayerQueryFlags, SublayerQueryFlag )
1038 Q_ENUM( SublayerQueryFlag )
1039 Q_FLAG( SublayerQueryFlags )
1048 SystemTable = 1 << 0,
1051 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1052 Q_ENUM( SublayerFlag )
1053 Q_FLAG( SublayerFlags )
1071 Q_ENUM( RasterPipeInterfaceRole )
1084 Q_ENUM( RasterResamplingStage )
1093 InternalLayerOpacityHandling = 1 << 0,
1101 Q_DECLARE_FLAGS( RasterRendererFlags, RasterRendererFlag )
1103 Q_ENUM( RasterRendererFlag )
1104 Q_FLAG( RasterRendererFlags )
1133 Q_ENUM( RasterAttributeTableFieldUsage )
1145 Q_ENUM( RasterAttributeTableType )
1158 Q_ENUM( RasterExportType )
1169 SourceProviderError = 1,
1171 CreateDatasourceError = 3,
1176 Q_ENUM( RasterFileWriterResult )
1187 TooManyVerticesInFace,
1193 Q_ENUM( MeshEditingErrorType )
1205 Q_ENUM( FilePathType )
1215 AskExcludingRasterBands,
1219 Q_ENUM( SublayerPromptMode )
1231 NotSearchable = 1 << 1,
1232 HideFromWms = 1 << 2,
1233 HideFromWfs = 1 << 3,
1235 Q_ENUM( FieldConfigurationFlag )
1244 Q_DECLARE_FLAGS( FieldConfigurationFlags, FieldConfigurationFlag )
1245 Q_FLAG( FieldConfigurationFlags )
1254 GeometryCrs = 0x1000,
1255 GeometryWkbType = 0x1001,
1256 CustomProperty = 0x100000,
1258 Q_ENUM( FieldMetadataProperty )
1271 Q_ENUM( SelectionRenderingMode )
1283 RemoveFromSelection,
1285 Q_ENUM( SelectBehavior )
1297 Q_ENUM( SelectGeometryRelationship )
1306 SingleFeatureSelection = 1 << 0,
1307 ToggleSelection = 1 << 1,
1315 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1317 Q_ENUM( SelectionFlag )
1318 Q_FLAG( SelectionFlags )
1330 FetchFeatureFailed = 3,
1333 Q_ENUM( VectorEditResult )
1342 SemiTransparentCircle,
1346 Q_ENUM( VertexMarkerType )
1360 Q_ENUM( ContentStatus )
1374 Q_ENUM( GpsConnectionType )
1387 Q_ENUM( DeviceConnectionStatus )
1442 Q_ENUM( GpsQualityIndicator )
1453 GroundSpeed = 1 << 2,
1455 TotalTrackLength = 1 << 4,
1456 TrackDistanceFromStart = 1 << 5,
1460 HorizontalAccuracy = 1 << 9,
1461 VerticalAccuracy = 1 << 10,
1462 HvAccuracy = 1 << 11,
1463 SatellitesUsed = 1 << 12,
1464 Timestamp = 1 << 13,
1465 TrackStartTime = 1 << 14,
1466 TrackEndTime = 1 << 15,
1467 TrackDistanceSinceLastPoint = 1 << 16,
1468 TrackTimeSinceLastPoint = 1 << 17,
1469 GeoidalSeparation = 1 << 18,
1470 EllipsoidAltitude = 1 << 19,
1478 Q_DECLARE_FLAGS( GpsInformationComponents, GpsInformationComponent )
1479 Q_ENUM( GpsInformationComponent )
1480 Q_FLAG( GpsInformationComponents )
1496 Q_DECLARE_FLAGS( BabelFormatCapabilities, BabelFormatCapability )
1497 Q_ENUM( BabelFormatCapability )
1498 Q_FLAG( BabelFormatCapabilities )
1508 QuoteFilePaths = 1 << 0,
1511 Q_DECLARE_FLAGS( BabelCommandFlags, BabelCommandFlag )
1512 Q_ENUM( BabelCommandFlag )
1513 Q_FLAG( BabelCommandFlags )
1526 Q_ENUM( GpsFeatureType )
1538 NothingHappened = 1000,
1539 InvalidBaseGeometry,
1540 InvalidInputGeometryType,
1542 SelectionIsGreaterThanOne,
1543 GeometryEngineError,
1546 AddPartSelectedGeometryNotFound,
1547 AddPartNotMultiGeometry,
1551 AddRingCrossesExistingRings,
1552 AddRingNotInExistingFeature,
1554 SplitCannotSplitPoint,
1555 GeometryTypeHasChanged,
1557 Q_ENUM( GeometryOperationResult )
1571 Q_FLAG( GeometryValidityFlags )
1582 Q_ENUM( GeometryValidationEngine )
1594 Q_ENUM( BufferSide )
1607 Q_ENUM( EndCapStyle )
1633 Q_ENUM( CoverageValidityResult )
1645 Q_ENUM( MakeValidMethod )
1658 Q_ENUM( SpatialFilterType )
1667 IncludeMetadataFile = 1 << 0,
1668 IncludeStyleFile = 1 << 1,
1671 Q_DECLARE_FLAGS( FileOperationFlags, FileOperationFlag )
1672 Q_ENUM( FileOperationFlag )
1673 Q_FLAG( FileOperationFlags )
1682 UsersCannotToggleEditing = 1 << 0,
1683 IsBasemapLayer = 1 << 1,
1686 Q_DECLARE_FLAGS( MapLayerProperties, MapLayerProperty )
1687 Q_ENUM( MapLayerProperty )
1688 Q_FLAG( MapLayerProperties )
1701 Q_ENUM( AutoRefreshMode )
1710 IsBasemapSource = 1 << 1,
1713 Q_DECLARE_FLAGS( DataProviderFlags, DataProviderFlag )
1714 Q_ENUM( DataProviderFlag )
1715 Q_FLAG( DataProviderFlags )
1792 Q_ENUM( CrsAxisDirection )
1805 Q_ENUM( CoordinateOrder )
1827 ScaleDependentBoundingBox = 1 << 0,
1830 Q_DECLARE_FLAGS( AnnotationItemFlags, AnnotationItemFlag )
1831 Q_ENUM( AnnotationItemFlag )
1832 Q_FLAG( AnnotationItemFlags )
1841 FlagNoCreationTools = 1 << 0,
1844 Q_DECLARE_FLAGS( AnnotationItemGuiFlags, AnnotationItemGuiFlag )
1845 Q_ENUM( AnnotationItemGuiFlag )
1846 Q_FLAG( AnnotationItemGuiFlags )
1857 Q_ENUM( AnnotationItemNodeType )
1870 Q_ENUM( AnnotationItemEditOperationResult )
1886 Q_ENUM( VectorTemporalMode )
1895 IncludeBeginExcludeEnd = 0,
1896 IncludeBeginIncludeEnd,
1898 Q_ENUM( VectorTemporalLimitMode )
1909 StoresFeatureDateTimeStartAndEndInSeparateFields
SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
1911 Q_ENUM( VectorDataProviderTemporalMode )
1924 Q_ENUM( RasterTemporalMode )
1933 MatchUsingWholeRange,
1934 MatchExactUsingStartOfRange,
1935 MatchExactUsingEndOfRange,
1936 FindClosestMatchToStartOfRange,
1937 FindClosestMatchToEndOfRange
1939 Q_ENUM( TemporalIntervalMatchMethod )
1948 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
1950 Q_ENUM( RasterTemporalCapabilityFlag )
1957 Q_DECLARE_FLAGS( RasterTemporalCapabilityFlags, RasterTemporalCapabilityFlag )
1958 Q_FLAG( RasterTemporalCapabilityFlags )
1970 Q_ENUM( TransformDirection )
1979 BallparkTransformsAreAppropriate = 1 << 0,
1980 IgnoreImpossibleTransformations = 1 << 1,
1982 Q_ENUM( CoordinateTransformationFlag )
1989 Q_DECLARE_FLAGS( CoordinateTransformationFlags, CoordinateTransformationFlag )
1990 Q_FLAG( CoordinateTransformationFlags )
1999 Antialiasing = 0x01,
2000 DrawEditingInfo = 0x02,
2001 ForceVectorOutput = 0x04,
2002 UseAdvancedEffects = 0x08,
2003 DrawLabeling = 0x10,
2004 UseRenderingOptimization = 0x20,
2005 DrawSelection = 0x40,
2006 DrawSymbolBounds = 0x80,
2007 RenderMapTile = 0x100,
2008 RenderPartialOutput = 0x200,
2009 RenderPreviewJob = 0x400,
2010 RenderBlocking = 0x800,
2011 LosslessImageRendering = 0x1000,
2012 Render3DMap = 0x2000,
2013 HighQualityImageTransforms = 0x4000,
2014 SkipSymbolRendering = 0x8000,
2015 ForceRasterMasks = 0x10000,
2016 RecordProfile = 0x20000,
2021 Q_FLAG( MapSettingsFlags )
2030 DrawEditingInfo = 0x01,
2031 ForceVectorOutput = 0x02,
2032 UseAdvancedEffects = 0x04,
2033 UseRenderingOptimization = 0x08,
2034 DrawSelection = 0x10,
2035 DrawSymbolBounds = 0x20,
2036 RenderMapTile = 0x40,
2037 Antialiasing = 0x80,
2038 RenderPartialOutput = 0x100,
2039 RenderPreviewJob = 0x200,
2040 RenderBlocking = 0x400,
2041 RenderSymbolPreview = 0x800,
2042 LosslessImageRendering = 0x1000,
2043 ApplyScalingWorkaroundForTextRendering = 0x2000,
2044 Render3DMap = 0x4000,
2045 ApplyClipAfterReprojection = 0x8000,
2046 RenderingSubSymbol = 0x10000,
2047 HighQualityImageTransforms = 0x20000,
2048 SkipSymbolRendering = 0x40000,
2049 RecordProfile = 0x80000,
2054 Q_FLAG( RenderContextFlags )
2063 RenderPartialOutputs = 1 << 0,
2064 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2066 Q_ENUM( MapLayerRendererFlag )
2073 Q_DECLARE_FLAGS( MapLayerRendererFlags, MapLayerRendererFlag )
2074 Q_FLAG( MapLayerRendererFlags )
2088 Q_ENUM( TextRenderFormat )
2099 UseAllLabels = 1 << 1,
2100 UsePartialCandidates = 1 << 2,
2102 RenderOutlineLabels = 1 << 3,
2103 DrawLabelRectOnly = 1 << 4,
2104 DrawCandidates = 1 << 5,
2105 DrawUnplacedLabels = 1 << 6,
2106 CollectUnplacedLabels = 1 << 7,
2107 DrawLabelMetrics = 1 << 8,
2109 Q_ENUM( LabelingFlag )
2119 Q_FLAG( LabelingFlags )
2133 Q_ENUM( LabelPlacementEngineVersion )
2148 Q_ENUM( TextOrientation )
2162 RectangleCapHeightBased,
2163 RectangleAscentBased,
2165 Q_ENUM( TextLayoutMode )
2181 Q_ENUM( TextComponent )
2197 Q_ENUM( TextHorizontalAlignment )
2215 Q_ENUM( TextVerticalAlignment )
2231 Q_ENUM( TextCharacterVerticalAlignment )
2245 Q_ENUM( RenderSubcomponentProperty )
2256 Q_ENUM( VertexType )
2272 EquilateralTriangle,
2305 Q_ENUM( MarkerShape )
2318 LastVertex = 1 << 2,
2319 FirstVertex = 1 << 3,
2320 CentralPoint = 1 << 4,
2321 CurvePoint = 1 << 5,
2322 SegmentCenter = 1 << 6,
2323 InnerVertices = 1 << 7,
2325 Q_ENUM( MarkerLinePlacement )
2326 Q_DECLARE_FLAGS( MarkerLinePlacements, MarkerLinePlacement )
2327 Q_FLAG( MarkerLinePlacements )
2341 Q_ENUM( GradientColorSource )
2356 Q_ENUM( GradientType )
2370 Q_ENUM( SymbolCoordinateReference )
2386 Q_ENUM( GradientSpread )
2400 Q_ENUM( PointCountMethod )
2414 Q_ENUM( MarkerClipMode )
2427 Q_ENUM( LineClipMode )
2442 Q_ENUM( DashPatternLineEndingRule )
2451 ScaleBothDashAndGap,
2455 Q_ENUM( DashPatternSizeAdjustment )
2469 Q_ENUM( GraduatedMethod )
2484 Q_ENUM( PlotAxisSuffixPlacement )
2510 Q_ENUM( TilePixelRatio )
2526 ForceFirstLetterToCapital = 4,
2529 UpperCamelCase = 1005,
2530 AllSmallCaps = 1006,
2532 Q_ENUM( Capitalization )
2543 Q_ENUM( TextRendererFlag )
2544 Q_DECLARE_FLAGS( TextRendererFlags, TextRendererFlag )
2545 Q_FLAG( TextRendererFlags )
2570 Q_ENUM( AngularDirection )
2583 Q_ENUM( RendererUsage )
2592 Sync3DTo2D = 1 << 0,
2593 Sync2DTo3D = 1 << 1,
2595 Q_ENUM( ViewSyncModeFlag )
2596 Q_DECLARE_FLAGS( ViewSyncModeFlags, ViewSyncModeFlag )
2606 WhenOutsideVisibleExtent,
2609 Q_ENUM( MapRecenteringMode )
2618 LocalProfile = 1 << 0,
2621 Q_ENUM( HistoryProviderBackend )
2622 Q_DECLARE_FLAGS( HistoryProviderBackends, HistoryProviderBackend )
2623 Q_FLAG( HistoryProviderBackends )
2639 Q_ENUM( ProcessingModelChildParameterSource )
2651 Q_ENUM( CrsDefinitionFormat )
2668 Q_ENUM( FieldDomainSplitPolicy )
2684 Q_ENUM( FieldDomainMergePolicy )
2697 Q_ENUM( FieldDomainType )
2707 AutomaticGroups = 1,
2710 Q_ENUM( TransactionMode )
2723 Q_ENUM( AltitudeClamping )
2735 Q_ENUM( AltitudeBinding )
2748 Q_ENUM( BetweenLineConstraint )
2761 Q_ENUM( LineExtensionSide )
2778 Q_ENUM( CadConstraintType )
2788 EvaluateDefaultValuesOnProviderSide = 1 << 0,
2789 TrustStoredLayerStatistics = 1 << 1,
2790 RememberLayerEditStatusBetweenSessions = 1 << 2,
2791 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
2793 Q_ENUM( ProjectFlag )
2794 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
2795 Q_FLAG( ProjectFlags )
2804 ShowContextMenu = 1 << 0,
2806 Q_ENUM( PlotToolFlag )
2807 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
2808 Q_FLAG( PlotToolFlags )
2820 Q_ENUM( LightSourceType )
2832 Q_ENUM( NavigationMode )
2845 Q_ENUM( VerticalAxisInversion )
2879 RespectsMaximumErrorMapUnit = 1 << 0,
2880 RespectsDistanceRange = 1 << 1,
2881 RespectsElevationRange = 1 << 2,
2883 Q_ENUM( ProfileGeneratorFlag )
2884 Q_DECLARE_FLAGS( ProfileGeneratorFlags, ProfileGeneratorFlag )
2885 Q_FLAG( ProfileGeneratorFlags )
2896 DistanceVsElevationTable,
2910 Q_ENUM( PointCloudSymbol )
2923 Q_ENUM( PointCloudDrawOrder )
2935 AvoidIntersectionsCurrentLayer,
2936 AvoidIntersectionsLayers,
2938 Q_ENUM( AvoidIntersectionsMode )
2952 Q_ENUM( ProjectFileFormat )
2968 DontLoadProjectStyles = 1 << 5,
2969 ForceReadOnlyLayers = 1 << 6,
2971 Q_ENUM( ProjectReadFlag )
2981 Q_FLAG( ProjectReadFlags )
2993 ProjectStyles = 1 << 0,
2995 Q_ENUM( ProjectCapability )
3002 Q_DECLARE_FLAGS( ProjectCapabilities, ProjectCapability )
3003 Q_FLAG( ProjectCapabilities )
3020 Q_ENUM( MapBoxGlStyleSourceType )
3039 Q_ENUM( ArcGisRestServiceType )
3053 Q_ENUM( RelationshipType )
3067 Q_ENUM( RelationshipStrength )
3081 Q_ENUM( RelationshipCardinality )
3090 MultipleFieldKeys = 1 << 0,
3091 ForwardPathLabel = 1 << 1,
3092 BackwardPathLabel = 1 << 2,
3094 Q_ENUM( RelationshipCapability )
3101 Q_DECLARE_FLAGS( RelationshipCapabilities, RelationshipCapability )
3102 Q_FLAG( RelationshipCapabilities )
3115 Q_ENUM( CoordinateDisplayType )
3128 Q_ENUM( SettingsOrigin )
3149 Q_ENUM( ScriptLanguage )
3161 CheckSyntax = 1 << 1,
3162 ToggleComment = 1 << 2,
3164 Q_ENUM( ScriptLanguageCapability )
3171 Q_DECLARE_FLAGS( ScriptLanguageCapabilities, ScriptLanguageCapability )
3172 Q_FLAG( ScriptLanguageCapabilities )
3181 AboveInsertionPoint,
3183 OptimalInInsertionGroup,
3185 Q_ENUM( LayerTreeInsertionMethod )
3194 SkipVisibilityCheck = 1 << 0,
3196 Q_ENUM( LayerTreeFilterFlag )
3203 Q_DECLARE_FLAGS( LayerTreeFilterFlags, LayerTreeFilterFlag )
3204 Q_FLAG( LayerTreeFilterFlags )
3216 ShowRuleDetails = 1 << 0,
3218 Q_ENUM( LegendJsonRenderFlag )
3219 Q_DECLARE_FLAGS( LegendJsonRenderFlags, LegendJsonRenderFlag )
3220 Q_FLAG( LegendJsonRenderFlags )
3235 Q_ENUM( ActionType )
3247 SingleFeature = 1 << 1,
3248 MultipleFeatures = 1 << 2,
3249 AllActions = Layer | SingleFeature | MultipleFeatures
3251 Q_ENUM( MapLayerActionTarget )
3260 Q_DECLARE_FLAGS( MapLayerActionTargets, MapLayerActionTarget )
3261 Q_FLAG( MapLayerActionTargets )
3272 EnabledOnlyWhenEditable = 1 << 1,
3274 Q_ENUM( MapLayerActionFlag )
3283 Q_DECLARE_FLAGS( MapLayerActionFlags, MapLayerActionFlag )
3284 Q_FLAG( MapLayerActionFlags )
3304 Q_ENUM( AttributeActionType )
3318 Q_ENUM( MetadataDateType )
3348 ContinuousPalette = 17
3350 Q_ENUM( RasterColorInterpretation )
3366 Q_ENUM( RasterLayerType )
3379 SingleBandPseudoColor,
3381 PalettedSingleBandGray,
3382 PalettedSingleBandPseudoColor,
3383 PalettedMultiBandColor,
3384 MultiBandSingleBandGray,
3385 MultiBandSingleBandPseudoColor,
3389 Q_ENUM( RasterDrawingStyle )
3404 Q_ENUM( RasterPyramidFormat )
3419 Q_ENUM( RasterBuildPyramidOption )
3436 Q_ENUM( RasterIdentifyFormat )
3448 Q_ENUM( ElevationMapCombineMethod )
3501 Q_ENUM( SystemOfMeasurement )
3515 Q_ENUM( MapToolUnit )
3555 Q_ENUM( DistanceUnit )
3570 Q_ENUM( DistanceUnitType )
3618 Q_ENUM( VolumeUnit )
3663 Q_ENUM( TemporalUnit )
3683 Q_ENUM( RenderUnit )
3703 Q_ENUM( LayoutUnit )
3717 Q_ENUM( LayoutUnitType )
3750 Q_ENUM( PostgresRelKind )
3759 SetFieldComment = 1 << 0,
3760 SetFieldAlias = 1 << 1,
3762 Q_ENUM( DatabaseProviderConnectionCapability2 )
3763 Q_DECLARE_FLAGS( DatabaseProviderConnectionCapabilities2, DatabaseProviderConnectionCapability2 )
3764 Q_FLAG( DatabaseProviderConnectionCapabilities2 )
3773 SaveToDatabase = 1 << 1,
3774 LoadFromDatabase = 1 << 2,
3775 DeleteFromDatabase = 1 << 3
3779 Q_FLAG( ProviderStyleStorageCapabilities )
3792 Q_ENUM( UserProfileSelectionPolicy )
3813 Q_ENUM( AttributeEditorType )
3826 Q_ENUM( AttributeEditorContainerType )
3841 Q_ENUM( AttributeFormLayout )
3856 Q_ENUM( AttributeFormSuppression )
3872 Q_ENUM( AttributeFormPythonInitCodeSource )
3885 Q_ENUM( ExpressionType )
3900 Q_ENUM( FeatureSymbologyExport )
3909 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
3911 Q_ENUM( VectorTileProviderFlag )
3918 Q_DECLARE_FLAGS( VectorTileProviderFlags, VectorTileProviderFlag )
3919 Q_FLAG( VectorTileProviderFlags )
3927 ReadLayerMetadata = 1 << 1,
3929 Q_ENUM( VectorTileProviderCapability )
3936 Q_DECLARE_FLAGS( VectorTileProviderCapabilities, VectorTileProviderCapability )
3937 Q_FLAG( VectorTileProviderCapabilities )
3948 AvailableNoChildren,
3949 UseLowerZoomLevelTile,
3951 Q_ENUM( TileAvailability )
3960 ReadLayerMetadata = 1 << 1,
3962 Q_ENUM( TiledSceneProviderCapability )
3969 Q_DECLARE_FLAGS( TiledSceneProviderCapabilities, TiledSceneProviderCapability )
3970 Q_FLAG( TiledSceneProviderCapabilities )
3983 Q_ENUM( TiledSceneBoundingVolumeType )
3998 Q_ENUM( TileRefinementProcess )
4011 Q_ENUM( TileChildrenAvailability )
4020 NoHierarchyFetch = 1 << 0,
4022 Q_ENUM( TiledSceneRequestFlag )
4029 Q_DECLARE_FLAGS( TiledSceneRequestFlags, TiledSceneRequestFlag )
4030 Q_FLAG( TiledSceneRequestFlags )
4039 RequiresTextures = 1 << 0,
4040 ForceRasterRender = 1 << 1,
4041 RendersTriangles = 1 << 2,
4042 RendersLines = 1 << 3,
4044 Q_ENUM( TiledSceneRendererFlag )
4051 Q_DECLARE_FLAGS( TiledSceneRendererFlags, TiledSceneRendererFlag )
4052 Q_FLAG( TiledSceneRendererFlags )
4061 RA_NearestNeighbour = 0,
4074 Q_ENUM( GdalResampleAlgorithm )
4080 static const
double DEFAULT_SEARCH_RADIUS_MM;
4083 static const
float DEFAULT_MAPTOPIXEL_THRESHOLD;
4091 static const QColor DEFAULT_HIGHLIGHT_COLOR;
4097 static const
double DEFAULT_HIGHLIGHT_BUFFER_MM;
4103 static const
double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
4111 static const
double SCALE_PRECISION;
4118 static const
double DEFAULT_Z_COORDINATE;
4125 static const
double DEFAULT_M_COORDINATE;
4132 static const
double UI_SCALE_FACTOR;
4138 static const
double DEFAULT_SNAP_TOLERANCE;
4151 static QString defaultProjectScales();
4158 static
int geosVersionInt();
4165 static
int geosVersionMajor();
4172 static
int geosVersionMinor();
4179 static
int geosVersionPatch();
4186 static QString geosVersion();
4252#define cast_to_fptr(f) f
4274 , mPreviousState( object->blockSignals( true ) )
4279 mObject->blockSignals( mPreviousState );
4287 Object *mObject =
nullptr;
4288 bool mPreviousState;
4312CORE_EXPORT uint
qHash(
const QVariant &variant );
4326 const double roundFactor = std::pow( 10, -
precision );
4327 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
4332 if (
str.contains( QLatin1Char(
'.' ) ) )
4335 int idx =
str.length() - 1;
4336 while (
str.at( idx ) ==
'0' && idx > 1 )
4340 if ( idx <
str.length() - 1 )
4341 str.truncate(
str.at( idx ) ==
'.' ? idx : idx + 1 );
4351 if (
str == QLatin1String(
"-0" ) )
4353 return QLatin1String(
"0" );
4366 const bool aIsNan = std::isnan( a );
4367 const bool bIsNan = std::isnan( b );
4368 if ( aIsNan || bIsNan )
4369 return aIsNan && bIsNan;
4380inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
4382 const bool aIsNan = std::isnan( a );
4383 const bool bIsNan = std::isnan( b );
4384 if ( aIsNan || bIsNan )
4385 return aIsNan && bIsNan;
4387 const double diff = a - b;
4388 return diff >= -epsilon && diff <= epsilon;
4397inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
4399 const bool aIsNan = std::isnan( a );
4400 const bool bIsNan = std::isnan( b );
4401 if ( aIsNan || bIsNan )
4402 return aIsNan && bIsNan;
4404 const float diff = a - b;
4405 return diff >= -epsilon && diff <= epsilon;
4411 const bool aIsNan = std::isnan( a );
4412 const bool bIsNan = std::isnan( b );
4413 if ( aIsNan || bIsNan )
4414 return aIsNan && bIsNan;
4422 const double ar = std::frexp( a, &aexp );
4423 const double br = std::frexp( b, &bexp );
4425 return aexp == bexp &&
4426 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
4436 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
4437 const double scaleFactor = std::pow( 10.0, places );
4438 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
4449template<
class Key,
class Value>
4453 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
4454 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
4456 result.chop( separator.size() );
4466template<
class Key,
class Value>
4470 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
4471 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
4473 result.chop( separator.size() );
4484QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
4487 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
4488 result += QString(
"%1%2" ).arg( *it ).arg( separator );
4490 result.chop( separator.size() );
4520 template<
typename To,
typename From>
inline To down_cast( From *f )
4523 ( std::is_base_of<From,
4524 typename std::remove_pointer<To>::type>::value ),
4525 "target type not derived from source type" );
4526 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
4527 return static_cast<To
>( f );
4531 QSet<T> listToSet(
const QList<T> &list )
4533 return QSet<T>( list.begin(), list.end() );
4537 QList<T> setToList(
const QSet<T> &set )
4539 return QList<T>( set.begin(), set.end() );
4552 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4553 Q_ASSERT( metaEnum.isValid() );
4555 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
4557 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
4569 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4570 Q_ASSERT( metaEnum.isValid() );
4571 QMap<T, QString> enumMap;
4572 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
4574 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
4586 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4587 Q_ASSERT( metaEnum.isValid() );
4588 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
4591 *returnOk = key ? true :
false;
4593 return QString::fromUtf8( key );
4603template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
4605 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4606 Q_ASSERT( metaEnum.isValid() );
4608 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
4620 if ( tryValueAsKey )
4622 bool canConvert =
false;
4623 const int intValue = key.toInt( &canConvert );
4624 if ( canConvert && metaEnum.valueToKey( intValue ) )
4630 return static_cast<T
>( intValue );
4634 return defaultValue;
4644 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4645 Q_ASSERT( metaEnum.isValid() );
4646 int intValue =
static_cast<int>( value );
4647 const QByteArray ba = metaEnum.valueToKeys( intValue );
4650 const int intValueCheck = metaEnum.keysToValue( ba );
4651 bool ok = intValue == intValueCheck;
4654 return ok ? QString::fromUtf8( ba ) : QString();
4664template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
4666 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4667 Q_ASSERT( metaEnum.isValid() );
4669 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
4681 if ( tryValueAsKey )
4683 bool canConvert =
false;
4684 const int intValue = keys.toInt( &canConvert );
4687 const QByteArray keys = metaEnum.valueToKeys( intValue );
4688 const int intValueCheck = metaEnum.keysToValue( keys );
4689 if ( intValue == intValueCheck )
4695 return T( intValue );
4700 return defaultValue;
4756CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
4766#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
4774inline bool operator> (
const QVariant &v1,
const QVariant &v2 )
4788inline bool operator< (
const QVariant &v1,
const QVariant &v2 )
4795#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
4800template<> CORE_EXPORT
bool qMapLessThanKey<QVariantList>(
const QVariantList &key1,
const QVariantList &key2 )
SIP_SKIP;
4803CORE_EXPORT QString
qgsVsiPrefix(
const QString &path );
4821#define CONSTLATIN1STRING inline const QLatin1String
4823#define CONSTLATIN1STRING constexpr QLatin1String
4827class ScopedIntIncrementor
4831 ScopedIntIncrementor(
int *variable )
4832 : mVariable( variable )
4837 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
4838 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
4845 mVariable =
nullptr;
4848 ~ScopedIntIncrementor()
4854 int *mVariable =
nullptr;
4864 return QLatin1String(
4865 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]] )"""
4872 return QLatin1String(
"+proj=longlat +datum=WGS84 +no_defs" );
4878 return QLatin1String(
"EPSG:4326" );
4884 return QLatin1String(
"NONE" );
4890const int PREVIEW_JOB_DELAY_MS = 250;
4893const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
4938#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
4940#define Q_NOWARN_DEPRECATED_PUSH \
4941 _Pragma("GCC diagnostic push") \
4942 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
4943#define Q_NOWARN_DEPRECATED_POP \
4944 _Pragma("GCC diagnostic pop");
4945#define Q_NOWARN_UNREACHABLE_PUSH
4946#define Q_NOWARN_UNREACHABLE_POP
4948#elif defined(_MSC_VER)
4950#define Q_NOWARN_DEPRECATED_PUSH \
4951 __pragma(warning(push)) \
4952 __pragma(warning(disable:4996))
4953#define Q_NOWARN_DEPRECATED_POP \
4954 __pragma(warning(pop))
4955#define Q_NOWARN_UNREACHABLE_PUSH \
4956 __pragma(warning(push)) \
4957 __pragma(warning(disable:4702))
4958#define Q_NOWARN_UNREACHABLE_POP \
4959 __pragma(warning(pop))
4963#define Q_NOWARN_DEPRECATED_PUSH
4964#define Q_NOWARN_DEPRECATED_POP
4965#define Q_NOWARN_UNREACHABLE_PUSH
4966#define Q_NOWARN_UNREACHABLE_POP
4973# define QGISEXTERN extern "C" __declspec( dllexport )
4975# if defined(__GNUC__) || defined(__clang__)
4976# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
4978# define QGISEXTERN extern "C"
4985#if __cplusplus >= 201703L
4986#define NODISCARD [[nodiscard]]
4987#elif defined(__clang__)
4988#define NODISCARD [[nodiscard]]
4989#elif defined(_MSC_VER)
4991#elif defined(__has_cpp_attribute)
4992#if __has_cpp_attribute(nodiscard)
4993#define NODISCARD [[nodiscard]]
4994#elif __has_cpp_attribute(gnu::warn_unused_result)
4995#define NODISCARD [[gnu::warn_unused_result]]
4997#define NODISCARD Q_REQUIRED_RESULT
5000#define NODISCARD Q_REQUIRED_RESULT
5003#if __cplusplus >= 201703L
5004#define MAYBE_UNUSED [[maybe_unused]]
5005#elif defined(__clang__)
5006#define MAYBE_UNUSED [[maybe_unused]]
5007#elif defined(_MSC_VER)
5009#elif defined(__has_cpp_attribute)
5010#if __has_cpp_attribute(gnu::unused)
5011#define MAYBE_UNUSED [[gnu::unused]]
5025#define BUILTIN_UNREACHABLE \
5027#elif defined(__GNUC__) && !defined(__clang__)
5038#define BUILTIN_UNREACHABLE \
5039 __builtin_unreachable();
5041#define BUILTIN_UNREACHABLE
5051QString 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.
GpsQualityIndicator
GPS signal quality indicator.
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.
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.
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.
GeometryOperationResult
Success or failure of a geometry operation.
BrowserItemState
Browser item states.
AttributeEditorContainerType
Attribute editor container types.
MarkerClipMode
Marker clipping modes.
AnnotationItemFlag
Flags for annotation items.
RenderSubcomponentProperty
Rendering subcomponent properties.
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
AngleUnit
Units of angles.
CaptureTechnique
Capture technique.
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.
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
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.
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.
FileOperationFlag
File operation flags.
ProjectCapability
Flags which control project capabilities.
Q_ENUM(VectorProfileType)
AttributeActionType
Map layer action flags.
FieldDomainMergePolicy
Merge policy for field domains.
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.
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.
MapRecenteringMode
Modes for recentering map canvases.
ActionStart
Enum to determine when an operation would begin.
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.
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.
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
AltitudeBinding
Altitude binding.
TiledSceneRendererFlag
Flags which control how tiled scene requests behave.
MapLayerActionTarget
Map layer action targets.
ScriptLanguage
Scripting languages.
TiledSceneProviderCapability
Tiled scene data provider capabilities.
LabelMultiLineAlignment
Text alignment for multi-line labels.
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.
SymbolPreviewFlag
Symbol flags.
AnnotationItemGuiFlag
Annotation item flags.
MapBoxGlStyleSourceType
Flags which control project capabilities.
LayoutUnitType
Types of layout units.
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.
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.
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)
BetweenLineConstraint
Between line constraints which can be enabled.
MetadataDateType
Date types for metadata.
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.
AutoRefreshMode
Map layer properties.
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.
LabelOverlapHandling
Label overlap handling.
FeatureSymbologyExport
Options for exporting features considering their symbology.
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
TextComponent
Text components.
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.
Q_DECLARE_FLAGS(MapSettingsFlags, MapSettingsFlag) SIP_MONKEYPATCH_FLAGS_UNNEST(QgsMapSettings
Map settings flags.
MapSettingsFlag
Coordinate transformation flags.
SelectBehavior
Specifies how a selection should be applied.
Utility class that encapsulates an action based on vector attributes.
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.
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.
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.
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.
Utility functions for working with strings.
Abstract base class for all rendered symbols.
Base class for templated line symbols, e.g.
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 (~/....
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_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.