Make IntFlag enum type opt-in, rather than opt-out

And make sipify handle this nicely. This means that all our non-flag
style enums correctly map across to IntFlag python enums on Qt 6,
fixing issues with negative enum values for these and providing
a better match for the original c++ enum.
This commit is contained in:
Nyall Dawson 2024-01-31 10:03:40 +10:00
parent 12f4ce5978
commit 078fd4f2ea
110 changed files with 532 additions and 484 deletions

View File

@ -11,7 +11,7 @@
enum class QgsMaterialSettingsRenderingTechnique /BaseType=IntFlag/
enum class QgsMaterialSettingsRenderingTechnique /BaseType=IntEnum/
{
Triangles,
Lines,

View File

@ -27,7 +27,7 @@ based on a transformation method and a list of GCPs.
public:
enum class TransformMethod /BaseType=IntFlag/
enum class TransformMethod /BaseType=IntEnum/
{
Linear,
Helmert,

View File

@ -22,7 +22,7 @@ Abstract base class for annotation item edit operations
%End
public:
enum class Type /BaseType=IntFlag/
enum class Type /BaseType=IntEnum/
{
MoveNode,
DeleteNode,

View File

@ -68,7 +68,7 @@ unique value.
EmptyExtentError
};
enum class VAlign /BaseType=IntFlag/
enum class VAlign /BaseType=IntEnum/
{
VBaseLine,
VBottom,
@ -77,7 +77,7 @@ unique value.
Undefined
};
enum class HAlign /BaseType=IntFlag/
enum class HAlign /BaseType=IntEnum/
{
HLeft,
HCenter,

View File

@ -28,26 +28,26 @@ a "perimeter" style mode).
public:
enum class DirectionSymbolPlacement /BaseType=IntFlag/
enum class DirectionSymbolPlacement /BaseType=IntEnum/
{
SymbolLeftRight,
SymbolAbove,
SymbolBelow
};
enum class AnchorType /BaseType=IntFlag/
enum class AnchorType /BaseType=IntEnum/
{
HintOnly,
Strict,
};
enum class AnchorClipping /BaseType=IntFlag/
enum class AnchorClipping /BaseType=IntEnum/
{
UseVisiblePartsOfLine,
UseEntireLine,
};
enum class AnchorTextPoint /BaseType=IntFlag/
enum class AnchorTextPoint /BaseType=IntEnum/
{
StartOfText,
CenterOfText,

View File

@ -25,7 +25,7 @@ Handles exporting point cloud layers to memory layers, OGR supported files and P
%End
public:
enum class ExportFormat /BaseType=IntFlag/
enum class ExportFormat /BaseType=IntEnum/
{
Memory,
Las,

View File

@ -282,7 +282,7 @@ Decodes a provider key and layer ``uri`` from an encoded string, for use with
.. versionadded:: 3.14
%End
enum class LayerHint /BaseType=IntFlag/
enum class LayerHint /BaseType=IntEnum/
{
UnknownType,
Vector,

View File

@ -35,7 +35,7 @@ embedded project items. The non-sublayer items can be added by calling
%End
public:
enum class Role /BaseType=IntFlag/
enum class Role /BaseType=IntEnum/
{
ProviderKey,
LayerType,
@ -52,7 +52,7 @@ embedded project items. The non-sublayer items can be added by calling
Flags,
};
enum class Column /BaseType=IntFlag/
enum class Column /BaseType=IntEnum/
{
Name,
Description,

File diff suppressed because it is too large Load Diff

View File

@ -76,7 +76,7 @@ This indicates that there is something wrong with the expression compiler.
.. versionadded:: 3.2
%End
enum class RequestToSourceCrsResult /BaseType=IntFlag/
enum class RequestToSourceCrsResult /BaseType=IntEnum/
{
Success,
DistanceWithinMustBeCheckedManually,

View File

@ -23,7 +23,7 @@ A map clipping region (in map coordinates and CRS).
%End
public:
enum class FeatureClippingType /BaseType=IntFlag/
enum class FeatureClippingType /BaseType=IntEnum/
{
ClipToIntersection,
ClipPainterOnly,

View File

@ -15,8 +15,18 @@
%End
struct QgsStoredExpression
class QgsStoredExpression
{
%Docstring(signature="appended")
Stored expression containing name, content (expression text) and a category tag.
.. versionadded:: 3.10
%End
%TypeHeaderCode
#include "qgsstoredexpressionmanager.h"
%End
public:
enum Category
{

View File

@ -23,7 +23,7 @@ A QAbstractItemModel subclass for showing sensors within a :py:class:`QgsSensorM
%End
public:
enum class Column /BaseType=IntFlag/
enum class Column /BaseType=IntEnum/
{
Name,
LastValue,

View File

@ -765,7 +765,7 @@ Returns the default patch geometry for the given symbol ``type`` and ``size`` as
.. versionadded:: 3.14
%End
enum class TextFormatContext /BaseType=IntFlag/
enum class TextFormatContext /BaseType=IntEnum/
{
Labeling,
};

View File

@ -24,7 +24,7 @@ An interface for classes which can visit style entity (e.g. symbol) nodes (using
%End
public:
enum class NodeType /BaseType=IntFlag/
enum class NodeType /BaseType=IntEnum/
{
Project,
Layer,

View File

@ -89,7 +89,7 @@ A text editor based on QScintilla2.
CommandInput,
};
enum class MarginRole /BaseType=IntFlag/
enum class MarginRole /BaseType=IntEnum/
{
LineNumbers,
ErrorIndicators,

View File

@ -22,13 +22,13 @@ The :py:class:`QgsJsonEditWidget` is a widget to display JSON data in a code hig
%End
public:
enum class View /BaseType=IntFlag/
enum class View /BaseType=IntEnum/
{
Text,
Tree
};
enum class FormatJson /BaseType=IntFlag/
enum class FormatJson /BaseType=IntEnum/
{
Indented,
Compact,

View File

@ -25,7 +25,7 @@ fields from a :py:class:`QgsFields` object.
%End
public:
enum class ColumnDataIndex /BaseType=IntFlag/
enum class ColumnDataIndex /BaseType=IntEnum/
{
SourceExpression,
Aggregate,

View File

@ -35,7 +35,7 @@ Base class for processing algorithm dialogs.
FormatHtml,
};
enum class DialogMode /BaseType=IntFlag/
enum class DialogMode /BaseType=IntEnum/
{
Single,
Batch,

View File

@ -26,7 +26,7 @@ the mapping expression is editable.
%End
public:
enum class ColumnDataIndex /BaseType=IntFlag/
enum class ColumnDataIndex /BaseType=IntEnum/
{
SourceExpression,
DestinationName,

View File

@ -22,7 +22,7 @@ Factory class for creating custom map layer property pages
%End
public:
enum class ParentPage /BaseType=IntFlag/
enum class ParentPage /BaseType=IntEnum/
{
NoParent,
Temporal,

View File

@ -15,8 +15,18 @@
%End
struct QgsStoredExpression
class QgsStoredExpression
{
%Docstring(signature="appended")
Stored expression containing name, content (expression text) and a category tag.
.. versionadded:: 3.10
%End
%TypeHeaderCode
#include "qgsstoredexpressionmanager.h"
%End
public:
enum Category
{

View File

@ -62,6 +62,7 @@ my $MULTILINE_DEFINITION = MULTILINE_NO;
my $ACTUAL_CLASS = '';
my $PYTHON_SIGNATURE = '';
my @ENUM_INT_TYPES = ();
my @ENUM_INTFLAG_TYPES = ();
my @ENUM_CLASS_NON_INT_TYPES = ();
my @ENUM_MONKEY_PATCHED_TYPES = ();
@ -1167,27 +1168,38 @@ while ($LINE_IDX < $LINE_COUNT){
if ( $LINE =~ m/^(\s*enum(\s+Q_DECL_DEPRECATED)?\s+(?<isclass>class\s+)?(?<enum_qualname>\w+))(:?\s+SIP_[^:]*)?(\s*:\s*(?<enum_type>\w+))?(?:\s*SIP_ENUM_BASETYPE\s*\(\s*(?<py_enum_type>\w+)\s*\))?(?<oneliner>.*)$/ ){
my $enum_decl = $1;
my $enum_qualname = $+{enum_qualname};
my $py_enum_type = $+{py_enum_type};
my $enum_type = $+{enum_type};
my $isclass = $+{isclass};
my $oneliner = $+{oneliner};
my $is_scope_based = "0";
$is_scope_based = "1" if defined $isclass;
$enum_decl =~ s/\s*\bQ_DECL_DEPRECATED\b//;
if ( defined $+{enum_type} and $+{enum_type} eq "int" ) {
my $py_enum_type;
if ( $LINE =~ m/SIP_ENUM_BASETYPE\(\s*(.*?)\s*\)/ ) {
$py_enum_type = $1;
}
if (defined $py_enum_type and $py_enum_type eq "IntFlag") {
push @ENUM_INTFLAG_TYPES, "$ACTUAL_CLASS" . "::$enum_qualname";
}
if ( defined $enum_type and $enum_type eq "int" ) {
push @ENUM_INT_TYPES, "$ACTUAL_CLASS.$enum_qualname";
if ( $is_qt6 eq 1 ) {
if (defined $py_enum_type) {
$enum_decl .= " /BaseType=$py_enum_type/"
} else {
$enum_decl .= " /BaseType=IntFlag/"
$enum_decl .= " /BaseType=IntEnum/"
}
}
}
elsif (defined $+{isclass})
elsif (defined $isclass)
{
push @ENUM_CLASS_NON_INT_TYPES, "$ACTUAL_CLASS.$enum_qualname";
}
write_output("ENU1", "$enum_decl");
write_output("ENU1", $+{oneliner}) if defined $+{oneliner};
write_output("ENU1", $oneliner) if defined $oneliner;
write_output("ENU1", "\n");
my $is_scope_based = "0";
$is_scope_based = "1" if defined $+{isclass};
my $monkeypatch = "0";
$monkeypatch = "1" if defined $is_scope_based eq "1" and $LINE =~ m/SIP_MONKEYPATCH_SCOPEENUM(_UNNEST)?(:?\(\s*(?<emkb>\w+)\s*,\s*(?<emkf>\w+)\s*\))?/;
my $enum_mk_base = "";
@ -1224,15 +1236,21 @@ while ($LINE_IDX < $LINE_COUNT){
next if ($LINE =~ m/^\s*\w+\s*\|/); # multi line declaration as sum of enums
do {no warnings 'uninitialized';
my $enum_decl = $LINE =~ s/^(\s*(?<em>\w+))(\s+SIP_PYNAME(?:\(\s*(?<pyname>[^() ]+)\s*\)\s*)?)?(\s+SIP_MONKEY\w+(?:\(\s*(?<compat>[^() ]+)\s*\)\s*)?)?(?:\s*=\s*(?:[\w\s\d|+-]|::|<<)+)?(,?)(:?\s*\/\/!<\s*(?<co>.*)|.*)$/$1$3$7/r;
my $enum_decl = $LINE =~ s/^(\s*(?<em>\w+))(\s+SIP_PYNAME(?:\(\s*(?<pyname>[^() ]+)\s*\)\s*)?)?(\s+SIP_MONKEY\w+(?:\(\s*(?<compat>[^() ]+)\s*\)\s*)?)?(?:\s*=\s*(?<enum_value>(:?[\w\s\d|+-]|::|<<)+))?(?<optional_comma>,?)(:?\s*\/\/!<\s*(?<co>.*)|.*)$/$1$3$+{optional_comma}/r;
my $enum_member = $+{em};
my $comment = $+{co};
my $compat_name = $+{compat} ? $+{compat} : $enum_member;
my $enum_value = $+{enum_value};
# replace :: with . (changes c++ style namespace/class directives to Python style)
$comment =~ s/::/./g;
$comment =~ s/\"/\\"/g;
$comment =~ s/\\since .*?([\d\.]+)/\\n.. versionadded:: $1\\n/i;
dbg_info("is_scope_based:$is_scope_based enum_mk_base:$enum_mk_base monkeypatch:$monkeypatch");
if ( defined $enum_value and ($enum_value =~ m/.*\<\<.*/ or $enum_value =~ m/.*0x0.*/)) {
if (none { $_ eq "${ACTUAL_CLASS}::$enum_qualname" } @ENUM_INTFLAG_TYPES) {
exit_with_error("${ACTUAL_CLASS}::$enum_qualname is a flags type, but was not declared with IntFlag type. Add 'SIP_ENUM_BASETYPE(IntFlag)' to the enum class declaration line");
}
}
if ($is_scope_based eq "1" and $enum_member ne "") {
if ( $monkeypatch eq 1 and $enum_mk_base ne ""){
if ( $ACTUAL_CLASS ne "" ) {
@ -1366,6 +1384,10 @@ while ($LINE_IDX < $LINE_COUNT){
dbg_info("Declare flags: $ACTUAL_CLASS");
$LINE = "$1typedef QFlags<${ACTUAL_CLASS}$3> $2;\n";
$QFLAG_HASH{"${ACTUAL_CLASS}$2"} = "${ACTUAL_CLASS}$3";
if ( none { $_ eq "${ACTUAL_CLASS}$3" } @ENUM_INTFLAG_TYPES ){
exit_with_error("${ACTUAL_CLASS}$3 is a flags type, but was not declared with IntFlag type. Add 'SIP_ENUM_BASETYPE(IntFlag)' to the enum class declaration line");
}
}
# catch Q_DECLARE_OPERATORS_FOR_FLAGS
if ( $LINE =~ m/^(\s*)Q_DECLARE_OPERATORS_FOR_FLAGS\(\s*(.*?)\s*\)\s*$/ ){

View File

@ -161,7 +161,7 @@ class ANALYSIS_EXPORT QgsGeometryCheck
/**
* Flags for geometry checks.
*/
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
AvailableInValidation = 1 << 1 //!< This geometry check should be available in layer validation on the vector layer peroperties
};

View File

@ -48,7 +48,7 @@ class ANALYSIS_EXPORT QgsZonalStatistics
public:
//! Enumeration of flags that specify statistics to be calculated
enum Statistic
enum Statistic SIP_ENUM_BASETYPE( IntFlag )
{
Count = 1, //!< Pixel count
Sum = 2, //!< Sum of pixel values

View File

@ -49,7 +49,7 @@ class CORE_EXPORT QgsAuthMethod : public QObject
* \note When adding an 'update' member function, also add the corresponding Expansion flag.
* \note These flags will be added to as new update points are added
*/
enum Expansion
enum Expansion SIP_ENUM_BASETYPE( IntFlag )
{
// TODO: Figure out all different authentication expansions current layer providers use
NetworkRequest = 0x1,

View File

@ -110,7 +110,7 @@ class CORE_EXPORT QgsClassificationMethod SIP_ABSTRACT
public:
//! Flags for the classification method
enum MethodProperty
enum MethodProperty SIP_ENUM_BASETYPE( IntFlag )
{
NoFlag = 0, //!< No flag
ValuesNotRequired = 1 << 1, //!< Deprecated since QGIS 3.12

View File

@ -101,7 +101,7 @@ class CORE_EXPORT QgsDxfExport : public QgsLabelSink
};
//! Export flags
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagNoMText = 1 << 1, //!< Export text as TEXT elements. If not set, text will be exported as MTEXT elements.
};
@ -149,7 +149,7 @@ class CORE_EXPORT QgsDxfExport : public QgsLabelSink
*
* \since QGIS 3.12
*/
enum DxfPolylineFlag
enum DxfPolylineFlag SIP_ENUM_BASETYPE( IntFlag )
{
Closed = 1, //!< This is a closed polyline (or a polygon mesh closed in the M direction)
Curve = 2, //!< Curve-fit vertices have been added

View File

@ -37,7 +37,7 @@ class CORE_EXPORT QgsAttributeEditorRelation : public QgsAttributeEditorElement
* \deprecated since QGIS 3.18 use QgsRelationEditorWidget::Button instead
* \since QGIS 3.16
*/
enum Button
enum Button SIP_ENUM_BASETYPE( IntFlag )
{
Link = 1 << 1, //!< Link button
Unlink = 1 << 2, //!< Unlink button

View File

@ -39,7 +39,7 @@ class CORE_EXPORT QgsGeocoderInterface
public:
//! Capability flags for the geocoder.
enum class Flag
enum class Flag SIP_ENUM_BASETYPE( IntFlag )
{
GeocodesStrings = 1 << 0, //!< Can geocode string input values
GeocodesFeatures = 1 << 1, //!< Can geocode QgsFeature input values

View File

@ -305,7 +305,7 @@ class CORE_EXPORT QgsAbstractGeometry
* WKB export flags.
* \since QGIS 3.14
*/
enum WkbFlag
enum WkbFlag SIP_ENUM_BASETYPE( IntFlag )
{
FlagExportTrianglesAsPolygons = 1 << 0, //!< Triangles should be exported as polygon geometries
FlagExportNanAsDoubleMin = 1 << 1, //!< Use -DOUBLE_MAX to represent NaN (since QGIS 3.30)

View File

@ -94,7 +94,7 @@ class CORE_EXPORT QgsLayerTreeModel : public QAbstractItemModel
// New stuff
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
// display flags
ShowLegend = 0x0001, //!< Add legend nodes for layer nodes

View File

@ -330,7 +330,7 @@ class CORE_EXPORT QgsLayoutItem : public QgsLayoutObject, public QGraphicsRectIt
* Flags for controlling how an item behaves.
* \since QGIS 3.4.3
*/
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagOverridesPaint = 1 << 1, //!< Item overrides the default layout item painting method
FlagProvidesClipPath = 1 << 2, //!< Item can act as a clipping path provider (see clipPath())

View File

@ -349,7 +349,7 @@ class CORE_EXPORT QgsLayoutItemMap : public QgsLayoutItem, public QgsTemporalRan
* Various flags that affect drawing of map items.
* \since QGIS 3.6
*/
enum MapItemFlag
enum MapItemFlag SIP_ENUM_BASETYPE( IntFlag )
{
ShowPartialLabels = 1 << 0, //!< Whether to draw labels which are partially outside of the map view
ShowUnplacedLabels = 1 << 1, //!< Whether to render unplaced labels in the map view

View File

@ -254,7 +254,7 @@ class CORE_EXPORT QgsLayoutItemMapGrid : public QgsLayoutItemMapItem
/**
* Flags for controlling which side of the map a frame is drawn on
*/
enum FrameSideFlag
enum FrameSideFlag SIP_ENUM_BASETYPE( IntFlag )
{
FrameLeft = 0x01, //!< Left side of map
FrameRight = 0x02, //!< Right side of map

View File

@ -242,7 +242,7 @@ class CORE_EXPORT QgsLayoutManagerProxyModel : public QSortFilterProxyModel
public:
//! Available filter flags for filtering the model
enum Filter
enum Filter SIP_ENUM_BASETYPE( IntFlag )
{
FilterPrintLayouts = 1 << 1, //!< Includes print layouts
FilterReports = 1 << 2, //!< Includes reports

View File

@ -41,7 +41,7 @@ class CORE_EXPORT QgsLayoutRenderContext : public QObject
public:
//! Flags for controlling how a layout is rendered
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagDebug = 1 << 1, //!< Debug/testing mode, items are drawn as solid rectangles.
FlagOutlineOnly = 1 << 2, //!< Render items as outlines only.

View File

@ -181,7 +181,7 @@ class CORE_EXPORT QgsLocatorFilter : public QObject
Q_ENUM( Priority )
//! Flags for locator behavior.
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagFast = 1 << 1, //!< Filter finds results quickly and can be safely run in the main thread
};

View File

@ -140,7 +140,7 @@ class CORE_EXPORT QgsPointCloudAttributeProxyModel : public QSortFilterProxyMode
public:
//! Attribute type filters
enum Filter
enum Filter SIP_ENUM_BASETYPE( IntFlag )
{
Char = 1 << 0, //!< Character attributes
Short = 1 << 1, //!< Short attributes

View File

@ -52,7 +52,7 @@ class CORE_EXPORT QgsPointCloudDataProvider: public QgsDataProvider
/**
* Capabilities that providers may implement.
*/
enum Capability
enum Capability SIP_ENUM_BASETYPE( IntFlag )
{
NoCapabilities = 0, //!< Provider has no capabilities
ReadLayerMetadata = 1 << 0, //!< Provider can read layer metadata from data store.
@ -66,7 +66,7 @@ class CORE_EXPORT QgsPointCloudDataProvider: public QgsDataProvider
/**
* Point cloud index state
*/
enum PointCloudIndexGenerationState
enum PointCloudIndexGenerationState SIP_ENUM_BASETYPE( IntFlag )
{
NotIndexed = 0, //!< Provider has no index available
Indexing = 1 << 0, //!< Provider try to index the source data

View File

@ -98,7 +98,7 @@ class CORE_EXPORT QgsPointCloudLayer : public QgsMapLayer, public QgsAbstractPro
* Point cloud statistics calculation task
* \since QGIS 3.26
*/
enum class PointCloudStatisticsCalculationState : int
enum class PointCloudStatisticsCalculationState : int SIP_ENUM_BASETYPE( IntFlag )
{
NotStarted = 0, //!< The statistics calculation task has not been started
Calculating = 1 << 0, //!< The statistics calculation task is running

View File

@ -73,7 +73,7 @@ class CORE_EXPORT QgsProcessing
*
* \since QGIS 3.32
*/
enum class LayerOptionsFlag : int
enum class LayerOptionsFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
SkipIndexGeneration = 1 << 0, //!< Do not generate index when creating a layer. Makes sense only for point cloud layers
};

View File

@ -66,7 +66,7 @@ class CORE_EXPORT QgsProcessingAlgorithm
public:
//! Flags indicating how and when an algorithm operates and should be exposed to users
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagHideFromToolbox = 1 << 1, //!< Algorithm should be hidden from the toolbox
FlagHideFromModeler = 1 << 2, //!< Algorithm should be hidden from the modeler

View File

@ -46,7 +46,7 @@ class CORE_EXPORT QgsProcessingContext
public:
//! Flags that affect how processing algorithms are run
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
// For future API flexibility only and to avoid sip issues, remove when real entries are added to flags.
Unused = 1 << 0, //!< Temporary unused entry
@ -739,7 +739,7 @@ class CORE_EXPORT QgsProcessingContext
*
* \since QGIS 3.24
*/
enum class ProcessArgumentFlag : int
enum class ProcessArgumentFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
IncludeProjectPath = 1 << 0, //!< Include the associated project path argument
};

View File

@ -453,7 +453,7 @@ class CORE_EXPORT QgsProcessingParameterDefinition
public:
//! Parameter flags
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagAdvanced = 1 << 1, //!< Parameter is an advanced parameter which should be hidden from users by default
FlagHidden = 1 << 2, //!< Parameter is hidden and should not be shown to users

View File

@ -38,7 +38,7 @@ class CORE_EXPORT QgsProcessingParameterType
* Each parameter type can offer a number of additional flags to finetune its behavior
* and capabilities.
*/
enum ParameterFlag
enum ParameterFlag SIP_ENUM_BASETYPE( IntFlag )
{
ExposeToModeler = 1 //!< Is this parameter available in the modeler. Is set to on by default.
};

View File

@ -42,7 +42,7 @@ class CORE_EXPORT QgsProcessingProvider : public QObject
* Flags indicating how and when an provider operates and should be exposed to users
* \since QGIS 3.14
*/
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagDeemphasiseSearchResults = 1 << 1, //!< Algorithms should be de-emphasised in the search results when searching for algorithms. Use for low-priority providers or those with substantial known issues.
FlagCompatibleWithVirtualRaster = 1 << 2, //!< The processing provider's algorithms can work with QGIS virtualraster data provider. Since QGIS 3.36

View File

@ -680,7 +680,7 @@ class CORE_EXPORT QgsProcessingFeatureSource : public QgsFeatureSource
public:
//! Flags controlling how QgsProcessingFeatureSource fetches features
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagSkipGeometryValidityChecks = 1 << 1, //!< Invalid geometry checks should always be skipped. This flag can be useful for algorithms which always require invalid geometries, regardless of any user settings (e.g. "repair geometry" type algorithms).
};

View File

@ -375,7 +375,7 @@ class CORE_EXPORT QgsProjectStyleDatabaseProxyModel : public QSortFilterProxyMod
public:
//! Available filter flags for filtering the model
enum class Filter : int
enum class Filter : int SIP_ENUM_BASETYPE( IntFlag )
{
FilterHideReadOnly = 1 << 0, //!< Hide read-only style databases
};

View File

@ -225,7 +225,7 @@ class CORE_EXPORT QgsArcGisRestUtils
*
* \since QGIS 3.28
*/
enum class FeatureToJsonFlag : int
enum class FeatureToJsonFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
IncludeGeometry = 1 << 0, //!< Whether to include the geometry definition
IncludeNonObjectIdAttributes = 1 << 1, //!< Whether to include any non-objectId attributes

View File

@ -57,7 +57,7 @@ class CORE_EXPORT QgsAbstractDatabaseProviderConnection : public QgsAbstractProv
* Flags can be useful for filtering the tables returned
* from tables().
*/
enum TableFlag
enum TableFlag SIP_ENUM_BASETYPE( IntFlag )
{
Aspatial = 1 << 1, //!< Aspatial table (it does not contain any geometry column)
Vector = 1 << 2, //!< Vector table (it does contain one geometry column)
@ -482,7 +482,7 @@ class CORE_EXPORT QgsAbstractDatabaseProviderConnection : public QgsAbstractProv
*
* \see Qgis::DatabaseProviderConnectionCapability2
*/
enum Capability
enum Capability SIP_ENUM_BASETYPE( IntFlag )
{
CreateVectorTable = 1 << 1, //!< Can CREATE a vector (or aspatial) table/layer
DropRasterTable = 1 << 2, //!< Can DROP a raster table/layer
@ -524,7 +524,7 @@ class CORE_EXPORT QgsAbstractDatabaseProviderConnection : public QgsAbstractProv
*
* \since QGIS 3.16
*/
enum GeometryColumnCapability
enum GeometryColumnCapability SIP_ENUM_BASETYPE( IntFlag )
{
Z = 1 << 1, //!< Supports Z dimension
M = 1 << 2, //!< Supports M dimension

View File

@ -74,7 +74,7 @@ class CORE_EXPORT QgsDataProvider : public QObject
/**
* Used in browser model to understand which items for which providers should be populated
*/
enum DataCapability
enum DataCapability SIP_ENUM_BASETYPE( IntFlag )
{
NoDataCapabilities = 0,
File = 1,
@ -119,7 +119,7 @@ class CORE_EXPORT QgsDataProvider : public QObject
* Flags which control dataprovider construction.
* \since QGIS 3.16
*/
enum ReadFlag
enum ReadFlag SIP_ENUM_BASETYPE( IntFlag )
{
FlagTrustDataSource = 1 << 0, //!< Trust datasource config (primary key unicity, geometry type and srid, etc). Improves provider load time by skipping expensive checks like primary key unicity, geometry type and srid and by using estimated metadata on data load. Since QGIS 3.16
SkipFeatureCount = 1 << 1, //!< Make featureCount() return -1 to indicate unknown, and subLayers() to return a unknown feature count as well. Since QGIS 3.18. Only implemented by OGR provider at time of writing.

View File

@ -62,7 +62,7 @@ class CORE_EXPORT QgsMeshDriverMetadata
/**
* Flags for the capabilities of the driver
*/
enum MeshDriverCapability
enum MeshDriverCapability SIP_ENUM_BASETYPE( IntFlag )
{
CanWriteFaceDatasets = 1 << 0, //!< If the driver can persist datasets defined on faces
CanWriteVertexDatasets = 1 << 1, //!< If the driver can persist datasets defined on vertices
@ -184,7 +184,7 @@ class CORE_EXPORT QgsProviderMetadata : public QObject
*
* \since QGIS 3.18
*/
enum ProviderMetadataCapability
enum ProviderMetadataCapability SIP_ENUM_BASETYPE( IntFlag )
{
PriorityForUri = 1 << 0, //!< Indicates that the metadata can calculate a priority for a URI
LayerTypesForUri = 1 << 1, //!< Indicates that the metadata can determine valid layer types for a URI
@ -198,7 +198,7 @@ class CORE_EXPORT QgsProviderMetadata : public QObject
*
* \since QGIS 3.18.1
*/
enum ProviderCapability
enum ProviderCapability SIP_ENUM_BASETYPE( IntFlag )
{
FileBasedUris = 1 << 0, //!< Indicates that the provider can utilize URIs which are based on paths to files (as opposed to database or internet paths)
SaveLayerMetadata = 1 << 1, //!< Indicates that the provider supports saving native layer metadata (since QGIS 3.20)

View File

@ -37,7 +37,7 @@ class CORE_EXPORT QgsProviderUtils
/**
* Flags which control how QgsProviderUtils::sublayerDetailsAreIncomplete() tests for completeness.
*/
enum class SublayerCompletenessFlag : int
enum class SublayerCompletenessFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
IgnoreUnknownFeatureCount = 1 << 0, //!< Indicates that an unknown feature count should not be considered as incomplete
IgnoreUnknownGeometryType = 1 << 1, //!< Indicates that an unknown geometry type should not be considered as incomplete

View File

@ -129,7 +129,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.34. Prior to 3.34 this was available as QgsMapLayerProxyModel::Filter.
*/
enum class LayerFilter SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsMapLayerProxyModel, Filter ) : int
enum class LayerFilter SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsMapLayerProxyModel, Filter ) : int SIP_ENUM_BASETYPE( IntFlag )
{
RasterLayer = 1,
NoGeometry = 2,
@ -304,7 +304,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.24
*/
enum class VectorLayerTypeFlag : int
enum class VectorLayerTypeFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
SqlQuery = 1 << 0 //!< SQL query layer
};
@ -332,7 +332,7 @@ class CORE_EXPORT Qgis
* \brief Enumeration of feature count states
* \since QGIS 3.20
*/
enum class FeatureCountState SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsVectorDataProvider, FeatureCountState ) : int SIP_ENUM_BASETYPE(IntEnum)
enum class FeatureCountState SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsVectorDataProvider, FeatureCountState ) : int
{
Uncounted = -2, //!< Feature count not yet computed
UnknownCount = -1, //!< Provider returned an unknown feature count
@ -344,7 +344,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.32
*/
enum class VectorDataProviderAttributeEditCapability : int
enum class VectorDataProviderAttributeEditCapability : int SIP_ENUM_BASETYPE( IntFlag )
{
EditAlias = 1 << 0, //!< Allows editing aliases
EditComment = 1 << 1, //!< Allows editing comments
@ -420,7 +420,7 @@ class CORE_EXPORT Qgis
* Options for named list nodes
* \since QGIS 3.30
*/
enum class SettingsTreeNodeOption : int
enum class SettingsTreeNodeOption : int SIP_ENUM_BASETYPE( IntFlag )
{
NamedListSelectedItemSetting = 1 << 0, //!< Creates a setting to store which is the current item
};
@ -450,7 +450,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.30
*/
enum class SldExportOption : int
enum class SldExportOption : int SIP_ENUM_BASETYPE( IntFlag )
{
NoOptions = 0, //!< Default SLD export
Svg = 1 << 0, //!< Export complex styles to separate SVG files for better compatibility with OGC servers
@ -465,7 +465,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.30
*/
enum class SldExportVendorExtension : int
enum class SldExportVendorExtension : int SIP_ENUM_BASETYPE( IntFlag )
{
NoVendorExtension = 0, //!< No vendor extensions
GeoServerVendorExtension = 1 << 1, //!< Use GeoServer vendor extensions when required
@ -478,7 +478,7 @@ class CORE_EXPORT Qgis
* Settings options
* \since QGIS 3.26
*/
enum class SettingsOption : int
enum class SettingsOption : int SIP_ENUM_BASETYPE( IntFlag )
{
SaveFormerValue = 1 << 1, //<! Save the former value of the settings
SaveEnumFlagAsInt = 1 << 2, //! The enum/flag will be saved as an integer value instead of text
@ -503,7 +503,7 @@ class CORE_EXPORT Qgis
* SnappingTypeFlag defines on what object the snapping is performed
* \since QGIS 3.26
*/
enum class SnappingType SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsSnappingConfig, SnappingTypes ) : int
enum class SnappingType SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsSnappingConfig, SnappingTypes ) : int SIP_ENUM_BASETYPE( IntFlag )
{
NoSnap SIP_MONKEYPATCH_COMPAT_NAME( NoSnapFlag ) = 0, //!< No snapping
Vertex SIP_MONKEYPATCH_COMPAT_NAME( VertexFlag ) = 1 << 0, //!< On vertices
@ -523,7 +523,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.20
*/
enum class SymbolRenderHint SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsSymbol, RenderHint ) : int
enum class SymbolRenderHint SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsSymbol, RenderHint ) : int SIP_ENUM_BASETYPE( IntFlag )
{
DynamicRotation = 2, //!< Rotation of symbol may be changed during rendering and symbol should not be cached
};
@ -549,7 +549,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.20
*/
enum class SymbolFlag : int
enum class SymbolFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
RendererShouldUseSymbolLevels = 1 << 0, //!< If present, indicates that a QgsFeatureRenderer using the symbol should use symbol levels for best results
};
@ -563,7 +563,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.20
*/
enum class SymbolPreviewFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsSymbol, PreviewFlag ) : int
enum class SymbolPreviewFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsSymbol, PreviewFlag ) : int SIP_ENUM_BASETYPE( IntFlag )
{
FlagIncludeCrosshairsForMarkerSymbols = 1 << 0, //!< Include a crosshairs reference image in the background of marker symbol previews
};
@ -581,7 +581,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class SymbolLayerFlag : int
enum class SymbolLayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
DisableFeatureClipping = 1 << 0, //!< If present, indicates that features should never be clipped to the map extent during rendering
};
@ -599,7 +599,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.34
*/
enum class SymbolLayerUserFlag : int
enum class SymbolLayerUserFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
DisableSelectionRecoloring = 1 << 0, //!< If present, indicates that the symbol layer should not be recolored when rendering selected features
};
@ -650,7 +650,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.20
*/
enum class BrowserItemCapability SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsDataItem, Capability ) : int
enum class BrowserItemCapability SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsDataItem, Capability ) : int SIP_ENUM_BASETYPE( IntFlag )
{
NoCapabilities = 0, //!< Item has no capabilities
SetCrs = 1 << 0, //!< Can set CRS on layer or group of layers. deprecated since QGIS 3.6 -- no longer used by QGIS and will be removed in QGIS 4.0
@ -741,7 +741,7 @@ class CORE_EXPORT Qgis
* Capabilities supported by a QgsVectorFileWriter object.
* \since QGIS 3.32
*/
enum class VectorFileWriterCapability : int
enum class VectorFileWriterCapability : int SIP_ENUM_BASETYPE( IntFlag )
{
FieldAliases = 1 << 0, //!< Writer can support field aliases
FieldComments = 1 << 2, //!< Writer can support field comments
@ -759,7 +759,7 @@ class CORE_EXPORT Qgis
* SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL query layers.
* \since QGIS 3.22
*/
enum class SqlLayerDefinitionCapability : int
enum class SqlLayerDefinitionCapability : int SIP_ENUM_BASETYPE( IntFlag )
{
SubsetStringFilter = 1 << 1, //!< SQL layer definition supports subset string filter
GeometryColumn = 1 << 2, //!< SQL layer definition supports geometry column
@ -930,7 +930,7 @@ class CORE_EXPORT Qgis
* \note Prior to QGIS 3.32 this was available as QgsLabeling::LinePlacementFlag
* \since QGIS 3.32
*/
enum class LabelLinePlacementFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsLabeling, LinePlacementFlag ) : int
enum class LabelLinePlacementFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsLabeling, LinePlacementFlag ) : int SIP_ENUM_BASETYPE( IntFlag )
{
OnLine = 1, //!< Labels can be placed directly over a line feature.
AboveLine = 2, //!< Labels can be placed above a line feature. Unless MapOrientation is also specified this mode respects the direction of the line feature, so a line from right to left labels will have labels placed placed below the line feature.
@ -955,7 +955,7 @@ class CORE_EXPORT Qgis
* \note Prior to QGIS 3.32 this was available as QgsLabeling::PolygonPlacementFlag
* \since QGIS 3.32
*/
enum class LabelPolygonPlacementFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsLabeling, PolygonPlacementFlag ) : int
enum class LabelPolygonPlacementFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsLabeling, PolygonPlacementFlag ) : int SIP_ENUM_BASETYPE( IntFlag )
{
AllowPlacementOutsideOfPolygon = 1 << 0, //!< Labels can be placed outside of a polygon feature
AllowPlacementInsideOfPolygon = 1 << 1, //!< Labels can be placed inside a polygon feature
@ -1026,7 +1026,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class SublayerQueryFlag : int
enum class SublayerQueryFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
FastScan = 1 << 0, //!< Indicates that the provider must scan for sublayers using the fastest possible approach -- e.g. by first checking that a uri has an extension which is known to be readable by the provider
ResolveGeometryType = 1 << 1, //!< Attempt to resolve the geometry type for vector sublayers
@ -1043,7 +1043,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class SublayerFlag : int
enum class SublayerFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
SystemTable = 1 << 0, //!< Sublayer is a system or internal table, which should be hidden by default
};
@ -1088,7 +1088,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.28
*/
enum class RasterRendererFlag : int
enum class RasterRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
InternalLayerOpacityHandling = 1 << 0, //!< The renderer internally handles the raster layer's opacity, so the default layer level opacity handling should not be applied.
};
@ -1225,7 +1225,7 @@ class CORE_EXPORT Qgis
* \note FieldConfigurationFlag are expressed in the negative forms so that default flags is NoFlag.
* \since QGIS 3.34
*/
enum class FieldConfigurationFlag : int
enum class FieldConfigurationFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
NoFlag = 0, //!< No flag is defined
NotSearchable = 1 << 1, //!< Defines if the field is searchable (used in the locator search for instance)
@ -1301,7 +1301,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.28
*/
enum class SelectionFlag : int
enum class SelectionFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
SingleFeatureSelection = 1 << 0, //!< Select only a single feature, picking the "best" match for the selection geometry
ToggleSelection = 1 << 1, //!< Enables a "toggle" selection mode, where previously selected matching features will be deselected and previously deselected features will be selected. This flag works only when the SingleFeatureSelection flag is also set.
@ -1446,7 +1446,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.30
*/
enum class GpsInformationComponent : int
enum class GpsInformationComponent : int SIP_ENUM_BASETYPE( IntFlag )
{
Location = 1 << 0, //!< 2D location (latitude/longitude), as a QgsPointXY value
Altitude = 1 << 1, //!< Altitude/elevation above or below the mean sea level
@ -1484,7 +1484,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class BabelFormatCapability : int
enum class BabelFormatCapability : int SIP_ENUM_BASETYPE( IntFlag )
{
Import = 1 << 0, //!< Format supports importing
Export = 1 << 1, //!< Format supports exporting
@ -1503,7 +1503,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class BabelCommandFlag : int
enum class BabelCommandFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
QuoteFilePaths = 1 << 0, //!< File paths should be enclosed in quotations and escaped
};
@ -1561,7 +1561,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class GeometryValidityFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsGeometry, ValidityFlag ) : int
enum class GeometryValidityFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsGeometry, ValidityFlag ) : int SIP_ENUM_BASETYPE( IntFlag )
{
AllowSelfTouchingHoles SIP_MONKEYPATCH_COMPAT_NAME( FlagAllowSelfTouchingHoles ) = 1 << 0, //!< Indicates that self-touching holes are permitted. OGC validity states that self-touching holes are NOT permitted, whilst other vendor validity checks (e.g. ESRI) permit self-touching holes.
};
@ -1651,7 +1651,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.36
*/
enum class FeatureRequestFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsFeatureRequest, Flag ) : int
enum class FeatureRequestFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsFeatureRequest, Flag ) : int SIP_ENUM_BASETYPE( IntFlag )
{
NoFlags = 0, //!< No flags are set
NoGeometry = 1, //!< Geometry is not required. It may still be returned if e.g. required for a filter condition.
@ -1721,7 +1721,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class FileOperationFlag : int
enum class FileOperationFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
IncludeMetadataFile = 1 << 0, //!< Indicates that any associated .qmd metadata file should be included with the operation
IncludeStyleFile = 1 << 1, //!< Indicates that any associated .qml styling file should be included with the operation
@ -1736,7 +1736,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class MapLayerProperty : int
enum class MapLayerProperty : int SIP_ENUM_BASETYPE( IntFlag )
{
UsersCannotToggleEditing = 1 << 0, //!< Indicates that users are not allowed to toggle editing for this layer. Note that this does not imply that the layer is non-editable (see isEditable(), supportsEditing() ), rather that the editable status of the layer cannot be changed by users manually. Since QGIS 3.22.
IsBasemapLayer = 1 << 1, //!< Layer is considered a 'basemap' layer, and certain properties of the layer should be ignored when calculating project-level properties. For instance, the extent of basemap layers is ignored when calculating the extent of a project, as these layers are typically global and extend outside of a project's area of interest. Since QGIS 3.26.
@ -1764,7 +1764,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.26
*/
enum class DataProviderFlag : int
enum class DataProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
IsBasemapSource = 1 << 1, //!< Associated source should be considered a 'basemap' layer. See Qgis::MapLayerProperty::IsBasemapLayer.
};
@ -1917,7 +1917,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class AnnotationItemFlag : int
enum class AnnotationItemFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
ScaleDependentBoundingBox = 1 << 0, //!< Item's bounding box will vary depending on map scale
};
@ -1931,7 +1931,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class AnnotationItemGuiFlag : int
enum class AnnotationItemGuiFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
FlagNoCreationTools = 1 << 0, //!< Do not show item creation tools for the item type
};
@ -2086,7 +2086,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.28
*/
enum class RasterTemporalCapabilityFlag : int
enum class RasterTemporalCapabilityFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0, //!< If present, indicates that the provider must only request temporal values which are exact matches for the values present in QgsRasterDataProviderTemporalCapabilities::allAvailableTemporalRanges().
};
@ -2117,7 +2117,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.26
*/
enum class CoordinateTransformationFlag : int
enum class CoordinateTransformationFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
BallparkTransformsAreAppropriate = 1 << 0, //!< Indicates that approximate "ballpark" results are appropriate for this coordinate transform. See QgsCoordinateTransform::setBallparkTransformsAreAppropriate() for further details.
IgnoreImpossibleTransformations = 1 << 1, //!< Indicates that impossible transformations (such as those which attempt to transform between two different celestial bodies) should be silently handled and marked as invalid. See QgsCoordinateTransform::isTransformationPossible() and QgsCoordinateTransform::isValid().
@ -2137,7 +2137,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class MapSettingsFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsMapSettings, Flag ) : int
enum class MapSettingsFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsMapSettings, Flag ) : int SIP_ENUM_BASETYPE( IntFlag )
{
Antialiasing = 0x01, //!< Enable anti-aliasing for map rendering
DrawEditingInfo = 0x02, //!< Enable drawing of vertex markers for layers in editing mode
@ -2168,7 +2168,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.22
*/
enum class RenderContextFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRenderContext, Flag ) : int
enum class RenderContextFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRenderContext, Flag ) : int SIP_ENUM_BASETYPE( IntFlag )
{
DrawEditingInfo = 0x01, //!< Enable drawing of vertex markers for layers in editing mode
ForceVectorOutput = 0x02, //!< Vector graphics should not be cached and drawn as raster images
@ -2201,7 +2201,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.34
*/
enum class MapLayerRendererFlag : int
enum class MapLayerRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
RenderPartialOutputs = 1 << 0, //!< The renderer benefits from rendering temporary in-progress preview renders. These are temporary results which will be used for the layer during rendering in-progress compositions, which will differ from the final layer render. They can be used for showing overlays or other information to users which help inform them about what is actually occurring during a slow layer render, but where these overlays and additional content is not wanted in the final layer renders. Another use case is rendering unsorted results as soon as they are available, before doing a final sorted render of the entire layer contents.
RenderPartialOutputOverPreviousCachedImage = 1 << 1,//!< When rendering temporary in-progress preview renders, these preview renders can be drawn over any previously cached layer render we have for the same region. This can allow eg a low-resolution zoomed in version of the last map render to be used as a base painting surface to overdraw with incremental preview render outputs. If not set, an empty image will be used as the starting point for the render preview image.
@ -2237,7 +2237,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.30
*/
enum class LabelingFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsLabelingEngineSettings, Flag ) : int
enum class LabelingFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsLabelingEngineSettings, Flag ) : int SIP_ENUM_BASETYPE( IntFlag )
{
UseAllLabels = 1 << 1, //!< Whether to draw all labels even if there would be collisions
UsePartialCandidates = 1 << 2, //!< Whether to use also label candidates that are partially outside of the map view
@ -2454,7 +2454,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.24
*/
enum class MarkerLinePlacement SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsTemplatedLineSymbolLayerBase, Placement ) : int
enum class MarkerLinePlacement SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsTemplatedLineSymbolLayerBase, Placement ) : int SIP_ENUM_BASETYPE( IntFlag )
{
Interval = 1 << 0, //!< Place symbols at regular intervals
Vertex = 1 << 1, //!< Place symbols on every vertex in the line
@ -2679,7 +2679,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.24
*/
enum class TextRendererFlag : int
enum class TextRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
WrapLines = 1 << 0, //!< Automatically wrap long lines of text
};
@ -2730,7 +2730,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.26
*/
enum class ViewSyncModeFlag : int
enum class ViewSyncModeFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
Sync3DTo2D = 1 << 0, //!< Synchronize 3D view camera to the main map canvas extent
Sync2DTo3D = 1 << 1, //!< Update the 2D main canvas extent to include the viewed area from the 3D view
@ -2756,7 +2756,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.24
*/
enum class HistoryProviderBackend : int
enum class HistoryProviderBackend : int SIP_ENUM_BASETYPE( IntFlag )
{
LocalProfile = 1 << 0, //!< Local profile
// Project = 1 << 1, //!< QGIS Project (not yet implemented)
@ -2772,7 +2772,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.36
*/
enum class ProcessingFeatureSourceDefinitionFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsProcessingFeatureSourceDefinition, Flag ) : int
enum class ProcessingFeatureSourceDefinitionFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsProcessingFeatureSourceDefinition, Flag ) : int SIP_ENUM_BASETYPE( IntFlag )
{
OverrideDefaultGeometryCheck SIP_MONKEYPATCH_COMPAT_NAME( FlagOverrideDefaultGeometryCheck ) = 1 << 0, //!< If set, the default geometry check method (as dictated by QgsProcessingContext) will be overridden for this source
CreateIndividualOutputPerInputFeature SIP_MONKEYPATCH_COMPAT_NAME( FlagCreateIndividualOutputPerInputFeature ) = 1 << 1, //!< If set, every feature processed from this source will be placed into its own individually created output destination. Support for this flag depends on how an algorithm is executed.
@ -2950,7 +2950,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.26
*/
enum class ProjectFlag : int
enum class ProjectFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
EvaluateDefaultValuesOnProviderSide = 1 << 0, //!< If set, default values for fields will be evaluated on the provider side when features from the project are created instead of when they are committed.
TrustStoredLayerStatistics = 1 << 1, //!< If set, then layer statistics (such as the layer extent) will be read from values stored in the project instead of requesting updated values from the data provider. Additionally, when this flag is set, primary key unicity is not checked for views and materialized views with Postgres provider.
@ -2966,7 +2966,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.26
*/
enum class PlotToolFlag : int
enum class PlotToolFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
ShowContextMenu = 1 << 0, //!< Show a context menu when right-clicking with the tool.
};
@ -3063,7 +3063,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.26
*/
enum class ProfileGeneratorFlag : int
enum class ProfileGeneratorFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
RespectsMaximumErrorMapUnit = 1 << 0, //!< Generated profile respects the QgsProfileGenerationContext::maximumErrorMapUnits() property.
RespectsDistanceRange = 1 << 1, //!< Generated profile respects the QgsProfileGenerationContext::distanceRange() property.
@ -3147,7 +3147,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.26
*/
enum class ProjectReadFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsProject, ReadFlag ) : int
enum class ProjectReadFlag SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsProject, ReadFlag ) : int SIP_ENUM_BASETYPE( IntFlag )
{
DontResolveLayers SIP_MONKEYPATCH_COMPAT_NAME( FlagDontResolveLayers ) = 1 << 0, //!< Don't resolve layer paths (i.e. don't load any layer content). Dramatically improves project read time if the actual data from the layers is not required.
DontLoadLayouts SIP_MONKEYPATCH_COMPAT_NAME( FlagDontLoadLayouts ) = 1 << 1, //!< Don't load print layouts. Improves project read time if layouts are not required, and allows projects to be safely read in background threads (since print layouts are not thread safe).
@ -3177,7 +3177,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.26.1
*/
enum class ProjectCapability : int
enum class ProjectCapability : int SIP_ENUM_BASETYPE( IntFlag )
{
ProjectStyles = 1 << 0, //!< Enable the project embedded style library. Enabling this flag can increase the time required to clear and load projects.
};
@ -3274,7 +3274,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.30
*/
enum class RelationshipCapability : int
enum class RelationshipCapability : int SIP_ENUM_BASETYPE( IntFlag )
{
MultipleFieldKeys = 1 << 0, //!< Supports multiple field keys (as opposed to a singular field)
ForwardPathLabel = 1 << 1, //!< Supports forward path labels
@ -3344,7 +3344,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.32
*/
enum class ScriptLanguageCapability : int
enum class ScriptLanguageCapability : int SIP_ENUM_BASETYPE( IntFlag )
{
Reformat = 1 << 0, //!< Language supports automatic code reformatting
CheckSyntax = 1 << 1, //!< Language supports syntax checking
@ -3378,7 +3378,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.32
*/
enum class LayerTreeFilterFlag : int
enum class LayerTreeFilterFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
SkipVisibilityCheck = 1 << 0, //!< If set, the standard visibility check should be skipped
};
@ -3400,7 +3400,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.36
*/
enum class LegendJsonRenderFlag : int
enum class LegendJsonRenderFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
ShowRuleDetails = 1 << 0, //!< If set, the rule expression of a rule based renderer legend item will be added to the JSON
};
@ -3430,7 +3430,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.30
*/
enum class MapLayerActionTarget : int
enum class MapLayerActionTarget : int SIP_ENUM_BASETYPE( IntFlag )
{
Layer = 1 << 0, //!< Action targets a complete layer
SingleFeature = 1 << 1, //!< Action targets a single feature from a layer
@ -3456,7 +3456,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.30
*/
enum class MapLayerActionFlag : int
enum class MapLayerActionFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
EnabledOnlyWhenEditable = 1 << 1, //!< Action should be shown only for editable layers
};
@ -3614,7 +3614,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.30
*/
enum class RasterIdentifyFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, IdentifyFormat ) : int
enum class RasterIdentifyFormat SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsRaster, IdentifyFormat ) : int SIP_ENUM_BASETYPE( IntFlag )
{
Undefined SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatUndefined ) = 0, //!< Undefined
Value SIP_MONKEYPATCH_COMPAT_NAME( IdentifyFormatValue ) = 1, //!< Numerical pixel value
@ -3943,7 +3943,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.32
*/
enum class DatabaseProviderConnectionCapability2 : int
enum class DatabaseProviderConnectionCapability2 : int SIP_ENUM_BASETYPE( IntFlag )
{
SetFieldComment = 1 << 0, //!< Can set comments for fields via setFieldComment()
SetFieldAlias = 1 << 1, //!< Can set aliases for fields via setFieldAlias()
@ -3957,7 +3957,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.34
*/
enum class ProviderStyleStorageCapability
enum class ProviderStyleStorageCapability : int SIP_ENUM_BASETYPE( IntFlag )
{
SaveToDatabase = 1 << 1,
LoadFromDatabase = 1 << 2,
@ -4093,7 +4093,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.32
*/
enum class VectorTileProviderFlag : int
enum class VectorTileProviderFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
AlwaysUseTileMatrixSetFromProvider = 1 << 1, //!< Vector tile layer must always use the tile matrix set from the data provider, and should never store, restore or override the definition of this matrix set.
};
@ -4111,7 +4111,7 @@ class CORE_EXPORT Qgis
* Enumeration with capabilities that vector tile data providers might implement.
* \since QGIS 3.32
*/
enum class VectorTileProviderCapability : int
enum class VectorTileProviderCapability : int SIP_ENUM_BASETYPE( IntFlag )
{
ReadLayerMetadata = 1 << 1, //!< Provider can read layer metadata from data store. See QgsDataProvider::layerMetadata()
};
@ -4144,7 +4144,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.34
*/
enum class TiledSceneProviderCapability : int
enum class TiledSceneProviderCapability : int SIP_ENUM_BASETYPE( IntFlag )
{
ReadLayerMetadata = 1 << 1, //!< Provider can read layer metadata from data store. See QgsDataProvider::layerMetadata()
};
@ -4204,7 +4204,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.34
*/
enum class TiledSceneRequestFlag : int
enum class TiledSceneRequestFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
NoHierarchyFetch = 1 << 0, //!< Do not allow hierarchy fetching when hierarchy is not currently available. Avoids network requests, but may result in an incomplete tile set. If set, then callers will need to manually perform hierarchy fetches as required.
};
@ -4223,7 +4223,7 @@ class CORE_EXPORT Qgis
*
* \since QGIS 3.34
*/
enum class TiledSceneRendererFlag : int
enum class TiledSceneRendererFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
RequiresTextures = 1 << 0, //!< Renderer requires textures
ForceRasterRender = 1 << 1, //!< Layer should always be rendered as a raster image

View File

@ -68,7 +68,7 @@ class CORE_EXPORT QgsColorScheme
/**
* Flags for controlling behavior of color scheme
*/
enum SchemeFlag
enum SchemeFlag SIP_ENUM_BASETYPE( IntFlag )
{
ShowInColorDialog = 0x01, //!< Show scheme in color picker dialog
ShowInColorButtonMenu = 0x02, //!< Show scheme in color button drop-down menu

View File

@ -55,7 +55,7 @@ class CORE_EXPORT QgsCoordinateFormatter
/**
* Flags for controlling formatting of coordinates.
*/
enum FormatFlag
enum FormatFlag SIP_ENUM_BASETYPE( IntFlag )
{
FlagDegreesUseStringSuffix = 1 << 1, //!< Include a direction suffix (eg 'N', 'E', 'S' or 'W'), otherwise a "-" prefix is used for west and south coordinates
FlagDegreesPadMinutesSeconds = 1 << 2, //!< Pad minute and second values with leading zeros, eg '05' instead of '5'

View File

@ -47,7 +47,7 @@ class CORE_EXPORT QgsDateTimeStatisticalSummary
public:
//! Enumeration of flags that specify statistics to be calculated
enum Statistic
enum Statistic SIP_ENUM_BASETYPE( IntFlag )
{
Count = 1, //!< Count
CountDistinct = 2, //!< Number of distinct datetime values

View File

@ -72,7 +72,7 @@ class CORE_EXPORT QgsDiagramLayerSettings
};
//! Line placement flags for controlling line based placements
enum LinePlacementFlag
enum LinePlacementFlag SIP_ENUM_BASETYPE( IntFlag )
{
OnLine = 1,
AboveLine = 1 << 1,

View File

@ -39,7 +39,7 @@ class CORE_EXPORT QgsFeatureSink
*
* \since QGIS 3.4
*/
enum SinkFlag
enum SinkFlag SIP_ENUM_BASETYPE( IntFlag )
{
/**
@ -57,7 +57,7 @@ class CORE_EXPORT QgsFeatureSink
Q_DECLARE_FLAGS( SinkFlags, SinkFlag )
//! Flags controlling how features are added to a sink.
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
/**

View File

@ -21,6 +21,7 @@
#include <QObject>
#include "qgis_core.h"
#include "qgis_sip.h"
/**
* \class QgsFieldConstraints
@ -40,7 +41,7 @@ class CORE_EXPORT QgsFieldConstraints
/**
* Constraints which may be present on a field.
*/
enum Constraint
enum Constraint SIP_ENUM_BASETYPE( IntFlag )
{
ConstraintNotNull = 1, //!< Field may not be null
ConstraintUnique = 1 << 1, //!< Field must have a unique value

View File

@ -85,7 +85,7 @@ class CORE_EXPORT QgsFieldFormatter
*
* \since QGIS 3.12
*/
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
CanProvideAvailableValues = 1 //!< Can provide possible values
};

View File

@ -36,7 +36,7 @@ class CORE_EXPORT QgsFieldProxyModel : public QSortFilterProxyModel
public:
//! Field type filters
enum Filter
enum Filter SIP_ENUM_BASETYPE( IntFlag )
{
String = 1, //!< String fields
Int = 2, //!< Integer fields

View File

@ -147,7 +147,7 @@ class CORE_EXPORT QgsMapLayer : public QObject
* \note Flags are options specified by the user used for the UI but are not preventing any API call.
* \since QGIS 3.4
*/
enum LayerFlag
enum LayerFlag SIP_ENUM_BASETYPE( IntFlag )
{
Identifiable = 1 << 0, //!< If the layer is identifiable using the identify map tool and as a WMS layer.
Removable = 1 << 1, //!< If the layer can be removed from the project. The layer will not be removable from the legend menu entry but can still be removed with an API call.
@ -162,7 +162,7 @@ class CORE_EXPORT QgsMapLayer : public QObject
* Categories of style to distinguish appropriate sections for import/export
* \since QGIS 3.4
*/
enum StyleCategory
enum StyleCategory SIP_ENUM_BASETYPE( IntFlag )
{
LayerConfiguration = 1 << 0, //!< General configuration: identifiable, removable, searchable, display expression, read-only
Symbology = 1 << 1, //!< Symbology
@ -641,7 +641,7 @@ class CORE_EXPORT QgsMapLayer : public QObject
* Flags which control project read behavior.
* \since QGIS 3.10
*/
enum ReadFlag
enum ReadFlag SIP_ENUM_BASETYPE( IntFlag )
{
FlagDontResolveLayers = 1 << 0, //!< Don't resolve layer paths or create data providers for layers.
FlagTrustLayerMetadata = 1 << 1, //!< Trust layer metadata. Improves layer load time by skipping expensive checks like primary key unicity, geometry type and srid and by using estimated metadata on layer load. Since QGIS 3.16

View File

@ -100,7 +100,7 @@ class CORE_EXPORT QgsMapLayerElevationProperties : public QObject
/**
* Flags attached to the elevation property.
*/
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagDontInvalidateCachedRendersWhenRangeChanges = 1 //!< Any cached rendering will not be invalidated when z range context is modified.
};

View File

@ -38,7 +38,7 @@ class CORE_EXPORT QgsMapSettingsUtils
* Flags for controlling the behavior of containsAdvancedEffects()
* \since QGIS 3.14
*/
enum class EffectsCheckFlag : int
enum class EffectsCheckFlag : int SIP_ENUM_BASETYPE( IntFlag )
{
IgnoreGeoPdfSupportedEffects = 1 << 0, //!< Ignore advanced effects which are supported in GeoPDF exports
};

View File

@ -152,7 +152,7 @@ class CORE_EXPORT QgsPointLocator : public QObject
/**
* The type of a snap result or the filter type for a snap request.
*/
enum Type
enum Type SIP_ENUM_BASETYPE( IntFlag )
{
Invalid = 0, //!< Invalid
Vertex = 1 << 0, //!< Snapped to a vertex. Can be a vertex of the geometry or an intersection.

View File

@ -199,7 +199,7 @@ class CORE_EXPORT QgsRenderChecker
*
* \since QGIS 3.28
*/
enum class Flag : int
enum class Flag : int SIP_ENUM_BASETYPE( IntFlag )
{
AvoidExportingRenderedImage = 1 << 0, //!< Avoids exporting rendered images to reports
};

View File

@ -72,7 +72,7 @@ class CORE_EXPORT QgsSpatialIndex : public QgsFeatureSink
/* creation of spatial index */
//! Flags controlling index behavior
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagStoreFeatureGeometries = 1 << 0, //!< Indicates that the spatial index should also store feature geometries. This requires more memory, but can speed up operations by avoiding additional requests to data providers to fetch matching feature geometries. Additionally, it is required for non-bounding box nearest neighbor searches.
};

View File

@ -20,6 +20,7 @@
#include <QVariant>
#include <cmath>
#include "qgis_core.h"
#include "qgis_sip.h"
/***************************************************************************
* This class is considered CRITICAL and any change MUST be accompanied with
@ -45,7 +46,7 @@ class CORE_EXPORT QgsStatisticalSummary
public:
//! Enumeration of flags that specify statistics to be calculated
enum Statistic
enum Statistic SIP_ENUM_BASETYPE( IntFlag )
{
Count = 1 << 0, //!< Count
CountMissing = 1 << 15, //!< Number of missing (null) values

View File

@ -19,6 +19,7 @@
#define QGSSTOREDEXPRESSIONMANAGER_H
#include "qgis_core.h"
#include "qgis_sip.h"
#include <QString>
#include <QObject>
#include <QUuid>
@ -38,15 +39,16 @@ class QDomDocument;
* \brief Stored expression containing name, content (expression text) and a category tag.
* \since QGIS 3.10
*/
struct CORE_EXPORT QgsStoredExpression
class CORE_EXPORT QgsStoredExpression
{
public:
/**
* Categories of use cases
* FilterExpression for stored expressions to filter attribute table
* DefaultValueExpression for stored expressions to use for default values (not yet used)
*/
enum Category
enum Category SIP_ENUM_BASETYPE( IntFlag )
{
FilterExpression = 1 << 0, //!< Expressions to filter features
DefaultValueExpression = 1 << 1, //!< Expressions to determine default values (not yet used)

View File

@ -46,7 +46,7 @@ class CORE_EXPORT QgsStringStatisticalSummary
public:
//! Enumeration of flags that specify statistics to be calculated
enum Statistic
enum Statistic SIP_ENUM_BASETYPE( IntFlag )
{
Count = 1, //!< Count
CountDistinct = 2, //!< Number of distinct string values

View File

@ -69,7 +69,7 @@ class CORE_EXPORT QgsTask : public QObject
Q_ENUM( TaskStatus )
//! Task flags
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
CanCancel = 1 << 1, //!< Task can be canceled
CancelWithoutPrompt = 1 << 2, //!< Task can be canceled without any users prompts, e.g. when closing a project or QGIS.

View File

@ -41,7 +41,7 @@ class CORE_EXPORT QgsTemporalProperty : public QObject
/**
* Flags attached to the temporal property.
*/
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagDontInvalidateCachedRendersWhenRangeChanges = 1 //!< Any cached rendering will not be invalidated when temporal range context is modified.
};

View File

@ -195,7 +195,7 @@ class CORE_EXPORT QgsVectorFileWriter : public QgsFeatureSink
* Options for sorting and filtering vector formats.
* \since QGIS 3.0
*/
enum VectorFormatOption
enum VectorFormatOption SIP_ENUM_BASETYPE( IntFlag )
{
SortRecommended = 1 << 1, //!< Use recommended sort order, with extremely commonly used formats listed first
SkipNonSpatialFormats = 1 << 2, //!< Filter out any formats which do not have spatial support (e.g. those which cannot save geometries)
@ -241,7 +241,7 @@ class CORE_EXPORT QgsVectorFileWriter : public QgsFeatureSink
* Edition capability flags
* \since QGIS 3.0
*/
enum EditionCapability
enum EditionCapability SIP_ENUM_BASETYPE( IntFlag )
{
//! Flag to indicate that a new layer can be added to the dataset
CanAddNewLayer = 1 << 0,

View File

@ -20,6 +20,7 @@
#include <QObject>
#include "qgis_core.h"
#include "qgis_sip.h"
/**
* \ingroup core
@ -34,7 +35,7 @@ class CORE_EXPORT QgsVectorSimplifyMethod
QgsVectorSimplifyMethod();
//! Simplification flags for fast rendering of features
enum SimplifyHint
enum SimplifyHint SIP_ENUM_BASETYPE( IntFlag )
{
NoSimplification = 0, //!< No simplification can be applied
GeometrySimplification = 1, //!< The geometries can be simplified using the current map2pixel context state

View File

@ -34,7 +34,7 @@
class CORE_EXPORT QgsRasterBandStats
{
public:
enum Stats
enum Stats SIP_ENUM_BASETYPE( IntFlag )
{
None = 0,
Min = 1,

View File

@ -96,7 +96,7 @@ class CORE_EXPORT QgsRasterDataProvider : public QgsDataProvider, public QgsRast
* Enumeration with capabilities that raster providers might implement.
* \since QGIS 3.0
*/
enum ProviderCapability
enum ProviderCapability SIP_ENUM_BASETYPE( IntFlag )
{
NoProviderCapabilities = 0, //!< Provider has no capabilities
ReadLayerMetadata = 1 << 1, //!< Provider can read layer metadata from data store. Since QGIS 3.0. See QgsDataProvider::layerMetadata()

View File

@ -45,7 +45,7 @@ class CORE_EXPORT QgsRasterFileWriter
* Options for sorting and filtering raster formats.
* \since QGIS 3.0
*/
enum RasterFormatOption
enum RasterFormatOption SIP_ENUM_BASETYPE( IntFlag )
{
SortRecommended = 1 << 1, //!< Use recommended sort order, with extremely commonly used formats listed first
};

View File

@ -202,7 +202,7 @@ class CORE_EXPORT QgsRasterInterface
public:
//! If you add to this, please also add to capabilitiesString()
enum Capability
enum Capability SIP_ENUM_BASETYPE( IntFlag )
{
NoCapabilities = 0,
Size = 1 << 1, //!< Original data source size (and thus resolution) is known, it is not always available, for example for WMS

View File

@ -43,7 +43,7 @@ class CORE_EXPORT QgsScaleBarRenderer
* Flags which control scalebar renderer behavior.
* \since QGIS 3.14
*/
enum class Flag : int
enum class Flag : int SIP_ENUM_BASETYPE( IntFlag )
{
FlagUsesLineSymbol = 1 << 0, //!< Renderer utilizes the scalebar line symbol (see QgsScaleBarSettings::lineSymbol() )
FlagUsesFillSymbol = 1 << 1, //!< Renderer utilizes the scalebar fill symbol (see QgsScaleBarSettings::fillSymbol() )

View File

@ -268,7 +268,7 @@ class CORE_EXPORT QgsFeatureRenderer
* Used to specify details about a renderer.
* Is returned from the capabilities() method.
*/
enum Capability
enum Capability SIP_ENUM_BASETYPE( IntFlag )
{
SymbolLevels = 1, //!< Rendering with symbol levels (i.e. implements symbols(), symbolForFeature())
MoreSymbolsPerFeature = 1 << 2, //!< May use more than one symbol to render a feature: symbolsForFeature() will return them

View File

@ -46,7 +46,7 @@ class CORE_EXPORT QgsRendererAbstractMetadata
* Layer types the renderer is compatible with
* \since QGIS 2.16
*/
enum LayerType
enum LayerType SIP_ENUM_BASETYPE( IntFlag )
{
PointLayer = 1, //!< Compatible with point layers
LineLayer = 2, //!< Compatible with line layers

View File

@ -69,7 +69,7 @@ class CORE_EXPORT QgsVectorDataProvider : public QgsDataProvider, public QgsFeat
/**
* enumeration with capabilities that providers might implement
*/
enum Capability
enum Capability SIP_ENUM_BASETYPE( IntFlag )
{
NoCapabilities = 0, //!< Provider has no capabilities
AddFeatures = 1, //!< Allows adding features

View File

@ -383,7 +383,7 @@ class CORE_EXPORT QgsVectorLayerUtils
*
* \since QGIS 3.4
*/
enum CascadedFeatureFlag
enum CascadedFeatureFlag SIP_ENUM_BASETYPE( IntFlag )
{
IgnoreAuxiliaryLayers = 1 << 1, //!< Ignore auxiliary layers
};

View File

@ -136,7 +136,7 @@ class GUI_EXPORT QgsCodeEditor : public QsciScintilla
*
* \since QGIS 3.28
*/
enum class Flag : int
enum class Flag : int SIP_ENUM_BASETYPE( IntFlag )
{
CodeFolding = 1 << 0, //!< Indicates that code folding should be enabled for the editor
ImmediatelyUpdateHistory = 1 << 1, //!< Indicates that the history file should be immediately updated whenever a command is executed, instead of the default behavior of only writing the history on widget close. Since QGIS 3.32.

View File

@ -91,7 +91,7 @@ class GUI_EXPORT QgsSearchWidgetWrapper : public QgsWidgetWrapper
* Flags which indicate what types of filtering and searching is possible using the widget
* \since QGIS 2.16
*/
enum FilterFlag
enum FilterFlag SIP_ENUM_BASETYPE( IntFlag )
{
EqualTo = 1 << 1, //!< Supports equal to
NotEqualTo = 1 << 2, //!< Supports not equal to

View File

@ -48,7 +48,7 @@ class GUI_EXPORT QgsLayoutItemAbstractGuiMetadata
public:
//! Flags for controlling how a items behave in the GUI
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagNoCreationTools = 1 << 1, //!< Do not show item creation tools for the item type
};

View File

@ -60,7 +60,7 @@ class GUI_EXPORT QgsLayoutViewTool : public QObject
public:
//! Flags for controlling how a tool behaves
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagSnaps = 1 << 1, //!< Tool utilizes snapped coordinates.
};

View File

@ -39,7 +39,7 @@ class GUI_EXPORT QgsVectorLayerSaveAsDialog : public QDialog, private Ui::QgsVec
/**
* Available dialog options.
*/
enum class Option : int
enum class Option : int SIP_ENUM_BASETYPE( IntFlag )
{
Symbology = 1, //!< Show symbology options
DestinationCrs = 1 << 2, //!< Show destination CRS (reprojection) option

View File

@ -58,7 +58,7 @@ class GUI_EXPORT QgsModelComponentGraphicItem : public QGraphicsObject
};
//! Available flags
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
// For future API flexibility only and to avoid sip issues, remove when real entries are added to flags.
Unused = 1 << 0, //!< Temporary unused entry

View File

@ -59,7 +59,7 @@ class GUI_EXPORT QgsModelGraphicsScene : public QGraphicsScene
};
//! Flags for controlling how the scene is rendered and scene behavior
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
FlagHideControls = 1 << 1, //!< If set, item interactive controls will be hidden
FlagHideComments = 1 << 2, //!< If set, comments will be hidden

View File

@ -421,7 +421,7 @@ class GUI_EXPORT QgsProcessingToolboxProxyModel: public QSortFilterProxyModel
public:
//! Available filter flags for filtering the model
enum Filter
enum Filter SIP_ENUM_BASETYPE( IntFlag )
{
FilterToolbox = 1 << 1, //!< Filters out any algorithms and content which should not be shown in the toolbox
FilterModeler = 1 << 2, //!< Filters out any algorithms and content which should not be shown in the modeler

View File

@ -81,7 +81,7 @@ class GUI_EXPORT QgsProcessingParametersGenerator
*
* \since QGIS 3.24
*/
enum class Flag : int
enum class Flag : int SIP_ENUM_BASETYPE( IntFlag )
{
SkipDefaultValueParameters = 1 << 0, //!< Parameters which are unchanged from their default values should not be included
};

View File

@ -304,7 +304,7 @@ class GUI_EXPORT QgsCoordinateReferenceSystemProxyModel: public QSortFilterProxy
public:
//! Available filter flags for filtering the model
enum Filter
enum Filter SIP_ENUM_BASETYPE( IntFlag )
{
FilterHorizontal = 1 << 1, //!< Include horizontal CRS (excludes compound CRS containing a horizontal component)
FilterVertical = 1 << 2, //!< Include vertical CRS (excludes compound CRS containing a vertical component)

View File

@ -51,7 +51,7 @@ class GUI_EXPORT QgsProjectionSelectionWidget : public QWidget
/**
* Predefined CRS options shown in widget
*/
enum CrsOption
enum CrsOption SIP_ENUM_BASETYPE( IntFlag )
{
Invalid = 1 << 0, //!< Invalid option, since QGIS 3.36
LayerCrs = 1 << 1, //!< Optional layer CRS

View File

@ -56,7 +56,7 @@ class GUI_EXPORT QgsAdvancedDigitizingDockWidget : public QgsDockWidget, private
* depending on the number of points in the CAD point list (the list of points
* currently digitized)
*/
enum CadCapacity
enum CadCapacity SIP_ENUM_BASETYPE( IntFlag )
{
AbsoluteAngle = 1, //!< Azimuth
RelativeAngle = 2, //!< Also for parallel and perpendicular

View File

@ -44,7 +44,7 @@ class GUI_EXPORT QgsAdvancedDigitizingFloater : public QWidget, private Ui::QgsA
public:
//! Available floater items
enum class FloaterItem : int
enum class FloaterItem : int SIP_ENUM_BASETYPE( IntFlag )
{
XCoordinate = 1 << 1,
YCoordinate = 1 << 2,

View File

@ -48,7 +48,7 @@ class GUI_EXPORT QgsExpressionBuilderWidget : public QWidget, private Ui::QgsExp
* Flag to determine what should be loaded
* \since QGIS 3.14
*/
enum Flag
enum Flag SIP_ENUM_BASETYPE( IntFlag )
{
LoadNothing = 0, //!< Do not load anything
LoadRecent = 1 << 1, //!< Load recent expressions given the collection key

View File

@ -250,7 +250,7 @@ class GUI_EXPORT QgsGui : public QObject
* HIG flags, which indicate the Human Interface Guidelines for the current platform.
* \since QGIS 3.4
*/
enum HigFlag
enum HigFlag SIP_ENUM_BASETYPE( IntFlag )
{
HigMenuTextIsTitleCase = 1 << 0, //!< Menu action texts should be title case
HigDialogTitleIsTitleCase = 1 << 1 //!< Dialog titles should be title case

Some files were not shown because too many files have changed in this diff Show More