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 )
163 GeometryCollection = 7,
175 MultiLineStringZ = 1005,
176 MultiPolygonZ = 1006,
177 GeometryCollectionZ = 1007,
178 CircularStringZ = 1008,
179 CompoundCurveZ = 1009,
180 CurvePolygonZ = 1010,
182 MultiSurfaceZ = 1012,
188 MultiLineStringM = 2005,
189 MultiPolygonM = 2006,
190 GeometryCollectionM = 2007,
191 CircularStringM = 2008,
192 CompoundCurveM = 2009,
193 CurvePolygonM = 2010,
195 MultiSurfaceM = 2012,
200 MultiLineStringZM = 3005,
201 MultiPolygonZM = 3006,
202 GeometryCollectionZM = 3007,
203 CircularStringZM = 3008,
204 CompoundCurveZM = 3009,
205 CurvePolygonZM = 3010,
207 MultiSurfaceZM = 3012,
209 Point25D = 0x80000001,
234 Q_ENUM( GeometryType )
256 ARGB32_Premultiplied = 13
272 Q_ENUM( CaptureTechnique )
283 Q_ENUM( VectorLayerTypeFlag )
285 Q_DECLARE_FLAGS( VectorLayerTypeFlags, VectorLayerTypeFlag )
286 Q_FLAG( VectorLayerTypeFlags )
300 Q_ENUM( PythonMacroMode )
312 Q_ENUM( FeatureCountState )
322 EditComment = 1 << 1,
325 Q_ENUM( VectorDataProviderAttributeEditCapability )
332 Q_DECLARE_FLAGS( VectorDataProviderAttributeEditCapabilities, VectorDataProviderAttributeEditCapability )
333 Q_FLAG( VectorDataProviderAttributeEditCapabilities )
358 Q_ENUM( ScaleMethod )
377 Q_ENUM( SettingsType )
389 Q_ENUM( SettingsTreeNodeType )
397 NamedListSelectedItemSetting = 1 << 0,
400 Q_ENUM( SettingsTreeNodeOption )
401 Q_DECLARE_FLAGS( SettingsTreeNodeOptions, SettingsTreeNodeOption )
402 Q_FLAG( SettingsTreeNodeOptions )
415 Q_ENUM( SldExportOption )
416 Q_DECLARE_FLAGS( SldExportOptions, SldExportOption )
417 Q_FLAG( SldExportOptions )
426 NoVendorExtension = 0,
427 GeoServerVendorExtension = 1 << 1,
428 DeegreeVendorExtension = 1 << 2,
430 Q_ENUM( SldExportVendorExtension )
439 SaveFormerValue = 1 << 1,
440 SaveEnumFlagAsInt = 1 << 2,
442 Q_ENUM( SettingsOption )
443 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
444 Q_FLAG( SettingsOptions )
454 AdvancedConfiguration = 3,
456 Q_ENUM( SnappingMode )
472 Q_ENUM( SnappingType )
475 Q_FLAG( SnappingTypes )
486 Q_ENUM( SymbolRenderHint )
489 Q_FLAG( SymbolRenderHints )
501 Q_ENUM( SymbolRotationMode )
510 RendererShouldUseSymbolLevels = 1 << 0,
514 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
515 Q_FLAG( SymbolFlags )
524 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
526 Q_ENUM( SymbolPreviewFlag )
529 Q_FLAG( SymbolPreviewFlags )
538 DisableFeatureClipping = 1 << 0,
540 Q_ENUM( SymbolLayerFlag )
542 Q_DECLARE_FLAGS( SymbolLayerFlags, SymbolLayerFlag )
543 Q_FLAG( SymbolLayerFlags )
562 Q_ENUM( BrowserItemType )
575 Q_ENUM( BrowserItemState )
591 ItemRepresentsFile = 1 << 6,
592 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
594 Q_ENUM( BrowserItemCapability )
597 Q_FLAG( BrowserItemCapabilities )
620 Q_ENUM( BrowserLayerType )
633 Q_ENUM( BrowserDirectoryMonitoring )
666 Q_ENUM( VectorExportResult )
674 FieldAliases = 1 << 0,
675 FieldComments = 1 << 2,
677 Q_ENUM( VectorFileWriterCapability )
683 Q_DECLARE_FLAGS( VectorFileWriterCapabilities, VectorFileWriterCapability )
684 Q_FLAG( VectorFileWriterCapabilities )
692 SubsetStringFilter = 1 << 1,
693 GeometryColumn = 1 << 2,
694 PrimaryKeys = 1 << 3,
695 UnstableFeatureIds = 1 << 4
697 Q_ENUM( SqlLayerDefinitionCapability )
699 Q_DECLARE_FLAGS( SqlLayerDefinitionCapabilities, SqlLayerDefinitionCapability )
700 Q_FLAG( SqlLayerDefinitionCapabilities )
719 Q_ENUM( SqlKeywordCategory )
747 Q_ENUM( ActionStart )
759 Q_ENUM( UnplacedLabelVisibility )
769 AllowOverlapIfRequired,
770 AllowOverlapAtNoCost,
772 Q_ENUM( LabelOverlapHandling )
789 OrderedPositionsAroundPoint,
793 Q_ENUM( LabelPlacement )
817 Q_ENUM( LabelPredefinedPointPosition )
832 Q_ENUM( LabelOffsetType )
853 Q_ENUM( LabelQuadrantPosition )
868 Q_ENUM( LabelLinePlacementFlag )
878 Q_FLAG( LabelLinePlacementFlags )
888 AllowPlacementOutsideOfPolygon = 1 << 0,
889 AllowPlacementInsideOfPolygon = 1 << 1,
891 Q_ENUM( LabelPolygonPlacementFlag )
899 Q_DECLARE_FLAGS( LabelPolygonPlacementFlags, LabelPolygonPlacementFlag )
900 Q_FLAG( LabelPolygonPlacementFlags )
915 Q_ENUM( UpsideDownLabelHandling )
932 Q_ENUM( LabelMultiLineAlignment )
949 Q_ENUM( FileFilterType )
959 ResolveGeometryType = 1 << 1,
960 CountFeatures = 1 << 2,
961 IncludeSystemTables = 1 << 3,
964 Q_DECLARE_FLAGS( SublayerQueryFlags, SublayerQueryFlag )
965 Q_ENUM( SublayerQueryFlag )
966 Q_FLAG( SublayerQueryFlags )
975 SystemTable = 1 << 0,
978 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
979 Q_ENUM( SublayerFlag )
980 Q_FLAG( SublayerFlags )
998 Q_ENUM( RasterPipeInterfaceRole )
1011 Q_ENUM( RasterResamplingStage )
1020 InternalLayerOpacityHandling = 1 << 0,
1028 Q_DECLARE_FLAGS( RasterRendererFlags, RasterRendererFlag )
1030 Q_ENUM( RasterRendererFlag )
1031 Q_FLAG( RasterRendererFlags )
1060 Q_ENUM( RasterAttributeTableFieldUsage )
1072 Q_ENUM( RasterAttributeTableType )
1085 Q_ENUM( RasterExportType )
1096 SourceProviderError = 1,
1098 CreateDatasourceError = 3,
1103 Q_ENUM( RasterFileWriterResult )
1114 TooManyVerticesInFace,
1120 Q_ENUM( MeshEditingErrorType )
1132 Q_ENUM( FilePathType )
1142 AskExcludingRasterBands,
1146 Q_ENUM( SublayerPromptMode )
1155 GeometryCrs = 0x1000,
1156 GeometryWkbType = 0x1001,
1157 CustomProperty = 0x100000,
1159 Q_ENUM( FieldMetadataProperty )
1171 RemoveFromSelection,
1173 Q_ENUM( SelectBehavior )
1185 Q_ENUM( SelectGeometryRelationship )
1194 SingleFeatureSelection = 1 << 0,
1195 ToggleSelection = 1 << 1,
1203 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1205 Q_ENUM( SelectionFlag )
1206 Q_FLAG( SelectionFlags )
1218 FetchFeatureFailed = 3,
1221 Q_ENUM( VectorEditResult )
1230 SemiTransparentCircle,
1234 Q_ENUM( VertexMarkerType )
1248 Q_ENUM( ContentStatus )
1262 Q_ENUM( GpsConnectionType )
1275 Q_ENUM( DeviceConnectionStatus )
1330 Q_ENUM( GpsQualityIndicator )
1341 GroundSpeed = 1 << 2,
1343 TotalTrackLength = 1 << 4,
1344 TrackDistanceFromStart = 1 << 5,
1348 HorizontalAccuracy = 1 << 9,
1349 VerticalAccuracy = 1 << 10,
1350 HvAccuracy = 1 << 11,
1351 SatellitesUsed = 1 << 12,
1352 Timestamp = 1 << 13,
1353 TrackStartTime = 1 << 14,
1354 TrackEndTime = 1 << 15,
1355 TrackDistanceSinceLastPoint = 1 << 16,
1356 TrackTimeSinceLastPoint = 1 << 17,
1357 GeoidalSeparation = 1 << 18,
1358 EllipsoidAltitude = 1 << 19,
1366 Q_DECLARE_FLAGS( GpsInformationComponents, GpsInformationComponent )
1367 Q_ENUM( GpsInformationComponent )
1368 Q_FLAG( GpsInformationComponents )
1384 Q_DECLARE_FLAGS( BabelFormatCapabilities, BabelFormatCapability )
1385 Q_ENUM( BabelFormatCapability )
1386 Q_FLAG( BabelFormatCapabilities )
1396 QuoteFilePaths = 1 << 0,
1399 Q_DECLARE_FLAGS( BabelCommandFlags, BabelCommandFlag )
1400 Q_ENUM( BabelCommandFlag )
1401 Q_FLAG( BabelCommandFlags )
1414 Q_ENUM( GpsFeatureType )
1426 NothingHappened = 1000,
1427 InvalidBaseGeometry,
1428 InvalidInputGeometryType,
1430 SelectionIsGreaterThanOne,
1431 GeometryEngineError,
1434 AddPartSelectedGeometryNotFound,
1435 AddPartNotMultiGeometry,
1439 AddRingCrossesExistingRings,
1440 AddRingNotInExistingFeature,
1442 SplitCannotSplitPoint,
1444 Q_ENUM( GeometryOperationResult )
1458 Q_FLAG( GeometryValidityFlags )
1469 Q_ENUM( GeometryValidationEngine )
1481 Q_ENUM( BufferSide )
1494 Q_ENUM( EndCapStyle )
1519 Q_ENUM( MakeValidMethod )
1532 Q_ENUM( SpatialFilterType )
1541 IncludeMetadataFile = 1 << 0,
1542 IncludeStyleFile = 1 << 1,
1545 Q_DECLARE_FLAGS( FileOperationFlags, FileOperationFlag )
1546 Q_ENUM( FileOperationFlag )
1547 Q_FLAG( FileOperationFlags )
1556 UsersCannotToggleEditing = 1 << 0,
1557 IsBasemapLayer = 1 << 1,
1560 Q_DECLARE_FLAGS( MapLayerProperties, MapLayerProperty )
1561 Q_ENUM( MapLayerProperty )
1562 Q_FLAG( MapLayerProperties )
1571 IsBasemapSource = 1 << 1,
1574 Q_DECLARE_FLAGS( DataProviderFlags, DataProviderFlag )
1575 Q_ENUM( DataProviderFlag )
1576 Q_FLAG( DataProviderFlags )
1628 Q_ENUM( CrsAxisDirection )
1641 Q_ENUM( CoordinateOrder )
1650 ScaleDependentBoundingBox = 1 << 0,
1653 Q_DECLARE_FLAGS( AnnotationItemFlags, AnnotationItemFlag )
1654 Q_ENUM( AnnotationItemFlag )
1655 Q_FLAG( AnnotationItemFlags )
1664 FlagNoCreationTools = 1 << 0,
1667 Q_DECLARE_FLAGS( AnnotationItemGuiFlags, AnnotationItemGuiFlag )
1668 Q_ENUM( AnnotationItemGuiFlag )
1669 Q_FLAG( AnnotationItemGuiFlags )
1680 Q_ENUM( AnnotationItemNodeType )
1693 Q_ENUM( AnnotationItemEditOperationResult )
1709 Q_ENUM( VectorTemporalMode )
1718 IncludeBeginExcludeEnd = 0,
1719 IncludeBeginIncludeEnd,
1721 Q_ENUM( VectorTemporalLimitMode )
1732 StoresFeatureDateTimeStartAndEndInSeparateFields
SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
1734 Q_ENUM( VectorDataProviderTemporalMode )
1747 Q_ENUM( RasterTemporalMode )
1756 MatchUsingWholeRange,
1757 MatchExactUsingStartOfRange,
1758 MatchExactUsingEndOfRange,
1759 FindClosestMatchToStartOfRange,
1760 FindClosestMatchToEndOfRange
1762 Q_ENUM( TemporalIntervalMatchMethod )
1771 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
1773 Q_ENUM( RasterTemporalCapabilityFlag )
1780 Q_DECLARE_FLAGS( RasterTemporalCapabilityFlags, RasterTemporalCapabilityFlag )
1781 Q_FLAG( RasterTemporalCapabilityFlags )
1793 Q_ENUM( TransformDirection )
1802 BallparkTransformsAreAppropriate = 1 << 0,
1803 IgnoreImpossibleTransformations = 1 << 1,
1805 Q_ENUM( CoordinateTransformationFlag )
1812 Q_DECLARE_FLAGS( CoordinateTransformationFlags, CoordinateTransformationFlag )
1813 Q_FLAG( CoordinateTransformationFlags )
1822 Antialiasing = 0x01,
1823 DrawEditingInfo = 0x02,
1824 ForceVectorOutput = 0x04,
1825 UseAdvancedEffects = 0x08,
1826 DrawLabeling = 0x10,
1827 UseRenderingOptimization = 0x20,
1828 DrawSelection = 0x40,
1829 DrawSymbolBounds = 0x80,
1830 RenderMapTile = 0x100,
1831 RenderPartialOutput = 0x200,
1832 RenderPreviewJob = 0x400,
1833 RenderBlocking = 0x800,
1834 LosslessImageRendering = 0x1000,
1835 Render3DMap = 0x2000,
1836 HighQualityImageTransforms = 0x4000,
1837 SkipSymbolRendering = 0x8000,
1838 ForceRasterMasks = 0x10000,
1843 Q_FLAG( MapSettingsFlags )
1852 DrawEditingInfo = 0x01,
1853 ForceVectorOutput = 0x02,
1854 UseAdvancedEffects = 0x04,
1855 UseRenderingOptimization = 0x08,
1856 DrawSelection = 0x10,
1857 DrawSymbolBounds = 0x20,
1858 RenderMapTile = 0x40,
1859 Antialiasing = 0x80,
1860 RenderPartialOutput = 0x100,
1861 RenderPreviewJob = 0x200,
1862 RenderBlocking = 0x400,
1863 RenderSymbolPreview = 0x800,
1864 LosslessImageRendering = 0x1000,
1865 ApplyScalingWorkaroundForTextRendering = 0x2000,
1866 Render3DMap = 0x4000,
1867 ApplyClipAfterReprojection = 0x8000,
1868 RenderingSubSymbol = 0x10000,
1869 HighQualityImageTransforms = 0x20000,
1870 SkipSymbolRendering = 0x40000,
1875 Q_FLAG( RenderContextFlags )
1889 Q_ENUM( TextRenderFormat )
1900 UseAllLabels = 1 << 1,
1901 UsePartialCandidates = 1 << 2,
1903 RenderOutlineLabels = 1 << 3,
1904 DrawLabelRectOnly = 1 << 4,
1905 DrawCandidates = 1 << 5,
1906 DrawUnplacedLabels = 1 << 6,
1907 CollectUnplacedLabels = 1 << 7,
1908 DrawLabelMetrics = 1 << 8,
1910 Q_ENUM( LabelingFlag )
1920 Q_FLAG( LabelingFlags )
1934 Q_ENUM( LabelPlacementEngineVersion )
1949 Q_ENUM( TextOrientation )
1963 RectangleCapHeightBased,
1964 RectangleAscentBased,
1966 Q_ENUM( TextLayoutMode )
1982 Q_ENUM( TextComponent )
1998 Q_ENUM( TextHorizontalAlignment )
2016 Q_ENUM( TextVerticalAlignment )
2032 Q_ENUM( TextCharacterVerticalAlignment )
2046 Q_ENUM( RenderSubcomponentProperty )
2057 Q_ENUM( VertexType )
2073 EquilateralTriangle,
2106 Q_ENUM( MarkerShape )
2119 LastVertex = 1 << 2,
2120 FirstVertex = 1 << 3,
2121 CentralPoint = 1 << 4,
2122 CurvePoint = 1 << 5,
2123 SegmentCenter = 1 << 6,
2124 InnerVertices = 1 << 7,
2126 Q_ENUM( MarkerLinePlacement )
2127 Q_DECLARE_FLAGS( MarkerLinePlacements, MarkerLinePlacement )
2128 Q_FLAG( MarkerLinePlacements )
2142 Q_ENUM( GradientColorSource )
2157 Q_ENUM( GradientType )
2171 Q_ENUM( SymbolCoordinateReference )
2187 Q_ENUM( GradientSpread )
2201 Q_ENUM( PointCountMethod )
2215 Q_ENUM( MarkerClipMode )
2228 Q_ENUM( LineClipMode )
2243 Q_ENUM( DashPatternLineEndingRule )
2252 ScaleBothDashAndGap,
2256 Q_ENUM( DashPatternSizeAdjustment )
2270 Q_ENUM( GraduatedMethod )
2285 Q_ENUM( PlotAxisSuffixPlacement )
2311 Q_ENUM( TilePixelRatio )
2327 ForceFirstLetterToCapital = 4,
2330 UpperCamelCase = 1005,
2331 AllSmallCaps = 1006,
2333 Q_ENUM( Capitalization )
2344 Q_ENUM( TextRendererFlag )
2345 Q_DECLARE_FLAGS( TextRendererFlags, TextRendererFlag )
2346 Q_FLAG( TextRendererFlags )
2370 Q_ENUM( AngularDirection )
2383 Q_ENUM( RendererUsage )
2392 Sync3DTo2D = 1 << 0,
2393 Sync2DTo3D = 1 << 1,
2395 Q_ENUM( ViewSyncModeFlag )
2396 Q_DECLARE_FLAGS( ViewSyncModeFlags, ViewSyncModeFlag )
2406 WhenOutsideVisibleExtent,
2409 Q_ENUM( MapRecenteringMode )
2418 LocalProfile = 1 << 0,
2421 Q_ENUM( HistoryProviderBackend )
2422 Q_DECLARE_FLAGS( HistoryProviderBackends, HistoryProviderBackend )
2423 Q_FLAG( HistoryProviderBackends )
2435 Q_ENUM( CrsDefinitionFormat )
2452 Q_ENUM( FieldDomainSplitPolicy )
2468 Q_ENUM( FieldDomainMergePolicy )
2481 Q_ENUM( FieldDomainType )
2491 AutomaticGroups = 1,
2494 Q_ENUM( TransactionMode )
2507 Q_ENUM( AltitudeClamping )
2519 Q_ENUM( AltitudeBinding )
2532 Q_ENUM( BetweenLineConstraint )
2545 Q_ENUM( LineExtensionSide )
2562 Q_ENUM( CadConstraintType )
2572 EvaluateDefaultValuesOnProviderSide = 1 << 0,
2573 TrustStoredLayerStatistics = 1 << 1,
2574 RememberLayerEditStatusBetweenSessions = 1 << 2,
2575 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
2577 Q_ENUM( ProjectFlag )
2578 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
2579 Q_FLAG( ProjectFlags )
2588 ShowContextMenu = 1 << 0,
2590 Q_ENUM( PlotToolFlag )
2591 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
2592 Q_FLAG( PlotToolFlags )
2604 Q_ENUM( LightSourceType )
2616 Q_ENUM( NavigationMode )
2629 Q_ENUM( VerticalAxisInversion )
2663 RespectsMaximumErrorMapUnit = 1 << 0,
2664 RespectsDistanceRange = 1 << 1,
2665 RespectsElevationRange = 1 << 2,
2667 Q_ENUM( ProfileGeneratorFlag )
2668 Q_DECLARE_FLAGS( ProfileGeneratorFlags, ProfileGeneratorFlag )
2669 Q_FLAG( ProfileGeneratorFlags )
2680 DistanceVsElevationTable,
2694 Q_ENUM( PointCloudSymbol )
2707 Q_ENUM( PointCloudDrawOrder )
2719 AvoidIntersectionsCurrentLayer,
2720 AvoidIntersectionsLayers,
2722 Q_ENUM( AvoidIntersectionsMode )
2736 Q_ENUM( ProjectFileFormat )
2752 DontLoadProjectStyles = 1 << 5,
2753 ForceReadOnlyLayers = 1 << 6,
2755 Q_ENUM( ProjectReadFlag )
2765 Q_FLAG( ProjectReadFlags )
2777 ProjectStyles = 1 << 0,
2779 Q_ENUM( ProjectCapability )
2786 Q_DECLARE_FLAGS( ProjectCapabilities, ProjectCapability )
2787 Q_FLAG( ProjectCapabilities )
2804 Q_ENUM( MapBoxGlStyleSourceType )
2823 Q_ENUM( ArcGisRestServiceType )
2837 Q_ENUM( RelationshipType )
2851 Q_ENUM( RelationshipStrength )
2865 Q_ENUM( RelationshipCardinality )
2874 MultipleFieldKeys = 1 << 0,
2875 ForwardPathLabel = 1 << 1,
2876 BackwardPathLabel = 1 << 2,
2878 Q_ENUM( RelationshipCapability )
2885 Q_DECLARE_FLAGS( RelationshipCapabilities, RelationshipCapability )
2886 Q_FLAG( RelationshipCapabilities )
2899 Q_ENUM( CoordinateDisplayType )
2912 Q_ENUM( SettingsOrigin )
2933 Q_ENUM( ScriptLanguage )
2945 CheckSyntax = 1 << 1,
2946 ToggleComment = 1 << 2,
2948 Q_ENUM( ScriptLanguageCapability )
2955 Q_DECLARE_FLAGS( ScriptLanguageCapabilities, ScriptLanguageCapability )
2956 Q_FLAG( ScriptLanguageCapabilities )
2965 AboveInsertionPoint,
2967 OptimalInInsertionGroup,
2969 Q_ENUM( LayerTreeInsertionMethod )
2978 SkipVisibilityCheck = 1 << 0,
2980 Q_ENUM( LayerTreeFilterFlag )
2987 Q_DECLARE_FLAGS( LayerTreeFilterFlags, LayerTreeFilterFlag )
2988 Q_FLAG( LayerTreeFilterFlags )
3003 Q_ENUM( ActionType )
3015 SingleFeature = 1 << 1,
3016 MultipleFeatures = 1 << 2,
3017 AllActions = Layer | SingleFeature | MultipleFeatures
3019 Q_ENUM( MapLayerActionTarget )
3028 Q_DECLARE_FLAGS( MapLayerActionTargets, MapLayerActionTarget )
3029 Q_FLAG( MapLayerActionTargets )
3040 EnabledOnlyWhenEditable = 1 << 1,
3042 Q_ENUM( MapLayerActionFlag )
3051 Q_DECLARE_FLAGS( MapLayerActionFlags, MapLayerActionFlag )
3052 Q_FLAG( MapLayerActionFlags )
3072 Q_ENUM( AttributeActionType )
3086 Q_ENUM( MetadataDateType )
3116 ContinuousPalette = 17
3118 Q_ENUM( RasterColorInterpretation )
3134 Q_ENUM( RasterLayerType )
3147 SingleBandPseudoColor,
3149 PalettedSingleBandGray,
3150 PalettedSingleBandPseudoColor,
3151 PalettedMultiBandColor,
3152 MultiBandSingleBandGray,
3153 MultiBandSingleBandPseudoColor,
3157 Q_ENUM( RasterDrawingStyle )
3172 Q_ENUM( RasterPyramidFormat )
3187 Q_ENUM( RasterBuildPyramidOption )
3204 Q_ENUM( RasterIdentifyFormat )
3216 Q_ENUM( ElevationMapCombineMethod )
3269 Q_ENUM( SystemOfMeasurement )
3283 Q_ENUM( MapToolUnit )
3323 Q_ENUM( DistanceUnit )
3338 Q_ENUM( DistanceUnitType )
3386 Q_ENUM( VolumeUnit )
3431 Q_ENUM( TemporalUnit )
3451 Q_ENUM( RenderUnit )
3471 Q_ENUM( LayoutUnit )
3485 Q_ENUM( LayoutUnitType )
3506 Q_ENUM( PostgresRelKind )
3515 SetFieldComment = 1 << 0,
3516 SetFieldAlias = 1 << 1,
3518 Q_ENUM( DatabaseProviderConnectionCapability2 )
3519 Q_DECLARE_FLAGS( DatabaseProviderConnectionCapabilities2, DatabaseProviderConnectionCapability2 )
3520 Q_FLAG( DatabaseProviderConnectionCapabilities2 )
3533 Q_ENUM( UserProfileSelectionPolicy )
3554 Q_ENUM( AttributeEditorType )
3567 Q_ENUM( AttributeEditorContainerType )
3582 Q_ENUM( AttributeFormLayout )
3597 Q_ENUM( AttributeFormSuppression )
3613 Q_ENUM( AttributeFormPythonInitCodeSource )
3625 Q_ENUM( ExpressionType )
3640 Q_ENUM( FeatureSymbologyExport )
3649 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
3651 Q_ENUM( VectorTileProviderFlag )
3658 Q_DECLARE_FLAGS( VectorTileProviderFlags, VectorTileProviderFlag )
3659 Q_FLAG( VectorTileProviderFlags )
3667 ReadLayerMetadata = 1 << 1,
3669 Q_ENUM( VectorTileProviderCapability )
3676 Q_DECLARE_FLAGS( VectorTileProviderCapabilities, VectorTileProviderCapability )
3677 Q_FLAG( VectorTileProviderCapabilities )
3688 AvailableNoChildren,
3689 UseLowerZoomLevelTile,
3691 Q_ENUM( TileAvailability )
3697 static const
double DEFAULT_SEARCH_RADIUS_MM;
3700 static const
float DEFAULT_MAPTOPIXEL_THRESHOLD;
3708 static const QColor DEFAULT_HIGHLIGHT_COLOR;
3714 static const
double DEFAULT_HIGHLIGHT_BUFFER_MM;
3720 static const
double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
3728 static const
double SCALE_PRECISION;
3735 static const
double DEFAULT_Z_COORDINATE;
3742 static const
double DEFAULT_M_COORDINATE;
3749 static const
double UI_SCALE_FACTOR;
3755 static const
double DEFAULT_SNAP_TOLERANCE;
3768 static QString defaultProjectScales();
3775 static
int geosVersionInt();
3782 static
int geosVersionMajor();
3789 static
int geosVersionMinor();
3796 static
int geosVersionPatch();
3803 static QString geosVersion();
3860#define cast_to_fptr(f) f
3882 , mPreviousState( object->blockSignals( true ) )
3887 mObject->blockSignals( mPreviousState );
3895 Object *mObject =
nullptr;
3896 bool mPreviousState;
3920CORE_EXPORT uint
qHash(
const QVariant &variant );
3934 const double roundFactor = std::pow( 10, -
precision );
3935 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
3940 if (
str.contains( QLatin1Char(
'.' ) ) )
3943 int idx =
str.length() - 1;
3944 while (
str.at( idx ) ==
'0' && idx > 1 )
3948 if ( idx <
str.length() - 1 )
3949 str.truncate(
str.at( idx ) ==
'.' ? idx : idx + 1 );
3959 if (
str == QLatin1String(
"-0" ) )
3961 return QLatin1String(
"0" );
3974 const bool aIsNan = std::isnan( a );
3975 const bool bIsNan = std::isnan( b );
3976 if ( aIsNan || bIsNan )
3977 return aIsNan && bIsNan;
3988inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
3990 const bool aIsNan = std::isnan( a );
3991 const bool bIsNan = std::isnan( b );
3992 if ( aIsNan || bIsNan )
3993 return aIsNan && bIsNan;
3995 const double diff = a - b;
3996 return diff > -epsilon && diff <= epsilon;
4005inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
4007 const bool aIsNan = std::isnan( a );
4008 const bool bIsNan = std::isnan( b );
4009 if ( aIsNan || bIsNan )
4010 return aIsNan && bIsNan;
4012 const float diff = a - b;
4013 return diff > -epsilon && diff <= epsilon;
4019 const bool aIsNan = std::isnan( a );
4020 const bool bIsNan = std::isnan( b );
4021 if ( aIsNan || bIsNan )
4022 return aIsNan && bIsNan;
4030 const double ar = std::frexp( a, &aexp );
4031 const double br = std::frexp( b, &bexp );
4033 return aexp == bexp &&
4044 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
4045 const double scaleFactor = std::pow( 10.0, places );
4046 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
4057template<
class Key,
class Value>
4061 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
4062 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
4064 result.chop( separator.size() );
4074template<
class Key,
class Value>
4078 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
4079 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
4081 result.chop( separator.size() );
4092QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
4095 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
4096 result += QString(
"%1%2" ).arg( *it ).arg( separator );
4098 result.chop( separator.size() );
4128 template<
typename To,
typename From>
inline To down_cast( From *f )
4131 ( std::is_base_of<From,
4132 typename std::remove_pointer<To>::type>::value ),
4133 "target type not derived from source type" );
4134 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
4135 return static_cast<To
>( f );
4139 QSet<T> listToSet(
const QList<T> &list )
4141 return QSet<T>( list.begin(), list.end() );
4145 QList<T> setToList(
const QSet<T> &set )
4147 return QList<T>( set.begin(), set.end() );
4160 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4161 Q_ASSERT( metaEnum.isValid() );
4163 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
4165 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
4177 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4178 Q_ASSERT( metaEnum.isValid() );
4179 QMap<T, QString> enumMap;
4180 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
4182 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
4194 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4195 Q_ASSERT( metaEnum.isValid() );
4196 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
4199 *returnOk = key ? true :
false;
4201 return QString::fromUtf8( key );
4211template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
4213 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4214 Q_ASSERT( metaEnum.isValid() );
4216 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
4228 if ( tryValueAsKey )
4230 bool canConvert =
false;
4231 const int intValue = key.toInt( &canConvert );
4232 if ( canConvert && metaEnum.valueToKey( intValue ) )
4238 return static_cast<T
>( intValue );
4242 return defaultValue;
4252 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4253 Q_ASSERT( metaEnum.isValid() );
4254 int intValue =
static_cast<int>( value );
4255 const QByteArray ba = metaEnum.valueToKeys( intValue );
4258 const int intValueCheck = metaEnum.keysToValue( ba );
4259 bool ok = intValue == intValueCheck;
4262 return ok ? QString::fromUtf8( ba ) : QString();
4272template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
4274 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4275 Q_ASSERT( metaEnum.isValid() );
4277 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
4289 if ( tryValueAsKey )
4291 bool canConvert =
false;
4292 const int intValue = keys.toInt( &canConvert );
4295 const QByteArray keys = metaEnum.valueToKeys( intValue );
4296 const int intValueCheck = metaEnum.keysToValue( keys );
4297 if ( intValue == intValueCheck )
4303 return T( intValue );
4308 return defaultValue;
4364CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
4374#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
4382inline bool operator> (
const QVariant &v1,
const QVariant &v2 )
4396inline bool operator< (
const QVariant &v1,
const QVariant &v2 )
4403#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
4408template<> CORE_EXPORT
bool qMapLessThanKey<QVariantList>(
const QVariantList &key1,
const QVariantList &key2 )
SIP_SKIP;
4411CORE_EXPORT QString
qgsVsiPrefix(
const QString &path );
4429#define CONSTLATIN1STRING inline const QLatin1String
4431#define CONSTLATIN1STRING constexpr QLatin1String
4435class ScopedIntIncrementor
4439 ScopedIntIncrementor(
int *variable )
4440 : mVariable( variable )
4445 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
4446 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
4453 mVariable =
nullptr;
4456 ~ScopedIntIncrementor()
4462 int *mVariable =
nullptr;
4472 return QLatin1String(
4473 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]] )"""
4480 return QLatin1String(
"+proj=longlat +datum=WGS84 +no_defs" );
4486 return QLatin1String(
"EPSG:4326" );
4492 return QLatin1String(
"NONE" );
4498const int PREVIEW_JOB_DELAY_MS = 250;
4501const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
4546#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
4548#define Q_NOWARN_DEPRECATED_PUSH \
4549 _Pragma("GCC diagnostic push") \
4550 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
4551#define Q_NOWARN_DEPRECATED_POP \
4552 _Pragma("GCC diagnostic pop");
4553#define Q_NOWARN_UNREACHABLE_PUSH
4554#define Q_NOWARN_UNREACHABLE_POP
4556#elif defined(_MSC_VER)
4558#define Q_NOWARN_DEPRECATED_PUSH \
4559 __pragma(warning(push)) \
4560 __pragma(warning(disable:4996))
4561#define Q_NOWARN_DEPRECATED_POP \
4562 __pragma(warning(pop))
4563#define Q_NOWARN_UNREACHABLE_PUSH \
4564 __pragma(warning(push)) \
4565 __pragma(warning(disable:4702))
4566#define Q_NOWARN_UNREACHABLE_POP \
4567 __pragma(warning(pop))
4571#define Q_NOWARN_DEPRECATED_PUSH
4572#define Q_NOWARN_DEPRECATED_POP
4573#define Q_NOWARN_UNREACHABLE_PUSH
4574#define Q_NOWARN_UNREACHABLE_POP
4581# define QGISEXTERN extern "C" __declspec( dllexport )
4583# if defined(__GNUC__) || defined(__clang__)
4584# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
4586# define QGISEXTERN extern "C"
4592#if __cplusplus >= 201500
4593#define FALLTHROUGH [[fallthrough]];
4594#elif defined(__clang__)
4595#define FALLTHROUGH [[clang::fallthrough]];
4596#elif defined(__GNUC__) && __GNUC__ >= 7
4597#define FALLTHROUGH [[gnu::fallthrough]];
4603#if __cplusplus >= 201703L
4604#define NODISCARD [[nodiscard]]
4605#elif defined(__clang__)
4606#define NODISCARD [[nodiscard]]
4607#elif defined(_MSC_VER)
4609#elif defined(__has_cpp_attribute)
4610#if __has_cpp_attribute(nodiscard)
4611#define NODISCARD [[nodiscard]]
4612#elif __has_cpp_attribute(gnu::warn_unused_result)
4613#define NODISCARD [[gnu::warn_unused_result]]
4615#define NODISCARD Q_REQUIRED_RESULT
4618#define NODISCARD Q_REQUIRED_RESULT
4621#if __cplusplus >= 201703L
4622#define MAYBE_UNUSED [[maybe_unused]]
4623#elif defined(__clang__)
4624#define MAYBE_UNUSED [[maybe_unused]]
4625#elif defined(_MSC_VER)
4627#elif defined(__has_cpp_attribute)
4628#if __has_cpp_attribute(gnu::unused)
4629#define MAYBE_UNUSED [[gnu::unused]]
4643#define BUILTIN_UNREACHABLE \
4645#elif defined(__GNUC__) && !defined(__clang__)
4656#define BUILTIN_UNREACHABLE \
4657 __builtin_unreachable();
4659#define BUILTIN_UNREACHABLE
4669QString 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
Map layer properties.
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.
TextLayoutMode
Text layout modes.
RasterRendererFlag
Flags which control behavior of raster renderers.
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 flags.
SettingsType
Types of settings entries.
RasterTemporalMode
Raster layer temporal modes.
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
LabelingFlag
Various flags that affect drawing and placement of labels.
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
RelationshipType
Relationship types.
ScriptLanguageCapability
Script language capabilities.
JoinStyle
Join styles for buffers.
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
TextCharacterVerticalAlignment
Text vertical alignment for characters.
UserProfileSelectionPolicy
User profile selection policy.
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
AltitudeBinding
Altitude binding.
MapLayerActionTarget
Map layer action targets.
ScriptLanguage
Scripting languages.
LabelMultiLineAlignment
Text alignment for multi-line labels.
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
TextRenderFormat
Options for rendering text.
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.
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.
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
Standard field metadata values.
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.
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.
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.
TextRendererFlag
Flags which control the behavior of rendering text.
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
CrsAxisDirection
Data provider flags.
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.
Base class for all map layer types.
The QgsMapSettings class contains configuration for rendering of the map.
Registry for temporary fetched files.
Misc painting enums and 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.
int significantDigits(const Qgis::DataType rasterDataType)
Returns the maximum number of significant digits a for the given rasterDataType.
As part of the API refactoring and improvements which landed in QGIS
CONSTLATIN1STRING geoNone()
Constant that holds the string representation for "No ellips/No CRS".
const double DEFAULT_LINE_WIDTH
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
CORE_EXPORT QString qgsVsiPrefix(const QString &path)
CORE_EXPORT bool qgsVariantEqual(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether they are equal, two NULL values are always treated a...
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.
CORE_EXPORT bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
unsigned long long qgssize
Qgssize is used instead of size_t, because size_t is stdlib type, unknown by SIP, and it would be har...
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
QString qgsSetJoin(const QSet< T > &set, const QString &separator)
Joins all the set values into a single string with each element separated by the given separator.
CORE_EXPORT double qgsPermissiveToDouble(QString string, bool &ok)
Converts a string to a double in a permissive way, e.g., allowing for incorrect numbers of digits bet...
const QList< T > qgsEnumList()
Returns a list all enum entries.
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
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.
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
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 (~/....
void CORE_EXPORT qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
CORE_EXPORT qlonglong qgsPermissiveToLongLong(QString string, bool &ok)
Converts a string to an qlonglong in a permissive way, e.g., allowing for incorrect numbers of digits...
CORE_EXPORT int qgsPermissiveToInt(QString string, bool &ok)
Converts a string to an integer in a permissive way, e.g., allowing for incorrect numbers of digits b...
CORE_EXPORT bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
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(QgsField::ConfigurationFlags) CORE_EXPORT QDataStream &operator<<(QDataStream &out
Writes the field to stream out. QGIS version compatibility is not guaranteed.
Utility class for identifying a unique vertex within a geometry.