150 Commits

Author SHA1 Message Date
Nyall Dawson
1608547066 Add utility function QgsFileUtils.renameDataset
Renames a dataset file, including all its associated sidecar
files (and optionally the .qmd/.qml sidecars)
2021-08-11 08:21:04 +10:00
Alexander Bruy
00dad40975
Merge pull request #44583 from alexbruy/processing-pointcloud
Point cloud parameter for Processing
2021-08-06 11:02:04 +03:00
Alexander Bruy
f801cb6816 [processing] new pont cloud parameter for processing 2021-08-05 16:03:50 +03:00
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
Nyall Dawson
5246257e8a Cleaner API for QgsProviderUtils::sublayerDetailsAreIncomplete,
add flag to ignore unknown geometry types
2021-07-22 14:54:13 +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
Alessandro Pasotti
27eb5743ad Provider QSCI APIs for sqlite and PG 2021-07-06 20:58:36 +02:00
Alessandro Pasotti
cf260226a3 Create SQL layer and widget config based on enum 2021-07-06 20:56:07 +02:00
Nyall Dawson
73f45ee467 Allow non sublayer items to be added to QgsProviderSublayerModel
E.g. embedded project items
2021-07-06 17:57:21 +10:00
Nyall Dawson
288321505a Start on sublayer model 2021-07-06 17:57:21 +10: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
2029b9b103 add missing enum dox 2021-06-02 12:05:24 +02:00
Denis Rouzaud
e7ccf1fcc6 also do non scoped enums 2021-05-31 09:36:21 +02: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
b5aace6e82 Split qgsdataitem.h/cpp into multiple files for individual classes
to avoid mega file which triggers an include explosion
2021-05-21 09:22:05 +10:00
Nyall Dawson
68c98b55e7 Move core browser and map renderer files to src/core/browser
and src/core/maprenderer subfolders

Helps keep src/core a little more organized
2021-05-21 09:22:05 +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
0c4dd068c4 Move generic provider related files to src/core/providers
Minor clean up
2021-05-19 10:16:43 +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
Nyall Dawson
239092e0f1 Move QgsVectorDataProvider::FeatureCountState enum to qgscoreenums.h 2021-05-18 16:59:22 +10:00
Nyall Dawson
af6c08bb26 Move QgsMapLayerType to separate generic header for core enums
Avoids the need to include the whole qgsmaplayer.h header and
all its dependancies when only the QgsMapLayerType enum is required.
2021-05-17 16:09:13 +10:00
Denis Rouzaud
4e9932c37f
Merge pull request #42954 from domi4484/settingsRegistryQep124PartThree
Settings registry (QEP 124) part three
2021-04-30 14:10:53 +02:00