37int QgisEvent = QEvent::User + 1;
44#define QHASH_FOR_CLASS_ENUM(T) \
45 inline uint qHash(const T &t, uint seed) { \
46 return ::qHash(static_cast<typename std::underlying_type<T>::type>(t), seed); \
57 Q_CLASSINFO(
"RegisterEnumClassesUnscoped",
"false" )
66 static QString version();
73 static int versionInt();
80 static QString releaseName();
90 static QString devVersion();
107 Q_ENUM( MessageLevel )
164 GeometryCollection = 7,
176 MultiLineStringZ = 1005,
177 MultiPolygonZ = 1006,
178 GeometryCollectionZ = 1007,
179 CircularStringZ = 1008,
180 CompoundCurveZ = 1009,
181 CurvePolygonZ = 1010,
183 MultiSurfaceZ = 1012,
189 MultiLineStringM = 2005,
190 MultiPolygonM = 2006,
191 GeometryCollectionM = 2007,
192 CircularStringM = 2008,
193 CompoundCurveM = 2009,
194 CurvePolygonM = 2010,
196 MultiSurfaceM = 2012,
201 MultiLineStringZM = 3005,
202 MultiPolygonZM = 3006,
203 GeometryCollectionZM = 3007,
204 CircularStringZM = 3008,
205 CompoundCurveZM = 3009,
206 CurvePolygonZM = 3010,
208 MultiSurfaceZM = 3012,
210 Point25D = 0x80000001,
235 Q_ENUM( GeometryType )
257 ARGB32_Premultiplied = 13
273 Q_ENUM( CaptureTechnique )
284 Q_ENUM( VectorLayerTypeFlag )
286 Q_DECLARE_FLAGS( VectorLayerTypeFlags, VectorLayerTypeFlag )
287 Q_FLAG( VectorLayerTypeFlags )
301 Q_ENUM( PythonMacroMode )
313 Q_ENUM( FeatureCountState )
323 EditComment = 1 << 1,
326 Q_ENUM( VectorDataProviderAttributeEditCapability )
333 Q_DECLARE_FLAGS( VectorDataProviderAttributeEditCapabilities, VectorDataProviderAttributeEditCapability )
334 Q_FLAG( VectorDataProviderAttributeEditCapabilities )
359 Q_ENUM( ScaleMethod )
378 Q_ENUM( SettingsType )
390 Q_ENUM( SettingsTreeNodeType )
398 NamedListSelectedItemSetting = 1 << 0,
401 Q_ENUM( SettingsTreeNodeOption )
402 Q_DECLARE_FLAGS( SettingsTreeNodeOptions, SettingsTreeNodeOption )
403 Q_FLAG( SettingsTreeNodeOptions )
416 Q_ENUM( SldExportOption )
417 Q_DECLARE_FLAGS( SldExportOptions, SldExportOption )
418 Q_FLAG( SldExportOptions )
427 NoVendorExtension = 0,
428 GeoServerVendorExtension = 1 << 1,
429 DeegreeVendorExtension = 1 << 2,
431 Q_ENUM( SldExportVendorExtension )
440 SaveFormerValue = 1 << 1,
441 SaveEnumFlagAsInt = 1 << 2,
443 Q_ENUM( SettingsOption )
444 Q_DECLARE_FLAGS( SettingsOptions, SettingsOption )
445 Q_FLAG( SettingsOptions )
455 AdvancedConfiguration = 3,
457 Q_ENUM( SnappingMode )
473 Q_ENUM( SnappingType )
476 Q_FLAG( SnappingTypes )
487 Q_ENUM( SymbolRenderHint )
490 Q_FLAG( SymbolRenderHints )
499 RendererShouldUseSymbolLevels = 1 << 0,
503 Q_DECLARE_FLAGS( SymbolFlags, SymbolFlag )
504 Q_FLAG( SymbolFlags )
513 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
515 Q_ENUM( SymbolPreviewFlag )
518 Q_FLAG( SymbolPreviewFlags )
527 DisableFeatureClipping = 1 << 0,
529 Q_ENUM( SymbolLayerFlag )
531 Q_DECLARE_FLAGS( SymbolLayerFlags, SymbolLayerFlag )
532 Q_FLAG( SymbolLayerFlags )
551 Q_ENUM( BrowserItemType )
564 Q_ENUM( BrowserItemState )
580 ItemRepresentsFile = 1 << 6,
581 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
583 Q_ENUM( BrowserItemCapability )
586 Q_FLAG( BrowserItemCapabilities )
609 Q_ENUM( BrowserLayerType )
622 Q_ENUM( BrowserDirectoryMonitoring )
655 Q_ENUM( VectorExportResult )
663 FieldAliases = 1 << 0,
664 FieldComments = 1 << 2,
666 Q_ENUM( VectorFileWriterCapability )
672 Q_DECLARE_FLAGS( VectorFileWriterCapabilities, VectorFileWriterCapability )
673 Q_FLAG( VectorFileWriterCapabilities )
681 SubsetStringFilter = 1 << 1,
682 GeometryColumn = 1 << 2,
683 PrimaryKeys = 1 << 3,
684 UnstableFeatureIds = 1 << 4
686 Q_ENUM( SqlLayerDefinitionCapability )
688 Q_DECLARE_FLAGS( SqlLayerDefinitionCapabilities, SqlLayerDefinitionCapability )
689 Q_FLAG( SqlLayerDefinitionCapabilities )
708 Q_ENUM( SqlKeywordCategory )
735 Q_ENUM( ActionStart )
747 Q_ENUM( UnplacedLabelVisibility )
757 AllowOverlapIfRequired,
758 AllowOverlapAtNoCost,
760 Q_ENUM( LabelOverlapHandling )
777 OrderedPositionsAroundPoint,
781 Q_ENUM( LabelPlacement )
805 Q_ENUM( LabelPredefinedPointPosition )
820 Q_ENUM( LabelOffsetType )
841 Q_ENUM( LabelQuadrantPosition )
856 Q_ENUM( LabelLinePlacementFlag )
866 Q_FLAG( LabelLinePlacementFlags )
876 AllowPlacementOutsideOfPolygon = 1 << 0,
877 AllowPlacementInsideOfPolygon = 1 << 1,
879 Q_ENUM( LabelPolygonPlacementFlag )
887 Q_DECLARE_FLAGS( LabelPolygonPlacementFlags, LabelPolygonPlacementFlag )
888 Q_FLAG( LabelPolygonPlacementFlags )
903 Q_ENUM( UpsideDownLabelHandling )
920 Q_ENUM( LabelMultiLineAlignment )
937 Q_ENUM( FileFilterType )
947 ResolveGeometryType = 1 << 1,
948 CountFeatures = 1 << 2,
949 IncludeSystemTables = 1 << 3,
952 Q_DECLARE_FLAGS( SublayerQueryFlags, SublayerQueryFlag )
953 Q_ENUM( SublayerQueryFlag )
954 Q_FLAG( SublayerQueryFlags )
963 SystemTable = 1 << 0,
966 Q_DECLARE_FLAGS( SublayerFlags, SublayerFlag )
967 Q_ENUM( SublayerFlag )
968 Q_FLAG( SublayerFlags )
986 Q_ENUM( RasterPipeInterfaceRole )
999 Q_ENUM( RasterResamplingStage )
1008 InternalLayerOpacityHandling = 1 << 0,
1016 Q_DECLARE_FLAGS( RasterRendererFlags, RasterRendererFlag )
1018 Q_ENUM( RasterRendererFlag )
1019 Q_FLAG( RasterRendererFlags )
1048 Q_ENUM( RasterAttributeTableFieldUsage )
1060 Q_ENUM( RasterAttributeTableType )
1071 TooManyVerticesInFace,
1077 Q_ENUM( MeshEditingErrorType )
1089 Q_ENUM( FilePathType )
1099 AskExcludingRasterBands,
1103 Q_ENUM( SublayerPromptMode )
1112 GeometryCrs = 0x1000,
1113 GeometryWkbType = 0x1001,
1114 CustomProperty = 0x100000,
1116 Q_ENUM( FieldMetadataProperty )
1128 RemoveFromSelection,
1130 Q_ENUM( SelectBehavior )
1142 Q_ENUM( SelectGeometryRelationship )
1151 SingleFeatureSelection = 1 << 0,
1152 ToggleSelection = 1 << 1,
1160 Q_DECLARE_FLAGS( SelectionFlags, SelectionFlag )
1162 Q_ENUM( SelectionFlag )
1163 Q_FLAG( SelectionFlags )
1175 FetchFeatureFailed = 3,
1178 Q_ENUM( VectorEditResult )
1187 SemiTransparentCircle,
1191 Q_ENUM( VertexMarkerType )
1205 Q_ENUM( ContentStatus )
1219 Q_ENUM( GpsConnectionType )
1232 Q_ENUM( DeviceConnectionStatus )
1287 Q_ENUM( GpsQualityIndicator )
1298 GroundSpeed = 1 << 2,
1300 TotalTrackLength = 1 << 4,
1301 TrackDistanceFromStart = 1 << 5,
1305 HorizontalAccuracy = 1 << 9,
1306 VerticalAccuracy = 1 << 10,
1307 HvAccuracy = 1 << 11,
1308 SatellitesUsed = 1 << 12,
1309 Timestamp = 1 << 13,
1310 TrackStartTime = 1 << 14,
1311 TrackEndTime = 1 << 15,
1312 TrackDistanceSinceLastPoint = 1 << 16,
1313 TrackTimeSinceLastPoint = 1 << 17,
1314 GeoidalSeparation = 1 << 18,
1315 EllipsoidAltitude = 1 << 19,
1323 Q_DECLARE_FLAGS( GpsInformationComponents, GpsInformationComponent )
1324 Q_ENUM( GpsInformationComponent )
1325 Q_FLAG( GpsInformationComponents )
1341 Q_DECLARE_FLAGS( BabelFormatCapabilities, BabelFormatCapability )
1342 Q_ENUM( BabelFormatCapability )
1343 Q_FLAG( BabelFormatCapabilities )
1353 QuoteFilePaths = 1 << 0,
1356 Q_DECLARE_FLAGS( BabelCommandFlags, BabelCommandFlag )
1357 Q_ENUM( BabelCommandFlag )
1358 Q_FLAG( BabelCommandFlags )
1371 Q_ENUM( GpsFeatureType )
1383 NothingHappened = 1000,
1384 InvalidBaseGeometry,
1385 InvalidInputGeometryType,
1387 SelectionIsGreaterThanOne,
1388 GeometryEngineError,
1391 AddPartSelectedGeometryNotFound,
1392 AddPartNotMultiGeometry,
1396 AddRingCrossesExistingRings,
1397 AddRingNotInExistingFeature,
1399 SplitCannotSplitPoint,
1401 Q_ENUM( GeometryOperationResult )
1415 Q_FLAG( GeometryValidityFlags )
1426 Q_ENUM( GeometryValidationEngine )
1438 Q_ENUM( BufferSide )
1451 Q_ENUM( EndCapStyle )
1476 Q_ENUM( MakeValidMethod )
1489 Q_ENUM( SpatialFilterType )
1498 IncludeMetadataFile = 1 << 0,
1499 IncludeStyleFile = 1 << 1,
1502 Q_DECLARE_FLAGS( FileOperationFlags, FileOperationFlag )
1503 Q_ENUM( FileOperationFlag )
1504 Q_FLAG( FileOperationFlags )
1513 UsersCannotToggleEditing = 1 << 0,
1514 IsBasemapLayer = 1 << 1,
1517 Q_DECLARE_FLAGS( MapLayerProperties, MapLayerProperty )
1518 Q_ENUM( MapLayerProperty )
1519 Q_FLAG( MapLayerProperties )
1528 IsBasemapSource = 1 << 1,
1531 Q_DECLARE_FLAGS( DataProviderFlags, DataProviderFlag )
1532 Q_ENUM( DataProviderFlag )
1533 Q_FLAG( DataProviderFlags )
1585 Q_ENUM( CrsAxisDirection )
1598 Q_ENUM( CoordinateOrder )
1607 ScaleDependentBoundingBox = 1 << 0,
1610 Q_DECLARE_FLAGS( AnnotationItemFlags, AnnotationItemFlag )
1611 Q_ENUM( AnnotationItemFlag )
1612 Q_FLAG( AnnotationItemFlags )
1621 FlagNoCreationTools = 1 << 0,
1624 Q_DECLARE_FLAGS( AnnotationItemGuiFlags, AnnotationItemGuiFlag )
1625 Q_ENUM( AnnotationItemGuiFlag )
1626 Q_FLAG( AnnotationItemGuiFlags )
1637 Q_ENUM( AnnotationItemNodeType )
1650 Q_ENUM( AnnotationItemEditOperationResult )
1666 Q_ENUM( VectorTemporalMode )
1675 IncludeBeginExcludeEnd = 0,
1676 IncludeBeginIncludeEnd,
1678 Q_ENUM( VectorTemporalLimitMode )
1689 StoresFeatureDateTimeStartAndEndInSeparateFields
SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
1691 Q_ENUM( VectorDataProviderTemporalMode )
1704 Q_ENUM( RasterTemporalMode )
1713 MatchUsingWholeRange,
1714 MatchExactUsingStartOfRange,
1715 MatchExactUsingEndOfRange,
1716 FindClosestMatchToStartOfRange,
1717 FindClosestMatchToEndOfRange
1719 Q_ENUM( TemporalIntervalMatchMethod )
1728 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
1730 Q_ENUM( RasterTemporalCapabilityFlag )
1737 Q_DECLARE_FLAGS( RasterTemporalCapabilityFlags, RasterTemporalCapabilityFlag )
1738 Q_FLAG( RasterTemporalCapabilityFlags )
1750 Q_ENUM( TransformDirection )
1759 BallparkTransformsAreAppropriate = 1 << 0,
1760 IgnoreImpossibleTransformations = 1 << 1,
1762 Q_ENUM( CoordinateTransformationFlag )
1769 Q_DECLARE_FLAGS( CoordinateTransformationFlags, CoordinateTransformationFlag )
1770 Q_FLAG( CoordinateTransformationFlags )
1779 Antialiasing = 0x01,
1780 DrawEditingInfo = 0x02,
1781 ForceVectorOutput = 0x04,
1782 UseAdvancedEffects = 0x08,
1783 DrawLabeling = 0x10,
1784 UseRenderingOptimization = 0x20,
1785 DrawSelection = 0x40,
1786 DrawSymbolBounds = 0x80,
1787 RenderMapTile = 0x100,
1788 RenderPartialOutput = 0x200,
1789 RenderPreviewJob = 0x400,
1790 RenderBlocking = 0x800,
1791 LosslessImageRendering = 0x1000,
1792 Render3DMap = 0x2000,
1793 HighQualityImageTransforms = 0x4000,
1794 SkipSymbolRendering = 0x8000,
1795 ForceRasterMasks = 0x10000,
1800 Q_FLAG( MapSettingsFlags )
1809 DrawEditingInfo = 0x01,
1810 ForceVectorOutput = 0x02,
1811 UseAdvancedEffects = 0x04,
1812 UseRenderingOptimization = 0x08,
1813 DrawSelection = 0x10,
1814 DrawSymbolBounds = 0x20,
1815 RenderMapTile = 0x40,
1816 Antialiasing = 0x80,
1817 RenderPartialOutput = 0x100,
1818 RenderPreviewJob = 0x200,
1819 RenderBlocking = 0x400,
1820 RenderSymbolPreview = 0x800,
1821 LosslessImageRendering = 0x1000,
1822 ApplyScalingWorkaroundForTextRendering = 0x2000,
1823 Render3DMap = 0x4000,
1824 ApplyClipAfterReprojection = 0x8000,
1825 RenderingSubSymbol = 0x10000,
1826 HighQualityImageTransforms = 0x20000,
1827 SkipSymbolRendering = 0x40000,
1832 Q_FLAG( RenderContextFlags )
1846 Q_ENUM( TextRenderFormat )
1857 UseAllLabels = 1 << 1,
1858 UsePartialCandidates = 1 << 2,
1860 RenderOutlineLabels = 1 << 3,
1861 DrawLabelRectOnly = 1 << 4,
1862 DrawCandidates = 1 << 5,
1863 DrawUnplacedLabels = 1 << 6,
1864 CollectUnplacedLabels = 1 << 7,
1865 DrawLabelMetrics = 1 << 8,
1867 Q_ENUM( LabelingFlag )
1877 Q_FLAG( LabelingFlags )
1891 Q_ENUM( LabelPlacementEngineVersion )
1906 Q_ENUM( TextOrientation )
1920 RectangleCapHeightBased,
1921 RectangleAscentBased,
1923 Q_ENUM( TextLayoutMode )
1939 Q_ENUM( TextComponent )
1955 Q_ENUM( TextHorizontalAlignment )
1973 Q_ENUM( TextVerticalAlignment )
1989 Q_ENUM( TextCharacterVerticalAlignment )
2003 Q_ENUM( RenderSubcomponentProperty )
2014 Q_ENUM( VertexType )
2030 EquilateralTriangle,
2063 Q_ENUM( MarkerShape )
2076 LastVertex = 1 << 2,
2077 FirstVertex = 1 << 3,
2078 CentralPoint = 1 << 4,
2079 CurvePoint = 1 << 5,
2080 SegmentCenter = 1 << 6,
2081 InnerVertices = 1 << 7,
2083 Q_ENUM( MarkerLinePlacement )
2084 Q_DECLARE_FLAGS( MarkerLinePlacements, MarkerLinePlacement )
2085 Q_FLAG( MarkerLinePlacements )
2099 Q_ENUM( GradientColorSource )
2114 Q_ENUM( GradientType )
2128 Q_ENUM( SymbolCoordinateReference )
2144 Q_ENUM( GradientSpread )
2158 Q_ENUM( PointCountMethod )
2172 Q_ENUM( MarkerClipMode )
2185 Q_ENUM( LineClipMode )
2200 Q_ENUM( DashPatternLineEndingRule )
2209 ScaleBothDashAndGap,
2213 Q_ENUM( DashPatternSizeAdjustment )
2227 Q_ENUM( GraduatedMethod )
2253 Q_ENUM( TilePixelRatio )
2269 ForceFirstLetterToCapital = 4,
2272 UpperCamelCase = 1005,
2273 AllSmallCaps = 1006,
2275 Q_ENUM( Capitalization )
2286 Q_ENUM( TextRendererFlag )
2287 Q_DECLARE_FLAGS( TextRendererFlags, TextRendererFlag )
2288 Q_FLAG( TextRendererFlags )
2312 Q_ENUM( AngularDirection )
2325 Q_ENUM( RendererUsage )
2334 Sync3DTo2D = 1 << 0,
2335 Sync2DTo3D = 1 << 1,
2337 Q_ENUM( ViewSyncModeFlag )
2338 Q_DECLARE_FLAGS( ViewSyncModeFlags, ViewSyncModeFlag )
2348 WhenOutsideVisibleExtent,
2351 Q_ENUM( MapRecenteringMode )
2360 LocalProfile = 1 << 0,
2363 Q_ENUM( HistoryProviderBackend )
2364 Q_DECLARE_FLAGS( HistoryProviderBackends, HistoryProviderBackend )
2365 Q_FLAG( HistoryProviderBackends )
2377 Q_ENUM( CrsDefinitionFormat )
2394 Q_ENUM( FieldDomainSplitPolicy )
2410 Q_ENUM( FieldDomainMergePolicy )
2423 Q_ENUM( FieldDomainType )
2433 AutomaticGroups = 1,
2436 Q_ENUM( TransactionMode )
2449 Q_ENUM( AltitudeClamping )
2461 Q_ENUM( AltitudeBinding )
2474 Q_ENUM( BetweenLineConstraint )
2487 Q_ENUM( LineExtensionSide )
2504 Q_ENUM( CadConstraintType )
2514 EvaluateDefaultValuesOnProviderSide = 1 << 0,
2515 TrustStoredLayerStatistics = 1 << 1,
2516 RememberLayerEditStatusBetweenSessions = 1 << 2,
2517 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
2519 Q_ENUM( ProjectFlag )
2520 Q_DECLARE_FLAGS( ProjectFlags, ProjectFlag )
2521 Q_FLAG( ProjectFlags )
2530 ShowContextMenu = 1 << 0,
2532 Q_ENUM( PlotToolFlag )
2533 Q_DECLARE_FLAGS( PlotToolFlags, PlotToolFlag )
2534 Q_FLAG( PlotToolFlags )
2546 Q_ENUM( LightSourceType )
2558 Q_ENUM( NavigationMode )
2571 Q_ENUM( VerticalAxisInversion )
2605 RespectsMaximumErrorMapUnit = 1 << 0,
2606 RespectsDistanceRange = 1 << 1,
2607 RespectsElevationRange = 1 << 2,
2609 Q_ENUM( ProfileGeneratorFlag )
2610 Q_DECLARE_FLAGS( ProfileGeneratorFlags, ProfileGeneratorFlag )
2611 Q_FLAG( ProfileGeneratorFlags )
2623 Q_ENUM( PointCloudSymbol )
2636 Q_ENUM( PointCloudDrawOrder )
2648 AvoidIntersectionsCurrentLayer,
2649 AvoidIntersectionsLayers,
2651 Q_ENUM( AvoidIntersectionsMode )
2665 Q_ENUM( ProjectFileFormat )
2681 DontLoadProjectStyles = 1 << 5,
2682 ForceReadOnlyLayers = 1 << 6,
2684 Q_ENUM( ProjectReadFlag )
2694 Q_FLAG( ProjectReadFlags )
2706 ProjectStyles = 1 << 0,
2708 Q_ENUM( ProjectCapability )
2715 Q_DECLARE_FLAGS( ProjectCapabilities, ProjectCapability )
2716 Q_FLAG( ProjectCapabilities )
2733 Q_ENUM( MapBoxGlStyleSourceType )
2752 Q_ENUM( ArcGisRestServiceType )
2766 Q_ENUM( RelationshipType )
2780 Q_ENUM( RelationshipStrength )
2794 Q_ENUM( RelationshipCardinality )
2803 MultipleFieldKeys = 1 << 0,
2804 ForwardPathLabel = 1 << 1,
2805 BackwardPathLabel = 1 << 2,
2807 Q_ENUM( RelationshipCapability )
2814 Q_DECLARE_FLAGS( RelationshipCapabilities, RelationshipCapability )
2815 Q_FLAG( RelationshipCapabilities )
2828 Q_ENUM( CoordinateDisplayType )
2841 Q_ENUM( SettingsOrigin )
2862 Q_ENUM( ScriptLanguage )
2874 CheckSyntax = 1 << 1,
2875 ToggleComment = 1 << 2,
2877 Q_ENUM( ScriptLanguageCapability )
2884 Q_DECLARE_FLAGS( ScriptLanguageCapabilities, ScriptLanguageCapability )
2885 Q_FLAG( ScriptLanguageCapabilities )
2894 AboveInsertionPoint,
2896 OptimalInInsertionGroup,
2898 Q_ENUM( LayerTreeInsertionMethod )
2907 SkipVisibilityCheck = 1 << 0,
2909 Q_ENUM( LayerTreeFilterFlag )
2916 Q_DECLARE_FLAGS( LayerTreeFilterFlags, LayerTreeFilterFlag )
2917 Q_FLAG( LayerTreeFilterFlags )
2932 Q_ENUM( ActionType )
2944 SingleFeature = 1 << 1,
2945 MultipleFeatures = 1 << 2,
2946 AllActions = Layer | SingleFeature | MultipleFeatures
2948 Q_ENUM( MapLayerActionTarget )
2957 Q_DECLARE_FLAGS( MapLayerActionTargets, MapLayerActionTarget )
2958 Q_FLAG( MapLayerActionTargets )
2969 EnabledOnlyWhenEditable = 1 << 1,
2971 Q_ENUM( MapLayerActionFlag )
2980 Q_DECLARE_FLAGS( MapLayerActionFlags, MapLayerActionFlag )
2981 Q_FLAG( MapLayerActionFlags )
3001 Q_ENUM( AttributeActionType )
3015 Q_ENUM( MetadataDateType )
3045 ContinuousPalette = 17
3047 Q_ENUM( RasterColorInterpretation )
3063 Q_ENUM( RasterLayerType )
3076 SingleBandPseudoColor,
3078 PalettedSingleBandGray,
3079 PalettedSingleBandPseudoColor,
3080 PalettedMultiBandColor,
3081 MultiBandSingleBandGray,
3082 MultiBandSingleBandPseudoColor,
3086 Q_ENUM( RasterDrawingStyle )
3101 Q_ENUM( RasterPyramidFormat )
3116 Q_ENUM( RasterBuildPyramidOption )
3133 Q_ENUM( RasterIdentifyFormat )
3145 Q_ENUM( ElevationMapCombineMethod )
3198 Q_ENUM( SystemOfMeasurement )
3238 Q_ENUM( DistanceUnit )
3253 Q_ENUM( DistanceUnitType )
3301 Q_ENUM( VolumeUnit )
3346 Q_ENUM( TemporalUnit )
3366 Q_ENUM( RenderUnit )
3386 Q_ENUM( LayoutUnit )
3400 Q_ENUM( LayoutUnitType )
3421 Q_ENUM( PostgresRelKind )
3430 SetFieldComment = 1 << 0,
3431 SetFieldAlias = 1 << 1,
3433 Q_ENUM( DatabaseProviderConnectionCapability2 )
3434 Q_DECLARE_FLAGS( DatabaseProviderConnectionCapabilities2, DatabaseProviderConnectionCapability2 )
3435 Q_FLAG( DatabaseProviderConnectionCapabilities2 )
3448 Q_ENUM( UserProfileSelectionPolicy )
3469 Q_ENUM( AttributeEditorType )
3482 Q_ENUM( AttributeEditorContainerType )
3497 Q_ENUM( AttributeFormLayout )
3512 Q_ENUM( AttributeFormSuppression )
3528 Q_ENUM( AttributeFormPythonInitCodeSource )
3540 Q_ENUM( ExpressionType )
3555 Q_ENUM( FeatureSymbologyExport )
3564 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
3566 Q_ENUM( VectorTileProviderFlag )
3573 Q_DECLARE_FLAGS( VectorTileProviderFlags, VectorTileProviderFlag )
3574 Q_FLAG( VectorTileProviderFlags )
3582 ReadLayerMetadata = 1 << 1,
3584 Q_ENUM( VectorTileProviderCapability )
3591 Q_DECLARE_FLAGS( VectorTileProviderCapabilities, VectorTileProviderCapability )
3592 Q_FLAG( VectorTileProviderCapabilities )
3603 AvailableNoChildren,
3604 UseLowerZoomLevelTile,
3606 Q_ENUM( TileAvailability )
3612 static const
double DEFAULT_SEARCH_RADIUS_MM;
3615 static const
float DEFAULT_MAPTOPIXEL_THRESHOLD;
3623 static const QColor DEFAULT_HIGHLIGHT_COLOR;
3629 static const
double DEFAULT_HIGHLIGHT_BUFFER_MM;
3635 static const
double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
3643 static const
double SCALE_PRECISION;
3650 static const
double DEFAULT_Z_COORDINATE;
3657 static const
double DEFAULT_M_COORDINATE;
3664 static const
double UI_SCALE_FACTOR;
3670 static const
double DEFAULT_SNAP_TOLERANCE;
3683 static QString defaultProjectScales();
3690 static
int geosVersionInt();
3697 static
int geosVersionMajor();
3704 static
int geosVersionMinor();
3711 static
int geosVersionPatch();
3718 static QString geosVersion();
3775#define cast_to_fptr(f) f
3797 , mPreviousState( object->blockSignals( true ) )
3802 mObject->blockSignals( mPreviousState );
3810 Object *mObject =
nullptr;
3811 bool mPreviousState;
3835CORE_EXPORT uint
qHash(
const QVariant &variant );
3849 const double roundFactor = std::pow( 10, -
precision );
3850 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
3855 if (
str.contains( QLatin1Char(
'.' ) ) )
3858 int idx =
str.length() - 1;
3859 while (
str.at( idx ) ==
'0' && idx > 1 )
3863 if ( idx <
str.length() - 1 )
3864 str.truncate(
str.at( idx ) ==
'.' ? idx : idx + 1 );
3874 if (
str == QLatin1String(
"-0" ) )
3876 return QLatin1String(
"0" );
3889 const bool aIsNan = std::isnan( a );
3890 const bool bIsNan = std::isnan( b );
3891 if ( aIsNan || bIsNan )
3892 return aIsNan && bIsNan;
3903inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
3905 const bool aIsNan = std::isnan( a );
3906 const bool bIsNan = std::isnan( b );
3907 if ( aIsNan || bIsNan )
3908 return aIsNan && bIsNan;
3910 const double diff = a - b;
3911 return diff > -epsilon && diff <= epsilon;
3920inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
3922 const bool aIsNan = std::isnan( a );
3923 const bool bIsNan = std::isnan( b );
3924 if ( aIsNan || bIsNan )
3925 return aIsNan && bIsNan;
3927 const float diff = a - b;
3928 return diff > -epsilon && diff <= epsilon;
3934 const bool aIsNan = std::isnan( a );
3935 const bool bIsNan = std::isnan( b );
3936 if ( aIsNan || bIsNan )
3937 return aIsNan && bIsNan;
3945 const double ar = std::frexp( a, &aexp );
3946 const double br = std::frexp( b, &bexp );
3948 return aexp == bexp &&
3959 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
3960 const double scaleFactor = std::pow( 10.0, places );
3961 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
3972template<
class Key,
class Value>
3976 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
3977 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
3979 result.chop( separator.size() );
3989template<
class Key,
class Value>
3993 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
3994 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
3996 result.chop( separator.size() );
4007QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
4010 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
4011 result += QString(
"%1%2" ).arg( *it ).arg( separator );
4013 result.chop( separator.size() );
4043 template<
typename To,
typename From>
inline To down_cast( From *f )
4046 ( std::is_base_of<From,
4047 typename std::remove_pointer<To>::type>::value ),
4048 "target type not derived from source type" );
4049 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
4050 return static_cast<To
>( f );
4054 QSet<T> listToSet(
const QList<T> &list )
4056 return QSet<T>( list.begin(), list.end() );
4060 QList<T> setToList(
const QSet<T> &set )
4062 return QList<T>( set.begin(), set.end() );
4075 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4076 Q_ASSERT( metaEnum.isValid() );
4078 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
4080 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
4092 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4093 Q_ASSERT( metaEnum.isValid() );
4094 QMap<T, QString> enumMap;
4095 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
4097 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
4109 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4110 Q_ASSERT( metaEnum.isValid() );
4111 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
4114 *returnOk = key ? true :
false;
4116 return QString::fromUtf8( key );
4126template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
4128 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4129 Q_ASSERT( metaEnum.isValid() );
4131 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
4143 if ( tryValueAsKey )
4145 bool canConvert =
false;
4146 const int intValue = key.toInt( &canConvert );
4147 if ( canConvert && metaEnum.valueToKey( intValue ) )
4153 return static_cast<T
>( intValue );
4157 return defaultValue;
4167 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4168 Q_ASSERT( metaEnum.isValid() );
4169 int intValue =
static_cast<int>( value );
4170 const QByteArray ba = metaEnum.valueToKeys( intValue );
4173 const int intValueCheck = metaEnum.keysToValue( ba );
4174 bool ok = intValue == intValueCheck;
4177 return ok ? QString::fromUtf8( ba ) : QString();
4187template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
4189 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
4190 Q_ASSERT( metaEnum.isValid() );
4192 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
4204 if ( tryValueAsKey )
4206 bool canConvert =
false;
4207 const int intValue = keys.toInt( &canConvert );
4210 const QByteArray keys = metaEnum.valueToKeys( intValue );
4211 const int intValueCheck = metaEnum.keysToValue( keys );
4212 if ( intValue == intValueCheck )
4218 return T( intValue );
4223 return defaultValue;
4279CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
4289#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
4297inline bool operator> (
const QVariant &v1,
const QVariant &v2 )
4311inline bool operator< (
const QVariant &v1,
const QVariant &v2 )
4318#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
4323template<> CORE_EXPORT
bool qMapLessThanKey<QVariantList>(
const QVariantList &key1,
const QVariantList &key2 )
SIP_SKIP;
4326CORE_EXPORT QString
qgsVsiPrefix(
const QString &path );
4344#define CONSTLATIN1STRING inline const QLatin1String
4346#define CONSTLATIN1STRING constexpr QLatin1String
4350class ScopedIntIncrementor
4354 ScopedIntIncrementor(
int *variable )
4355 : mVariable( variable )
4360 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
4361 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
4368 mVariable =
nullptr;
4371 ~ScopedIntIncrementor()
4377 int *mVariable =
nullptr;
4387 return QLatin1String(
4388 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]] )"""
4395 return QLatin1String(
"+proj=longlat +datum=WGS84 +no_defs" );
4401 return QLatin1String(
"EPSG:4326" );
4407 return QLatin1String(
"NONE" );
4413const int PREVIEW_JOB_DELAY_MS = 250;
4416const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
4461#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
4463#define Q_NOWARN_DEPRECATED_PUSH \
4464 _Pragma("GCC diagnostic push") \
4465 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
4466#define Q_NOWARN_DEPRECATED_POP \
4467 _Pragma("GCC diagnostic pop");
4468#define Q_NOWARN_UNREACHABLE_PUSH
4469#define Q_NOWARN_UNREACHABLE_POP
4471#elif defined(_MSC_VER)
4473#define Q_NOWARN_DEPRECATED_PUSH \
4474 __pragma(warning(push)) \
4475 __pragma(warning(disable:4996))
4476#define Q_NOWARN_DEPRECATED_POP \
4477 __pragma(warning(pop))
4478#define Q_NOWARN_UNREACHABLE_PUSH \
4479 __pragma(warning(push)) \
4480 __pragma(warning(disable:4702))
4481#define Q_NOWARN_UNREACHABLE_POP \
4482 __pragma(warning(pop))
4486#define Q_NOWARN_DEPRECATED_PUSH
4487#define Q_NOWARN_DEPRECATED_POP
4488#define Q_NOWARN_UNREACHABLE_PUSH
4489#define Q_NOWARN_UNREACHABLE_POP
4496# define QGISEXTERN extern "C" __declspec( dllexport )
4498# if defined(__GNUC__) || defined(__clang__)
4499# define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
4501# define QGISEXTERN extern "C"
4507#if __cplusplus >= 201500
4508#define FALLTHROUGH [[fallthrough]];
4509#elif defined(__clang__)
4510#define FALLTHROUGH [[clang::fallthrough]];
4511#elif defined(__GNUC__) && __GNUC__ >= 7
4512#define FALLTHROUGH [[gnu::fallthrough]];
4518#if __cplusplus >= 201703L
4519#define NODISCARD [[nodiscard]]
4520#elif defined(__clang__)
4521#define NODISCARD [[nodiscard]]
4522#elif defined(_MSC_VER)
4524#elif defined(__has_cpp_attribute)
4525#if __has_cpp_attribute(nodiscard)
4526#define NODISCARD [[nodiscard]]
4527#elif __has_cpp_attribute(gnu::warn_unused_result)
4528#define NODISCARD [[gnu::warn_unused_result]]
4530#define NODISCARD Q_REQUIRED_RESULT
4533#define NODISCARD Q_REQUIRED_RESULT
4536#if __cplusplus >= 201703L
4537#define MAYBE_UNUSED [[maybe_unused]]
4538#elif defined(__clang__)
4539#define MAYBE_UNUSED [[maybe_unused]]
4540#elif defined(_MSC_VER)
4542#elif defined(__has_cpp_attribute)
4543#if __has_cpp_attribute(gnu::unused)
4544#define MAYBE_UNUSED [[gnu::unused]]
4558#define BUILTIN_UNREACHABLE \
4560#elif defined(__GNUC__) && !defined(__clang__)
4571#define BUILTIN_UNREACHABLE \
4572 __builtin_unreachable();
4574#define BUILTIN_UNREACHABLE
4584QString 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.
PointCloudSymbol
Rendering symbols for point cloud points.
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.
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.
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.
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.
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.
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.