61 Commits

Author SHA1 Message Date
Nyall Dawson
2357d80d25 Avoid sip property code for old api compatibility
This causes crashes on Qt6. Use Python monkey patching instead.
2024-02-17 05:38:14 +10:00
Nyall Dawson
09dc6838a7 Upgrade another enum to get filtering working in processing toolbox 2024-02-10 17:25:22 +10:00
Nyall Dawson
ac2f1179c8 More item data role enum to enum class conversions 2024-02-06 21:04:43 +10:00
Nyall Dawson
f1e3ba9e2d Use correct sip method
And use INDENT-OFF annotations to avoid astyle messing up
formatting of enum with inline macros
2024-01-31 13:48:49 +10:00
Nyall Dawson
c02a9ef789 Add missing files 2024-01-31 13:48:49 +10:00
Nyall Dawson
fb1d3cc4bb Move all projection related gui files to src/gui/proj 2024-01-17 10:16:32 +10:00
Nyall Dawson
885245213a Add missing file 2023-11-08 21:27:46 +10:00
Nyall Dawson
731123a425 Create a QAbstractItemModel and proxy model for displaying tree
view of coordinate reference systems
2023-07-19 10:47:47 +10:00
Nyall Dawson
95dc22f6b5 Fix handling of ' in enum docstrings in sipify 2023-07-09 22:48:59 +10:00
Denis Rouzaud
5bccd556e2
move QgsTolerance::UnitType to Qgis::MapUnitType (#53347)
* move QgsTolerance::UnitType to Qgis::MapUnitType

* missing forward declaration

* forward declaration

* use MapToolUnit

* forward declaration

* sipify

* fix tests

* Apply suggestions from code review

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

* forward declaration

* forward declaration

* forward declaration

* sipify

* fix missing parenthesis

---------

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2023-06-06 18:33:50 +02:00
Nyall Dawson
b0be3d4816 Use enum class 2023-05-15 16:38:52 +10:00
Denis Rouzaud
9f3ac79b8b sipify + CMakeLists 2023-04-23 07:19:47 +02:00
Nyall Dawson
c7659fbc9a Show field comments and alias in field mapping tables 2023-04-22 09:18:06 +10:00
Nyall Dawson
03e1d90b39 Immediately write out the console history file BEFORE running commands
This prevents loss of history when a user enters a Python command
which results in a QGIS crash
2023-03-28 15:04:39 +10:00
Nyall Dawson
04851d5b75 Sip updates 2023-02-06 09:45:26 +01:00
Nyall Dawson
3efb1e604a Move action enums to Qgis, promote to enum class, and considerably thin
includes as a result
2022-11-28 11:46:45 +10:00
Nyall Dawson
2a0fc591f7 Cleanup qgsmaplayeractionregistry.* files and split into modular files
per class
2022-11-23 08:25:33 +01:00
Nyall Dawson
8fefb8a010 Move action files to subdirectories 2022-11-23 08:25:33 +01:00
Nyall Dawson
dd4984eb49 Move some common code to base class 2022-10-24 16:46:11 +10:00
Nyall Dawson
fcb83a7a30 Fix code folding not shown for non-python code editor classes 2022-10-10 14:01:24 +10:00
Nyall Dawson
39a4a63890 Promote to enum class 2022-10-10 14:01:24 +10:00
Loïc Bartoletti
94a3744521
Merge pull request #46647 from Koyaani/advanced_snapping
[Feature] New soft constraints in the advanced digitizing dock
2022-03-18 10:11:49 +01:00
Denis Rouzaud
f32ecd4730 move QgsMapToolCapture::CaptureTechnique enum to Qgis 2022-03-11 07:47:46 +01:00
Antoine
2dc440f804 move enums to qgis.h 2022-03-10 13:37:19 +01:00
Antoine
aa88d39f89 AdditionalConstraint to BetweenLineConstraint 2022-03-10 09:11:38 +01:00
Denis Rouzaud
36a1019582
refactoring of QgsMapToolCapture to integrate shape map tools (#46687)
* make QgsMapToolCapture capable of capturing point/line/polygons

This moves part of the code from QgsMapToolDigitizeFeature to QgsMapToolCapture so the tool can actually capture point, line and polygons. It's mainly the 'cadCanvasReleaseEvent` which has been transfered.

* use a current CaptureTechnique in QgsMapToolCapture

QgisApp has been adapted to switch between the different techniques

* add point/line/polygon specific handlers for capture map tool

* convert add part map tool to use QgsMapToolCapture capabilities

* fix use of deprecated methods

* also create a virtual handler for QgsMapToolDigitizeFeature::featureDigitized

* more dox

* use const abstract geom in virtual handlers

* add new class QgsMapToolCaptureLayerGeometry to handle layer specific operation in capture map tool

such as avoiding intersections

* allow to add linear geometries on curved geometry layers

* make actions exclusive

* add settings registry to app

* add a registry for shape map tools

* abstract class for shape map tools

* adapt QgsMapToolCapture to correctly support shape map tools

* clean up of QgisApp

* new class QgsMapToolsDigitizingTechniqueManager to handle actions in app related to capture map tools

* clean up QgisInterface

* sipify

* refactoring of existing shape tools

* refactor add ring to fully support capture map tool

* add missing folder to Doxygen

* fix layout

* fix erasing at iterator pos

* fix unused warning

* fix more dox

* fix cpp check warning

* fix unused warning

* fix annotation map tool does not support shape + set tool name

* correctly handle case when the capture is not done on a vector layer (annotation, mesh, …)

* enable shapes in annotation map tool

* correctly undo and clean

* adapt existing shape tests

the deletion test with circular vertices has been dropped since the capture map tool behaves differently

* fix warning

* refactor fill ring to support shape digitizing

* fix win build

* fix more tests

* avoid detach warnings

* fix app test + clean up

* harmonize new settings with existing ones

* fix categories

* support adding multi lines as a part

* fix adding curve part to multi line

* also handle points

* code a bit clearer

* cast not always valid

* allow adding curved polygon to multipolygon

* add test for QgsGeometry::addPart with curved parts on non-curved geoms (lines and polygons)

* fix with Python < 3.9

* better dox for deprecated interface actions methods

* remove files leftover

* remove leftover circular string curve point tool

* add default Z/M values when calling QgsGeometry::coerceToType

* Apply suggestions from code review

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

* fixes from review

* move layer specific part to specific tool

* fix typo

* fix leak

* fix dox

* fix segmentization

* call map tool implementation of addCurve when adding trace curve to avoid point duplication

* call sub-class implementation

* fix since 3.24 -> 3.26

* fix test

* add test to avoid extra curves when using tracing

* fix headers

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2022-02-22 07:59:50 +01:00
Nyall Dawson
a169055277 [processing] Improve UX when saving models
- When saving a model to a file, don't require that the model already
has a name entered. Instead, if no model name has been entered then
set the model name automatically to match the selected save filename.
E.g. if the user saves the model as "Process incoming features.model3",
then the model name will be set to "Process incoming features".
- When first saving a model, IF the user HAS already entered a model
name then make the default file name suggested by the dialog match
this model name
2022-02-05 11:05:51 +10:00
nirvn
f223ef2112 Address review and tests failure 2022-01-30 16:36:06 +07:00
Denis Rouzaud
e2a80d97fe use a current CaptureTechnique in QgsMapToolCapture
QgisApp has been adapted to switch between the different techniques
2022-01-28 06:30:23 +01:00
Nyall Dawson
89524fc565 Add missing file 2021-12-22 08:29:27 +10:00
Nyall Dawson
86794dabdc Fix interface for QgsProcessingParametersGenerator was modified for
the python subclasses only and no longer correctly overrides the
base class method
2021-12-16 11:15:34 +10:00
Nedjima Belgacem
826c6a7c36
Disble layer rendering to 3D terrain texture for 3D rendered layers (#44367)
* add optional layer rendering to 3D terrain

* remove terrainLayers from Qgs3DMapSettings

* fix tests

* switch to layer terrain rendering when no 3d renderer is set

* fix mesh tests to handle terrain being disabled
2021-08-11 11:38:59 +02:00
Nyall Dawson
61c842165d Commit missed file 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
Denis Rouzaud
e7ccf1fcc6 also do non scoped enums 2021-05-31 09:36:21 +02:00
Damiano Lombardi
9fdcda41fa Added test for QgsJsonEditWidget 2021-05-10 22:54:44 +02:00
Nyall Dawson
ef94191d70 Dox 2021-03-25 04:48:31 +10:00
Nyall Dawson
207be1dd66 Add mechanism for QgsMapLayerConfigWidgetFactory to create sub widgets
which are embedded into the raster layer temporal properties widget
2021-03-25 04:48:31 +10:00
Nyall Dawson
4faceaf0d7 Add api to indicate that a QgsMapLayerConfigWidgetFactory factory
creates sub-components of a standard page instead of a top-level
page on its own
2021-03-25 04:48:31 +10:00
Ivan Ivanov
891c89ae2a rename QgsBasicRelationWidget--> QgsRelationEditorWidget 2021-01-06 16:01:39 +02:00
Ivan Ivanov
51cd712c76 Add relation widget registry 2020-12-30 04:46:51 +02:00
vcloarec
abc112befc typo and spelling 2020-10-19 14:53:08 +10:00
Peter Petrik
d9f18ccb9c
Fix spelling (#37849)
fix the spelling errors
2020-07-21 12:51:48 +02:00
Nyall Dawson
d5a340f886 [processing] Port aggregates widget wrapper to c++
And add a TON of tests

Fixes #36843
2020-06-03 15:17:56 +10:00
Nyall Dawson
ef01c3c29d Dox 2020-05-22 08:40:51 +10:00
Nyall Dawson
3ebd09724b Add framework to allow for flexible interaction blocking with map canvas 2020-05-22 08:40:51 +10:00
vcloarec
267af1e7fb temporal match methods 2020-05-21 05:54:24 +10:00
Alessandro Pasotti
5d720fbb5f Enum class for ColumnDataIndex + constraints 2020-04-03 21:21:14 +10:00
Denis Rouzaud
ed7c73fb3f add init methods for clarity 2020-03-26 14:55:50 +01:00
Denis Rouzaud
6e55bd5ea5
use Q_ENUM macro in QgsFileWidget (#34665)
this will allow configuring properly the custom widget
2020-02-25 22:48:27 +01:00