225 Commits

Author SHA1 Message Date
Nyall Dawson
fbe47ef20c Hide Draw on Canvas option from QgsExtentWidget in modal dialogs
When widget is shown in a modal dialog, we can't offer the
option to draw the extent on the canvas

Refs #59063
2024-10-18 06:46:29 +10:00
Nyall Dawson
f2f05abca1 Cleanup docs, use \param instead of @param 2024-10-16 13:01:39 +10:00
Nyall Dawson
bc28bfd333 Fix/suppress more duplInheritedMember warnings 2024-10-15 15:00:05 +10:00
Nyall Dawson
4c9072e265 Only render main annotation layer in main map canvas or docked maps
Don't show it in other map canvas instances, eg the coordinate
bounds preview map

Fixes #58766
2024-10-11 16:23:37 +10:00
ViperMiniQ
d30a1d5d85 [api] add QgsLayerTreeView::setCurrentNode 2024-10-11 14:55:17 +10:00
Nyall Dawson
ef9b326d04 Apply suggestions from code review 2024-10-10 14:10:40 +10:00
Yoann Quenach de Quivillic
b1d840f5b8 Handle wrap mode in calltips 2024-10-10 14:10:40 +10:00
Denis Rouzaud
f9c05c50d8
Merge pull request #59014 from 3nids/settings.fup.2
python implementation of enum settings editor widget wrapper  + fix crash
2024-10-09 20:10:58 +02:00
signedav
03f193d336
Merge pull request #58729 from signedav/categorizelegate
Improve UX of layer style categories with html
2024-10-09 13:55:56 +02:00
Denis Rouzaud
e4b2d591db
access dynamic key part list for editor wrappers 2024-10-09 12:10:25 +02:00
uclaros
3af3539fe1 stac gui for browser implementation 2024-10-09 10:20:10 +02:00
Denis Rouzaud
c75588d84a settings edtior wrappers: add direct constructor + add combo box editor for strings
this improves the usage from Python plugins
2024-10-07 13:55:31 +02:00
Denis Rouzaud
ec839e9d7c
rename settings editor widget wrappers (#58974)
to allow more than 1 widget type to be supported for each type of setting
2024-10-07 07:24:40 +02:00
Denis Rouzaud
4afbf9e1bb const fixes 2024-10-02 07:05:46 +10:00
signedav
816da02398
Merge branch 'master' into categorizelegate 2024-10-01 09:17:05 +02:00
Denis Rouzaud
ca3b40cb8c
Merge pull request #58568 from gacarrillor/stacked_diagrams
[feature] Introduce stacked diagrams
2024-09-27 07:54:49 +02:00
signedav
f022253095 expose model and delegate to the api 2024-09-26 15:28:18 +02:00
Denis Rouzaud
590232d70a
add template method to return specific type of layers in map canvas (#58878)
* add template method to return specific type of layers in map canvas

* Apply suggestions from code review

Co-authored-by: Matthias Kuhn <matthias@opengis.ch>

---------

Co-authored-by: Matthias Kuhn <matthias@opengis.ch>
2024-09-26 14:17:36 +02:00
Germán Carrillo
eb201c56e6 [gui] Switch from string-based connections to functor-based ones 2024-09-25 19:41:35 -05:00
Denis Rouzaud
6bf3ee0f30 const correction 2024-09-20 11:06:45 +02:00
Nyall Dawson
f61e33da4e Doxygen comments should use "NULLPTR", not "NULL"
NULLPTR will get correctly formatted in both c++ and Python docs
2024-09-19 09:55:44 +10:00
Alessandro Pasotti
5c76ebf092 Address PR comments 2024-09-19 06:17:55 +10:00
Alessandro Pasotti
2978f47951 [layout] Fix missing layer in fixed table editor
Fix #58774
2024-09-19 06:17:55 +10:00
Denis Rouzaud
281726250f
Merge pull request #58354 from gacarrillor/save_functions_in_project
[feature] Allow users to save expression functions in QGIS project file
2024-09-13 17:39:40 +02:00
Mathieu Pellerin
39d6f8392c [ui] Fix addition of geometryless feature not working after first click on add record toolbar action 2024-09-13 08:22:09 +10:00
qgis-bot
a481c11040 auto sipify 🍺 2024-09-12 14:35:56 +00:00
Denis Rouzaud
0c8aee0234
[settings] support direct connection from widget value change to upda… (#58611)
* [settings] support direct connection from widget value change to update setting value

* support automatic setting update on dialog accept

* add settings entry

* better name + fix typo

* Update src/gui/settings/qgssettingseditorwidgetwrapper.h

Co-authored-by: Mathieu Pellerin <nirvn.asia@gmail.com>

* sipify

---------

Co-authored-by: Mathieu Pellerin <nirvn.asia@gmail.com>
2024-09-12 16:32:46 +02:00
Nyall Dawson
3ec7665fec Add gui for configuring project advanced labeling rules 2024-09-11 02:06:41 +10:00
Nyall Dawson
b39f760cbc
Correctly handle multiline SIP_OUT param documentation 2024-09-10 11:11:25 +10:00
Nyall Dawson
cfd251e7f7 Capture signal arguments 2024-09-08 16:06:22 +10:00
Germán Carrillo
c5286e4dcc [core] Address review: Move loadFunctionsFromProject and cleanFunctionsFromProject to QgsProject::read and ::clear, respectively. Introduce function pythonEmbeddedInProjectAllowed to ask for permissions to load both macros and expression functions, with a parameter enum and rename existing enum for macros. Sort includes. Drop not needed file. Add python/expressions/ to gitignore, to get rid of files produced by the introduced Python test. 2024-09-05 23:07:37 -05:00
Germán Carrillo
8f0ab844e4 Make sure python expression functions from project are only loaded if users allow it, just like we do with macros 2024-09-05 23:07:36 -05:00
Germán Carrillo
939dac948a Address review (don't expose to public API, remove const to a by value param, tr, string literals) 2024-09-05 23:07:36 -05:00
Germán Carrillo
c62746d1d1 Add missing docs and SIP files 2024-09-05 23:07:36 -05:00
Germán Carrillo
72da31baa5 Make sure project functions are correctly loaded from the project (always at the top of the list in the 'Function editor' tab) and never stored in a user profile file 2024-09-05 23:07:36 -05:00
Germán Carrillo
59ef0e5752 [feature] Allow to add/save/autosave/remove expression functions in a QGIS project 2024-09-05 23:07:36 -05:00
Nyall Dawson
4ec5290a46 [layouts] Add support merging cells in manual tables
Allows adjacent cells to be merged in layout manual table items.

From the table editor, select multiple cells in a rectangular
shape and then from the Table menu, click "Merge Selected Cells".
Merged cells can be un-merged via the "Split Selected Cells"
menu action.

Fixes #51694
2024-09-05 09:19:02 +10:00
Nyall Dawson
519b82183c Fix numeric format configuration in dialog mode 2024-09-04 19:06:26 +10:00
Nyall Dawson
bfb6e1cc76 Address review 2024-09-04 19:06:26 +10:00
Nyall Dawson
1eb3d82c11 Pass proper expression context on to numeric format widget 2024-09-04 19:06:26 +10:00
Nyall Dawson
05003ba2fa [feature] Add "Linear Referencing" symbol layer type
This new symbol layer type allows placing text labels at regular
intervals along a line (or at positions corresponding to
existing vertices). Positions can be calculated using
Cartesian distances, or interpolated from z/m values.

Functionality includes:

- Labels can be placed using fixed cartesian 2d distances,
at regular linearly interpolated spacing calculated using
the Z or M values in geometries, or at existing vertices
- Labels can show either the running total distance, or
the linearly interpolated Z/M value
- Uses text rendered to draw labels, so the full range
of functionality is available for the labels (including
buffers, shadows, etc)
- Uses the QGIS numeric format classes to format numbers
as strings, so users have full range of customisation
options for eg decimal places
- An optional "skip multiples of" setting. If set, then
labels which are a multiple of this value will be skipped
over. This allows construction of complex referencing labels,
eg where a symbol has two linear referencing symbol layers,
one set to label every 100m in a small font, skipping multiples
of 1000, and a second set to label every 1000m in a big
bold font
- Labels are rendered using an angle calculated by averaging
the linestring, so sharp tiny jaggies don't result in
unslightly label rotation
- Optionally, markers can be placed at referenced points
in the line string, using a full QGIS marker symbol (this allows
eg showing a cross-hatch at the labeled point, for a "ruler"
style line)
- Data defined control over the placement intervals, skip
multiples setting, marker visibility and average angle
calculation length

Notes:

- When using the distance-based placement or labels, the
distances are calculated using 2D only, Cartesian calculations
based on the original layer CRS. This could potentially be
extended in future to expose options for 3D Cartesian distances,
or ellipsoidal distance calculations.

Sponsored by the Swiss QGIS User Group
2024-09-04 19:06:26 +10:00
Nyall Dawson
4db6237246 Deprecate signal which is never emitted 2024-09-04 13:54:39 +10:00
Nyall Dawson
c6233cb312 Add missing signal docs 2024-09-04 13:54:39 +10:00
Nyall Dawson
104ffa885a Cleanup docs 2024-09-04 13:54:39 +10:00
Nyall Dawson
a4723d7b97 Add missing signal docs 2024-09-04 13:54:39 +10:00
Nyall Dawson
e5c5ecb88c Add missing signal docs 2024-09-04 13:54:39 +10:00
Nyall Dawson
94f6e9c71b Correctly handle \param[in,out] in sipify 2024-09-04 13:54:39 +10:00
Nyall Dawson
0191ecbccd Add missing docs for signals 2024-09-04 13:54:39 +10:00
Nyall Dawson
bfa3bb3fc6 Misc doc cleanups 2024-09-04 13:54:39 +10:00
Nyall Dawson
502ad84f83 Cleanup QgsUnitSelectionWidget docs 2024-09-04 13:54:39 +10:00