38 Commits

Author SHA1 Message Date
Nyall Dawson
686a6e5968 [api] Add option to QgsFeatureRequest to request features
within a certain distance of a reference geometry

E.g. this request will retrieve all features within 50 map units of the
provided linestring:

    QgsFeatureRequest().setDistanceWithin(QgsGeometry.fromWkt('LineString(0 0, 10 0, 12 1)'), 50)

A new enum Qgis::SpatialFilterType has been added to reflect whether
a request uses no spatial filter, a BoundingBox filter (via
setFilterRect), or the new DistanceWithin filter.

Distance within filters are treated like bounding box filters, in
that they are independant of any attribute/id filters (such as
feature ids or expressions).
2021-08-05 14:24:07 +10:00
Nyall Dawson
01e3e1dddc [api] Move QgsGeometry enums to Qgis, promote to enum classes 2021-08-04 09:54:32 +10:00
Nyall Dawson
47f7612004 Add flag to babel command generation methods to control whether
paths should be quoted
2021-08-02 13:36:46 +10:00
Julien Cabieces
9d732a238a Fix SIP 2021-07-30 10:53:13 +02:00
Julien Cabieces
deed238bc8 s/OnGoing/Running/g 2021-07-30 10:18:38 +02:00
Julien Cabieces
56acee931d Add enum ActionStart 2021-07-30 10:18:38 +02:00
Julien Cabieces
014a4aac3a Add StartLater / StartImmediately distinction 2021-07-30 10:18:36 +02:00
Julien Cabieces
5389c31b1e Add ContentStatus enum in Qgis class 2021-07-30 10:17:55 +02:00
Nyall Dawson
f115db6950 Start vivisecting gps_importer plugin
Move the babel format classes to core, cleaning these up and
removing unused code and modernizing the API.
2021-07-30 16:07:36 +10:00
Denis Rouzaud
6967406aca
move QgsNetworkContentFetcherRegistry::FetchingMode to Qgis (#44397) 2021-07-27 08:19:41 +00:00
Nyall Dawson
cb0095ff1e [api] Add a new capability for QgsDataItems to indicate that the
item path directly corresponds to an on-disk file path
2021-07-27 11:56:19 +10:00
Vincent Cloarec
8cd8bec5f2
[mesh] mesh frame editing part 3 - Advanced editing (#44169)
[mesh] [feature] Delaunay triangulation and face refinement for advanced mesh editing tools
2021-07-19 08:21:31 +02:00
Nyall Dawson
2724315a99 Move enums from QgsVectorLayer to Qgis, promote to enum classes,
and fix redundant QgsVectorLayer.VertexMarkerType enum
2021-07-19 14:02:39 +10:00
Vincent Cloarec
c09443a056
[mesh] mesh frame editing part 3 - Edit mesh map tool (#44037)
[mesh] [feature] add mesh map tool to CRUD/digitize actions for mesh frame (vertices, faces)
2021-07-14 08:00:55 +02:00
Nyall Dawson
d44412ddb8 Can't monkey patch from core into gui classes 2021-07-13 06:39:11 +10:00
Nyall Dawson
d0beaae3a4 Move QgsSublayersDialog::PromptMode enum to Qgis and rename 2021-07-13 06:39:11 +10:00
Alessandro Pasotti
878b2436a5 Address PR comments - part 2 2021-07-07 12:43:14 +02:00
Alessandro Pasotti
78a42cf7e8 Address PR comments 2021-07-06 21:02:25 +02:00
Nyall Dawson
ee141a1a8e Add enum Qgis::FilePathType and add proper stable api for setting
whether QgsProject uses absolute or relative paths for file storage
2021-07-03 06:39:36 +10:00
Vincent Cloarec
d326d38660
[mesh] mesh frame editing part-1 (qgis_core) (#43828)
[feature] qgis_core changes to allow mesh layer editing (part-1 or QEP#228)
2021-06-25 16:17:13 +02:00
Nyall Dawson
f50dd99ed7 Dox++ 2021-06-23 17:30:47 +10:00
Nyall Dawson
f62ddb37a2 Promote QgsRasterPipe enums to enum classes in Qgis namespace
and add forward declares where possible
2021-06-23 17:30:47 +10:00
Nyall Dawson
469f967941 Add framework for querying for dataset sublayers via
QgsProviderRegistry/QgsProviderMetadata
2021-06-22 08:43:39 +10:00
Denis Rouzaud
d2e899547c sipify all 2021-05-31 09:36:21 +02:00
Nyall Dawson
af1900f539 [browser] Add api to QgsDirectoryItem to control whether directory
items should be automatically monitored for changes

This monitoring can be expensive for some locations (eg network
folders or cloud based directories), so in these cases it is
desirable to allow it to be disabled to avoid hangs in the QGIS
application.
2021-05-31 12:23:56 +10:00
Nyall Dawson
02266ef8e6 Rename Qgis::MessageLevel::None to NoLevel. None is a reserved
keyword in Python, so this value was previously inaccessible to PyQGIS
scripts

Also change all references to Qgis::MessageLevel values to their
fully qualified names, to ease a future transition to an enum
class (when sip bugs are fixed)

Fixes #42996
2021-05-30 10:36:01 +10:00
Nyall Dawson
3d3f3f7f59 Promote more Qgis enums to enum classes, add Q_ENUM 2021-05-28 11:07:25 +10:00
Nyall Dawson
b4fea529f1 Promote Qgis::DataType to enum class 2021-05-27 13:44:15 +10:00
Nyall Dawson
aa93d03ca9 Promote QgsDataItem enums to enum classes, move to Qgis 2021-05-27 13:38:54 +10:00
Nyall Dawson
86b3459eea Add a flag which can be set on QgsSymbols to indicate that a renderer
should use symbol levels whenever that symbol is used by the renderer

Not exposed to users -- only settable via API, but IS saved in the
symbol's XML definition and restored when loading a symbol from XML.
2021-05-26 18:26:44 +10:00
Nyall Dawson
e7c4c84ae3 [labeling][api] Add api to supress unplaced label visibility for
a single layer

Not exposed anywhere, for PyQGIS use only
2021-05-25 16:11:53 +10:00
Nyall Dawson
95c01cc93c Dox, enum class 2021-05-21 08:26:14 +10:00
Nyall Dawson
de406693c7 Move QgsVectorLayerExporter.ExportError to Qgis and promote to enum
class

This avoids an ugly include of qgsvectorlayerexporter.h in
qgsproviderregistry.h/qgsprovidermetadata.h, which in turn
triggers an inclusion of qgsvectorlayer.h and a bunch of
other heavy dependencies.
2021-05-20 21:09:56 +10:00
Nyall Dawson
b5dfe8f155 Refactor enum handling
- Add enums to qgis.h instead of qgscoreenums, so that they belong to
a Qgis namespace
- Split up the various symbol headers into multiple files so that we
can fine-tune their inclusion and forward declare more readily, speeding
up recompilation
- Move QgsSymbol enums to qgis
2021-05-18 16:59:22 +10:00
Alessandro Pasotti
414d938117 Fix raster paletted and pseudocolor various issues 2020-11-05 12:11:24 +01:00
Denis Rouzaud
dceb8223f8 switch back to non scoped enum
there is an issue in SIP when mixing non-scoped and scoped enums in the same class
see https://www.riverbankcomputing.com/hg/sip/rev/ccc4eda868de

and if switching all to scoped enum, there is a conversion issue in slot
for MessageLevel (whhen connection QgsMessageLog::messageReceived)
2019-10-02 15:53:15 +02:00
Denis Rouzaud
86550e9837 create a method in QgsGui to determine if running Python macros is allowed 2019-10-02 15:53:15 +02:00
Denis Rouzaud
96e8abde39 use an enum for enable macros possibilities 2019-10-02 15:53:14 +02:00