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 )
443 Q_ENUM( SldExportOption )
444 Q_DECLARE_FLAGS( SldExportOptions, SldExportOption )
445 Q_FLAG( SldExportOptions )
454 NoVendorExtension = 0,
455 GeoServerVendorExtension = 1 << 1,
456 DeegreeVendorExtension = 1 << 2,
458 Q_ENUM( SldExportVendorExtension )
467 SaveFormerValue = 1 << 1,
468 SaveEnumFlagAsInt = 1 << 2,
470 Q_ENUM( SettingsOption )
471 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
472 Q_FLAG( SettingsOptions )
482 AdvancedConfiguration = 3,
484 Q_ENUM( SnappingMode )
500 Q_ENUM( SnappingType )
503 Q_FLAG( SnappingTypes )
514 Q_ENUM( SymbolRenderHint )
517 Q_FLAG( SymbolRenderHints )
529 Q_ENUM( SymbolRotationMode )
538 RendererShouldUseSymbolLevels = 1 << 0,
542 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
543 Q_FLAG( SymbolFlags )
552 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
554 Q_ENUM( SymbolPreviewFlag )
557 Q_FLAG( SymbolPreviewFlags )
570 DisableFeatureClipping = 1 << 0,
572 Q_ENUM( SymbolLayerFlag )
574 Q_DECLARE_FLAGS( SymbolLayerFlags, SymbolLayerFlag )
575 Q_FLAG( SymbolLayerFlags )
588 DisableSelectionRecoloring = 1 << 0,
590 Q_ENUM( SymbolLayerUserFlag )
597 Q_DECLARE_FLAGS( SymbolLayerUserFlags, SymbolLayerUserFlag )
598 Q_FLAG( SymbolLayerUserFlags )
617 Q_ENUM( BrowserItemType )
630 Q_ENUM( BrowserItemState )
646 ItemRepresentsFile = 1 << 6,
647 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
649 Q_ENUM( BrowserItemCapability )
652 Q_FLAG( BrowserItemCapabilities )
676 Q_ENUM( BrowserLayerType )
689 Q_ENUM( BrowserDirectoryMonitoring )
722 Q_ENUM( VectorExportResult )
730 FieldAliases = 1 << 0,
731 FieldComments = 1 << 2,
733 Q_ENUM( VectorFileWriterCapability )
739 Q_DECLARE_FLAGS( VectorFileWriterCapabilities, VectorFileWriterCapability )
740 Q_FLAG( VectorFileWriterCapabilities )
748 SubsetStringFilter = 1 << 1,
749 GeometryColumn = 1 << 2,
750 PrimaryKeys = 1 << 3,
751 UnstableFeatureIds = 1 << 4
753 Q_ENUM( SqlLayerDefinitionCapability )
755 Q_DECLARE_FLAGS( SqlLayerDefinitionCapabilities, SqlLayerDefinitionCapability )
756 Q_FLAG( SqlLayerDefinitionCapabilities )
775 Q_ENUM( SqlKeywordCategory )
803 Q_ENUM( ActionStart )
815 Q_ENUM( UnplacedLabelVisibility )
825 AllowOverlapIfRequired,
826 AllowOverlapAtNoCost,
828 Q_ENUM( LabelOverlapHandling )
845 OrderedPositionsAroundPoint,
849 Q_ENUM( LabelPlacement )
873 Q_ENUM( LabelPredefinedPointPosition )
888 Q_ENUM( LabelOffsetType )
909 Q_ENUM( LabelQuadrantPosition )
924 Q_ENUM( LabelLinePlacementFlag )
934 Q_FLAG( LabelLinePlacementFlags )
944 AllowPlacementOutsideOfPolygon = 1 << 0,
945 AllowPlacementInsideOfPolygon = 1 << 1,
947 Q_ENUM( LabelPolygonPlacementFlag )
955 Q_DECLARE_FLAGS( LabelPolygonPlacementFlags, LabelPolygonPlacementFlag )
956 Q_FLAG( LabelPolygonPlacementFlags )
971 Q_ENUM( UpsideDownLabelHandling )
988 Q_ENUM( LabelMultiLineAlignment )
1006 Q_ENUM( FileFilterType )
1016 ResolveGeometryType = 1 << 1,
1017 CountFeatures = 1 << 2,
1018 IncludeSystemTables = 1 << 3,
1021 Q_DECLARE_FLAGS( SublayerQueryFlags, SublayerQueryFlag )
1022 Q_ENUM( SublayerQueryFlag )
1023 Q_FLAG( SublayerQueryFlags )
1032 SystemTable = 1 << 0,
1035 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
1036 Q_ENUM( SublayerFlag )
1037 Q_FLAG( SublayerFlags )
1055 Q_ENUM( RasterPipeInterfaceRole )
1068 Q_ENUM( RasterResamplingStage )
1077 InternalLayerOpacityHandling = 1 << 0,
1085 Q_DECLARE_FLAGS( RasterRendererFlags, RasterRendererFlag )
1087 Q_ENUM( RasterRendererFlag )
1088 Q_FLAG( RasterRendererFlags )
1117 Q_ENUM( RasterAttributeTableFieldUsage )
1129 Q_ENUM( RasterAttributeTableType )
1142 Q_ENUM( RasterExportType )
1153 SourceProviderError = 1,
1155 CreateDatasourceError = 3,
1160 Q_ENUM( RasterFileWriterResult )
1171 TooManyVerticesInFace,
1177 Q_ENUM( MeshEditingErrorType )
1189 Q_ENUM( FilePathType )
1199 AskExcludingRasterBands,
1203 Q_ENUM( SublayerPromptMode )
1215 NotSearchable = 1 << 1,
1216 HideFromWms = 1 << 2,
1217 HideFromWfs = 1 << 3,
1219 Q_ENUM( FieldConfigurationFlag )
1228 Q_DECLARE_FLAGS( FieldConfigurationFlags, FieldConfigurationFlag )
1229 Q_FLAG( FieldConfigurationFlags )
1238 GeometryCrs = 0x1000,
1239 GeometryWkbType = 0x1001,
1240 CustomProperty = 0x100000,
1242 Q_ENUM( FieldMetadataProperty )
1255 Q_ENUM( SelectionRenderingMode )
1267 RemoveFromSelection,
1269 Q_ENUM( SelectBehavior )
1281 Q_ENUM( SelectGeometryRelationship )
1290 SingleFeatureSelection = 1 << 0,
1291 ToggleSelection = 1 << 1,
1299 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1301 Q_ENUM( SelectionFlag )
1302 Q_FLAG( SelectionFlags )
1314 FetchFeatureFailed = 3,
1317 Q_ENUM( VectorEditResult )
1326 SemiTransparentCircle,
1330 Q_ENUM( VertexMarkerType )
1344 Q_ENUM( ContentStatus )
1358 Q_ENUM( GpsConnectionType )
1371 Q_ENUM( DeviceConnectionStatus )
1426 Q_ENUM( GpsQualityIndicator )
1437 GroundSpeed = 1 << 2,
1439 TotalTrackLength = 1 << 4,
1440 TrackDistanceFromStart = 1 << 5,
1444 HorizontalAccuracy = 1 << 9,
1445 VerticalAccuracy = 1 << 10,
1446 HvAccuracy = 1 << 11,
1447 SatellitesUsed = 1 << 12,
1448 Timestamp = 1 << 13,
1449 TrackStartTime = 1 << 14,
1450 TrackEndTime = 1 << 15,
1451 TrackDistanceSinceLastPoint = 1 << 16,
1452 TrackTimeSinceLastPoint = 1 << 17,
1453 GeoidalSeparation = 1 << 18,
1454 EllipsoidAltitude = 1 << 19,
1462 Q_DECLARE_FLAGS( GpsInformationComponents, GpsInformationComponent )
1463 Q_ENUM( GpsInformationComponent )
1464 Q_FLAG( GpsInformationComponents )
1480 Q_DECLARE_FLAGS( BabelFormatCapabilities, BabelFormatCapability )
1481 Q_ENUM( BabelFormatCapability )
1482 Q_FLAG( BabelFormatCapabilities )
1492 QuoteFilePaths = 1 << 0,
1495 Q_DECLARE_FLAGS( BabelCommandFlags, BabelCommandFlag )
1496 Q_ENUM( BabelCommandFlag )
1497 Q_FLAG( BabelCommandFlags )
1510 Q_ENUM( GpsFeatureType )
1522 NothingHappened = 1000,
1523 InvalidBaseGeometry,
1524 InvalidInputGeometryType,
1526 SelectionIsGreaterThanOne,
1527 GeometryEngineError,
1530 AddPartSelectedGeometryNotFound,
1531 AddPartNotMultiGeometry,
1535 AddRingCrossesExistingRings,
1536 AddRingNotInExistingFeature,
1538 SplitCannotSplitPoint,
1539 GeometryTypeHasChanged,
1541 Q_ENUM( GeometryOperationResult )
1555 Q_FLAG( GeometryValidityFlags )
1566 Q_ENUM( GeometryValidationEngine )
1578 Q_ENUM( BufferSide )
1591 Q_ENUM( EndCapStyle )
1616 Q_ENUM( MakeValidMethod )
1629 Q_ENUM( SpatialFilterType )
1638 IncludeMetadataFile = 1 << 0,
1639 IncludeStyleFile = 1 << 1,
1642 Q_DECLARE_FLAGS( FileOperationFlags, FileOperationFlag )
1643 Q_ENUM( FileOperationFlag )
1644 Q_FLAG( FileOperationFlags )
1653 UsersCannotToggleEditing = 1 << 0,
1654 IsBasemapLayer = 1 << 1,
1657 Q_DECLARE_FLAGS( MapLayerProperties, MapLayerProperty )
1658 Q_ENUM( MapLayerProperty )
1659 Q_FLAG( MapLayerProperties )
1672 Q_ENUM( AutoRefreshMode )
1681 IsBasemapSource = 1 << 1,
1684 Q_DECLARE_FLAGS( DataProviderFlags, DataProviderFlag )
1685 Q_ENUM( DataProviderFlag )
1686 Q_FLAG( DataProviderFlags )
1763 Q_ENUM( CrsAxisDirection )
1776 Q_ENUM( CoordinateOrder )
1798 ScaleDependentBoundingBox = 1 << 0,
1801 Q_DECLARE_FLAGS( AnnotationItemFlags, AnnotationItemFlag )
1802 Q_ENUM( AnnotationItemFlag )
1803 Q_FLAG( AnnotationItemFlags )
1812 FlagNoCreationTools = 1 << 0,
1815 Q_DECLARE_FLAGS( AnnotationItemGuiFlags, AnnotationItemGuiFlag )
1816 Q_ENUM( AnnotationItemGuiFlag )
1817 Q_FLAG( AnnotationItemGuiFlags )
1828 Q_ENUM( AnnotationItemNodeType )
1841 Q_ENUM( AnnotationItemEditOperationResult )
1857 Q_ENUM( VectorTemporalMode )
1866 IncludeBeginExcludeEnd = 0,
1867 IncludeBeginIncludeEnd,
1869 Q_ENUM( VectorTemporalLimitMode )
1880 StoresFeatureDateTimeStartAndEndInSeparateFields
SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
1882 Q_ENUM( VectorDataProviderTemporalMode )
1895 Q_ENUM( RasterTemporalMode )
1904 MatchUsingWholeRange,
1905 MatchExactUsingStartOfRange,
1906 MatchExactUsingEndOfRange,
1907 FindClosestMatchToStartOfRange,
1908 FindClosestMatchToEndOfRange
1910 Q_ENUM( TemporalIntervalMatchMethod )
1919 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
1921 Q_ENUM( RasterTemporalCapabilityFlag )
1928 Q_DECLARE_FLAGS( RasterTemporalCapabilityFlags, RasterTemporalCapabilityFlag )
1929 Q_FLAG( RasterTemporalCapabilityFlags )
1941 Q_ENUM( TransformDirection )
1950 BallparkTransformsAreAppropriate = 1 << 0,
1951 IgnoreImpossibleTransformations = 1 << 1,
1953 Q_ENUM( CoordinateTransformationFlag )
1960 Q_DECLARE_FLAGS( CoordinateTransformationFlags, CoordinateTransformationFlag )
1961 Q_FLAG( CoordinateTransformationFlags )
1970 Antialiasing = 0x01,
1971 DrawEditingInfo = 0x02,
1972 ForceVectorOutput = 0x04,
1973 UseAdvancedEffects = 0x08,
1974 DrawLabeling = 0x10,
1975 UseRenderingOptimization = 0x20,
1976 DrawSelection = 0x40,
1977 DrawSymbolBounds = 0x80,
1978 RenderMapTile = 0x100,
1979 RenderPartialOutput = 0x200,
1980 RenderPreviewJob = 0x400,
1981 RenderBlocking = 0x800,
1982 LosslessImageRendering = 0x1000,
1983 Render3DMap = 0x2000,
1984 HighQualityImageTransforms = 0x4000,
1985 SkipSymbolRendering = 0x8000,
1986 ForceRasterMasks = 0x10000,
1987 RecordProfile = 0x20000,
1992 Q_FLAG( MapSettingsFlags )
2001 DrawEditingInfo = 0x01,
2002 ForceVectorOutput = 0x02,
2003 UseAdvancedEffects = 0x04,
2004 UseRenderingOptimization = 0x08,
2005 DrawSelection = 0x10,
2006 DrawSymbolBounds = 0x20,
2007 RenderMapTile = 0x40,
2008 Antialiasing = 0x80,
2009 RenderPartialOutput = 0x100,
2010 RenderPreviewJob = 0x200,
2011 RenderBlocking = 0x400,
2012 RenderSymbolPreview = 0x800,
2013 LosslessImageRendering = 0x1000,
2014 ApplyScalingWorkaroundForTextRendering = 0x2000,
2015 Render3DMap = 0x4000,
2016 ApplyClipAfterReprojection = 0x8000,
2017 RenderingSubSymbol = 0x10000,
2018 HighQualityImageTransforms = 0x20000,
2019 SkipSymbolRendering = 0x40000,
2020 RecordProfile = 0x80000,
2025 Q_FLAG( RenderContextFlags )
2034 RenderPartialOutputs = 1 << 0,
2035 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2037 Q_ENUM( MapLayerRendererFlag )
2044 Q_DECLARE_FLAGS( MapLayerRendererFlags, MapLayerRendererFlag )
2045 Q_FLAG( MapLayerRendererFlags )
2059 Q_ENUM( TextRenderFormat )
2070 UseAllLabels = 1 << 1,
2071 UsePartialCandidates = 1 << 2,
2073 RenderOutlineLabels = 1 << 3,
2074 DrawLabelRectOnly = 1 << 4,
2075 DrawCandidates = 1 << 5,
2076 DrawUnplacedLabels = 1 << 6,
2077 CollectUnplacedLabels = 1 << 7,
2078 DrawLabelMetrics = 1 << 8,
2080 Q_ENUM( LabelingFlag )
2090 Q_FLAG( LabelingFlags )
2104 Q_ENUM( LabelPlacementEngineVersion )
2119 Q_ENUM( TextOrientation )
2133 RectangleCapHeightBased,
2134 RectangleAscentBased,
2136 Q_ENUM( TextLayoutMode )
2152 Q_ENUM( TextComponent )
2168 Q_ENUM( TextHorizontalAlignment )
2186 Q_ENUM( TextVerticalAlignment )
2202 Q_ENUM( TextCharacterVerticalAlignment )
2216 Q_ENUM( RenderSubcomponentProperty )
2227 Q_ENUM( VertexType )
2243 EquilateralTriangle,
2276 Q_ENUM( MarkerShape )
2289 LastVertex = 1 << 2,
2290 FirstVertex = 1 << 3,
2291 CentralPoint = 1 << 4,
2292 CurvePoint = 1 << 5,
2293 SegmentCenter = 1 << 6,
2294 InnerVertices = 1 << 7,
2296 Q_ENUM( MarkerLinePlacement )
2297 Q_DECLARE_FLAGS( MarkerLinePlacements, MarkerLinePlacement )
2298 Q_FLAG( MarkerLinePlacements )
2312 Q_ENUM( GradientColorSource )
2327 Q_ENUM( GradientType )
2341 Q_ENUM( SymbolCoordinateReference )
2357 Q_ENUM( GradientSpread )
2371 Q_ENUM( PointCountMethod )
2385 Q_ENUM( MarkerClipMode )
2398 Q_ENUM( LineClipMode )
2413 Q_ENUM( DashPatternLineEndingRule )
2422 ScaleBothDashAndGap,
2426 Q_ENUM( DashPatternSizeAdjustment )
2440 Q_ENUM( GraduatedMethod )
2455 Q_ENUM( PlotAxisSuffixPlacement )
2481 Q_ENUM( TilePixelRatio )
2497 ForceFirstLetterToCapital = 4,
2500 UpperCamelCase = 1005,
2501 AllSmallCaps = 1006,
2503 Q_ENUM( Capitalization )
2514 Q_ENUM( TextRendererFlag )
2515 Q_DECLARE_FLAGS( TextRendererFlags, TextRendererFlag )
2516 Q_FLAG( TextRendererFlags )
2540 Q_ENUM( AngularDirection )
2553 Q_ENUM( RendererUsage )
2562 Sync3DTo2D = 1 << 0,
2563 Sync2DTo3D = 1 << 1,
2565 Q_ENUM( ViewSyncModeFlag )
2566 Q_DECLARE_FLAGS( ViewSyncModeFlags, ViewSyncModeFlag )
2576 WhenOutsideVisibleExtent,
2579 Q_ENUM( MapRecenteringMode )
2588 LocalProfile = 1 << 0,
2591 Q_ENUM( HistoryProviderBackend )
2592 Q_DECLARE_FLAGS( HistoryProviderBackends, HistoryProviderBackend )
2593 Q_FLAG( HistoryProviderBackends )
2609 Q_ENUM( ProcessingModelChildParameterSource )
2621 Q_ENUM( CrsDefinitionFormat )
2638 Q_ENUM( FieldDomainSplitPolicy )
2654 Q_ENUM( FieldDomainMergePolicy )
2667 Q_ENUM( FieldDomainType )
2677 AutomaticGroups = 1,
2680 Q_ENUM( TransactionMode )
2693 Q_ENUM( AltitudeClamping )
2705 Q_ENUM( AltitudeBinding )
2718 Q_ENUM( BetweenLineConstraint )
2731 Q_ENUM( LineExtensionSide )
2748 Q_ENUM( CadConstraintType )
2758 EvaluateDefaultValuesOnProviderSide = 1 << 0,
2759 TrustStoredLayerStatistics = 1 << 1,
2760 RememberLayerEditStatusBetweenSessions = 1 << 2,
2761 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
2763 Q_ENUM( ProjectFlag )
2764 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
2765 Q_FLAG( ProjectFlags )
2774 ShowContextMenu = 1 << 0,
2776 Q_ENUM( PlotToolFlag )
2777 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
2778 Q_FLAG( PlotToolFlags )
2790 Q_ENUM( LightSourceType )
2802 Q_ENUM( NavigationMode )
2815 Q_ENUM( VerticalAxisInversion )
2849 RespectsMaximumErrorMapUnit = 1 << 0,
2850 RespectsDistanceRange = 1 << 1,
2851 RespectsElevationRange = 1 << 2,
2853 Q_ENUM( ProfileGeneratorFlag )
2854 Q_DECLARE_FLAGS( ProfileGeneratorFlags, ProfileGeneratorFlag )
2855 Q_FLAG( ProfileGeneratorFlags )
2866 DistanceVsElevationTable,
2880 Q_ENUM( PointCloudSymbol )
2893 Q_ENUM( PointCloudDrawOrder )
2905 AvoidIntersectionsCurrentLayer,
2906 AvoidIntersectionsLayers,
2908 Q_ENUM( AvoidIntersectionsMode )
2922 Q_ENUM( ProjectFileFormat )
2938 DontLoadProjectStyles = 1 << 5,
2939 ForceReadOnlyLayers = 1 << 6,
2941 Q_ENUM( ProjectReadFlag )
2951 Q_FLAG( ProjectReadFlags )
2963 ProjectStyles = 1 << 0,
2965 Q_ENUM( ProjectCapability )
2972 Q_DECLARE_FLAGS( ProjectCapabilities, ProjectCapability )
2973 Q_FLAG( ProjectCapabilities )
2990 Q_ENUM( MapBoxGlStyleSourceType )
3009 Q_ENUM( ArcGisRestServiceType )
3023 Q_ENUM( RelationshipType )
3037 Q_ENUM( RelationshipStrength )
3051 Q_ENUM( RelationshipCardinality )
3060 MultipleFieldKeys = 1 << 0,
3061 ForwardPathLabel = 1 << 1,
3062 BackwardPathLabel = 1 << 2,
3064 Q_ENUM( RelationshipCapability )
3071 Q_DECLARE_FLAGS( RelationshipCapabilities, RelationshipCapability )
3072 Q_FLAG( RelationshipCapabilities )
3085 Q_ENUM( CoordinateDisplayType )
3098 Q_ENUM( SettingsOrigin )
3119 Q_ENUM( ScriptLanguage )
3131 CheckSyntax = 1 << 1,
3132 ToggleComment = 1 << 2,
3134 Q_ENUM( ScriptLanguageCapability )
3141 Q_DECLARE_FLAGS( ScriptLanguageCapabilities, ScriptLanguageCapability )
3142 Q_FLAG( ScriptLanguageCapabilities )
3151 AboveInsertionPoint,
3153 OptimalInInsertionGroup,
3155 Q_ENUM( LayerTreeInsertionMethod )
3164 SkipVisibilityCheck = 1 << 0,
3166 Q_ENUM( LayerTreeFilterFlag )
3173 Q_DECLARE_FLAGS( LayerTreeFilterFlags, LayerTreeFilterFlag )
3174 Q_FLAG( LayerTreeFilterFlags )
3189 Q_ENUM( ActionType )
3201 SingleFeature = 1 << 1,
3202 MultipleFeatures = 1 << 2,
3203 AllActions = Layer | SingleFeature | MultipleFeatures
3205 Q_ENUM( MapLayerActionTarget )
3214 Q_DECLARE_FLAGS( MapLayerActionTargets, MapLayerActionTarget )
3215 Q_FLAG( MapLayerActionTargets )
3226 EnabledOnlyWhenEditable = 1 << 1,
3228 Q_ENUM( MapLayerActionFlag )
3237 Q_DECLARE_FLAGS( MapLayerActionFlags, MapLayerActionFlag )
3238 Q_FLAG( MapLayerActionFlags )
3258 Q_ENUM( AttributeActionType )
3272 Q_ENUM( MetadataDateType )
3302 ContinuousPalette = 17
3304 Q_ENUM( RasterColorInterpretation )
3320 Q_ENUM( RasterLayerType )
3333 SingleBandPseudoColor,
3335 PalettedSingleBandGray,
3336 PalettedSingleBandPseudoColor,
3337 PalettedMultiBandColor,
3338 MultiBandSingleBandGray,
3339 MultiBandSingleBandPseudoColor,
3343 Q_ENUM( RasterDrawingStyle )
3358 Q_ENUM( RasterPyramidFormat )
3373 Q_ENUM( RasterBuildPyramidOption )
3390 Q_ENUM( RasterIdentifyFormat )
3402 Q_ENUM( ElevationMapCombineMethod )
3455 Q_ENUM( SystemOfMeasurement )
3469 Q_ENUM( MapToolUnit )
3509 Q_ENUM( DistanceUnit )
3524 Q_ENUM( DistanceUnitType )
3572 Q_ENUM( VolumeUnit )
3617 Q_ENUM( TemporalUnit )
3637 Q_ENUM( RenderUnit )
3657 Q_ENUM( LayoutUnit )
3671 Q_ENUM( LayoutUnitType )
3704 Q_ENUM( PostgresRelKind )
3713 SetFieldComment = 1 << 0,
3714 SetFieldAlias = 1 << 1,
3716 Q_ENUM( DatabaseProviderConnectionCapability2 )
3717 Q_DECLARE_FLAGS( DatabaseProviderConnectionCapabilities2, DatabaseProviderConnectionCapability2 )
3718 Q_FLAG( DatabaseProviderConnectionCapabilities2 )
3727 SaveToDatabase = 1 << 1,
3728 LoadFromDatabase = 1 << 2,
3729 DeleteFromDatabase = 1 << 3
3733 Q_FLAG( ProviderStyleStorageCapabilities )
3746 Q_ENUM( UserProfileSelectionPolicy )
3767 Q_ENUM( AttributeEditorType )
3780 Q_ENUM( AttributeEditorContainerType )
3795 Q_ENUM( AttributeFormLayout )
3810 Q_ENUM( AttributeFormSuppression )
3826 Q_ENUM( AttributeFormPythonInitCodeSource )
3839 Q_ENUM( ExpressionType )
3854 Q_ENUM( FeatureSymbologyExport )
3863 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
3865 Q_ENUM( VectorTileProviderFlag )
3872 Q_DECLARE_FLAGS( VectorTileProviderFlags, VectorTileProviderFlag )
3873 Q_FLAG( VectorTileProviderFlags )
3881 ReadLayerMetadata = 1 << 1,
3883 Q_ENUM( VectorTileProviderCapability )
3890 Q_DECLARE_FLAGS( VectorTileProviderCapabilities, VectorTileProviderCapability )
3891 Q_FLAG( VectorTileProviderCapabilities )
3902 AvailableNoChildren,
3903 UseLowerZoomLevelTile,
3905 Q_ENUM( TileAvailability )
3914 ReadLayerMetadata = 1 << 1,
3916 Q_ENUM( TiledSceneProviderCapability )
3923 Q_DECLARE_FLAGS( TiledSceneProviderCapabilities, TiledSceneProviderCapability )
3924 Q_FLAG( TiledSceneProviderCapabilities )
3937 Q_ENUM( TiledSceneBoundingVolumeType )
3952 Q_ENUM( TileRefinementProcess )
3965 Q_ENUM( TileChildrenAvailability )
3974 NoHierarchyFetch = 1 << 0,
3976 Q_ENUM( TiledSceneRequestFlag )
3983 Q_DECLARE_FLAGS( TiledSceneRequestFlags, TiledSceneRequestFlag )
3984 Q_FLAG( TiledSceneRequestFlags )
3993 RequiresTextures = 1 << 0,
3994 ForceRasterRender = 1 << 1,
3995 RendersTriangles = 1 << 2,
3996 RendersLines = 1 << 3,
3998 Q_ENUM( TiledSceneRendererFlag )
4005 Q_DECLARE_FLAGS( TiledSceneRendererFlags, TiledSceneRendererFlag )
4006 Q_FLAG( TiledSceneRendererFlags )
4015 RA_NearestNeighbour = 0,
4028 Q_ENUM( GdalResampleAlgorithm )
4034 static const
double DEFAULT_SEARCH_RADIUS_MM;
4037 static const
float DEFAULT_MAPTOPIXEL_THRESHOLD;
4045 static const QColor DEFAULT_HIGHLIGHT_COLOR;
4051 static const
double DEFAULT_HIGHLIGHT_BUFFER_MM;
4057 static const
double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
4065 static const
double SCALE_PRECISION;
4072 static const
double DEFAULT_Z_COORDINATE;
4079 static const
double DEFAULT_M_COORDINATE;
4086 static const
double UI_SCALE_FACTOR;
4092 static const
double DEFAULT_SNAP_TOLERANCE;
4105 static QString defaultProjectScales();
4112 static
int geosVersionInt();
4119 static
int geosVersionMajor();
4126 static
int geosVersionMinor();
4133 static
int geosVersionPatch();
4140 static QString geosVersion();
4204#define cast_to_fptr(f) f
4226 , mPreviousState( object->blockSignals( true ) )
4231 mObject->blockSignals( mPreviousState );
4239 Object *mObject =
nullptr;
4240 bool mPreviousState;
4264CORE_EXPORT uint
qHash(
const QVariant &variant );
4278 const double roundFactor = std::pow( 10, -
precision );
4279 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
4284 if (
str.contains( QLatin1Char(
'.' ) ) )
4287 int idx =
str.length() - 1;
4288 while (
str.at( idx ) ==
'0' && idx > 1 )
4292 if ( idx <
str.length() - 1 )
4293 str.truncate(
str.at( idx ) ==
'.' ? idx : idx + 1 );
4303 if (
str == QLatin1String(
"-0" ) )
4305 return QLatin1String(
"0" );
4318 const bool aIsNan = std::isnan( a );
4319 const bool bIsNan = std::isnan( b );
4320 if ( aIsNan || bIsNan )
4321 return aIsNan && bIsNan;
4332inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
4334 const bool aIsNan = std::isnan( a );
4335 const bool bIsNan = std::isnan( b );
4336 if ( aIsNan || bIsNan )
4337 return aIsNan && bIsNan;
4339 const double diff = a - b;
4340 return diff >= -epsilon && diff <= epsilon;
4349inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
4351 const bool aIsNan = std::isnan( a );
4352 const bool bIsNan = std::isnan( b );
4353 if ( aIsNan || bIsNan )
4354 return aIsNan && bIsNan;
4356 const float diff = a - b;
4357 return diff >= -epsilon && diff <= epsilon;
4363 const bool aIsNan = std::isnan( a );
4364 const bool bIsNan = std::isnan( b );
4365 if ( aIsNan || bIsNan )
4366 return aIsNan && bIsNan;
4374 const double ar = std::frexp( a, &aexp );
4375 const double br = std::frexp( b, &bexp );
4377 return aexp == bexp &&
4378 std::round( ar * std::pow( 10.0, significantDigits ) ) == std::round( br * std::pow( 10.0, significantDigits ) );
4388 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
4389 const double scaleFactor = std::pow( 10.0, places );
4390 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
4401template<
class Key,
class Value>
4405 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
4406 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
4408 result.chop( separator.size() );
4418template<
class Key,
class Value>
4422 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
4423 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
4425 result.chop( separator.size() );
4436QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
4439 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
4440 result += QString(
"%1%2" ).arg( *it ).arg( separator );
4442 result.chop( separator.size() );
4472 template<
typename To,
typename From>
inline To down_cast( From *f )
4475 ( std::is_base_of<From,
4476 typename std::remove_pointer<To>::type>::value ),
4477 "target type not derived from source type" );
4478 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
4479 return static_cast<To
>( f );
4483 QSet<T> listToSet(
const QList<T> &list )
4485 return QSet<T>( list.begin(), list.end() );
4489 QList<T> setToList(
const QSet<T> &set )
4491 return QList<T>( set.begin(), set.end() );
4504 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4505 Q_ASSERT( metaEnum.isValid() );
4507 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
4509 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
4521 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4522 Q_ASSERT( metaEnum.isValid() );
4523 QMap<T, QString> enumMap;
4524 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
4526 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
4538 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4539 Q_ASSERT( metaEnum.isValid() );
4540 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
4543 *returnOk = key ? true :
false;
4545 return QString::fromUtf8( key );
4555template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
4557 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4558 Q_ASSERT( metaEnum.isValid() );
4560 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
4572 if ( tryValueAsKey )
4574 bool canConvert =
false;
4575 const int intValue = key.toInt( &canConvert );
4576 if ( canConvert && metaEnum.valueToKey( intValue ) )
4582 return static_cast<T
>( intValue );
4586 return defaultValue;
4596 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4597 Q_ASSERT( metaEnum.isValid() );
4598 int intValue =
static_cast<int>( value );
4599 const QByteArray ba = metaEnum.valueToKeys( intValue );
4602 const int intValueCheck = metaEnum.keysToValue( ba );
4603 bool ok = intValue == intValueCheck;
4606 return ok ? QString::fromUtf8( ba ) : QString();
4616template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
4618 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4619 Q_ASSERT( metaEnum.isValid() );
4621 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
4633 if ( tryValueAsKey )
4635 bool canConvert =
false;
4636 const int intValue = keys.toInt( &canConvert );
4639 const QByteArray keys = metaEnum.valueToKeys( intValue );
4640 const int intValueCheck = metaEnum.keysToValue( keys );
4641 if ( intValue == intValueCheck )
4647 return T( intValue );
4652 return defaultValue;
4708CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
4718#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
4726inline bool operator> (
const QVariant &v1,
const QVariant &v2 )
4740inline bool operator< (
const QVariant &v1,
const QVariant &v2 )
4747#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
4752template<> CORE_EXPORT
bool qMapLessThanKey<QVariantList>(
const QVariantList &key1,
const QVariantList &key2 )
SIP_SKIP;
4755CORE_EXPORT QString
qgsVsiPrefix(
const QString &path );
4773#define CONSTLATIN1STRING inline const QLatin1String
4775#define CONSTLATIN1STRING constexpr QLatin1String
4779class ScopedIntIncrementor
4783 ScopedIntIncrementor(
int *variable )
4784 : mVariable( variable )
4789 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
4790 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
4797 mVariable =
nullptr;
4800 ~ScopedIntIncrementor()
4806 int *mVariable =
nullptr;
4816 return QLatin1String(
4817 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]] )"""
4824 return QLatin1String(
"+proj=longlat +datum=WGS84 +no_defs" );
4830 return QLatin1String(
"EPSG:4326" );
4836 return QLatin1String(
"NONE" );
4842const int PREVIEW_JOB_DELAY_MS = 250;
4845const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
4890#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
4892#define Q_NOWARN_DEPRECATED_PUSH \
4893 _Pragma("GCC diagnostic push") \
4894 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
4895#define Q_NOWARN_DEPRECATED_POP \
4896 _Pragma("GCC diagnostic pop");
4897#define Q_NOWARN_UNREACHABLE_PUSH
4898#define Q_NOWARN_UNREACHABLE_POP
4900#elif defined(_MSC_VER)
4902#define Q_NOWARN_DEPRECATED_PUSH \
4903 __pragma(warning(push)) \
4904 __pragma(warning(disable:4996))
4905#define Q_NOWARN_DEPRECATED_POP \
4906 __pragma(warning(pop))
4907#define Q_NOWARN_UNREACHABLE_PUSH \
4908 __pragma(warning(push)) \
4909 __pragma(warning(disable:4702))
4910#define Q_NOWARN_UNREACHABLE_POP \
4911 __pragma(warning(pop))
4915#define Q_NOWARN_DEPRECATED_PUSH
4916#define Q_NOWARN_DEPRECATED_POP
4917#define Q_NOWARN_UNREACHABLE_PUSH
4918#define Q_NOWARN_UNREACHABLE_POP
4925# define QGISEXTERN extern "C" __declspec( dllexport )
4927# if defined(__GNUC__) || defined(__clang__)
4928# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
4930# define QGISEXTERN extern "C"
4937#if __cplusplus >= 201703L
4938#define NODISCARD [[nodiscard]]
4939#elif defined(__clang__)
4940#define NODISCARD [[nodiscard]]
4941#elif defined(_MSC_VER)
4943#elif defined(__has_cpp_attribute)
4944#if __has_cpp_attribute(nodiscard)
4945#define NODISCARD [[nodiscard]]
4946#elif __has_cpp_attribute(gnu::warn_unused_result)
4947#define NODISCARD [[gnu::warn_unused_result]]
4949#define NODISCARD Q_REQUIRED_RESULT
4952#define NODISCARD Q_REQUIRED_RESULT
4955#if __cplusplus >= 201703L
4956#define MAYBE_UNUSED [[maybe_unused]]
4957#elif defined(__clang__)
4958#define MAYBE_UNUSED [[maybe_unused]]
4959#elif defined(_MSC_VER)
4961#elif defined(__has_cpp_attribute)
4962#if __has_cpp_attribute(gnu::unused)
4963#define MAYBE_UNUSED [[gnu::unused]]
4977#define BUILTIN_UNREACHABLE \
4979#elif defined(__GNUC__) && !defined(__clang__)
4990#define BUILTIN_UNREACHABLE \
4991 __builtin_unreachable();
4993#define BUILTIN_UNREACHABLE
5003QString 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.
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.
ActionType
Layer tree filter flags.
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.
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.
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 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.