353 Commits

Author SHA1 Message Date
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
Nyall Dawson
f2e4c3dfb7 Don't mangle http see links in PyQGIS docs 2024-09-04 06:32:03 +10:00
Nyall Dawson
534ca73c59 Fix missing see also trailing notes in PyQGIS documentation 2024-09-04 06:32:03 +10:00
Nyall Dawson
0f1daa11f3 Fix formatting of some \see links 2024-09-04 06:32:03 +10:00
Nyall Dawson
ef0289f3ec Fix formatting of Python ..deprecated annotations in docstrings
Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/174
2024-09-02 11:42:12 +10:00
Nyall Dawson
765cbb32db Standardise some deprecated annotations 2024-09-02 11:42:12 +10:00
Nyall Dawson
d318cdb992 Standardise some since annotations 2024-09-01 02:29:17 +10:00
Nyall Dawson
a5a3bf9ee8 Fix some more causes of warnings when building PyQGIS docs 2024-08-30 12:19:29 +10:00
Nyall Dawson
e38d577980 Catch raw bold/italic tags in docs 2024-08-30 05:47:07 +10:00
Nyall Dawson
49d31fa527 Fix some malformed docs 2024-08-30 05:47:07 +10:00
Nyall Dawson
482311b668 Don't use raw html lists in documentation 2024-08-30 05:47:07 +10:00
Nyall Dawson
16e05a207b [feature] Add 'Custom Expression' numeric format
This numeric format allows users to craft a custom QGIS expression
to format numbers. The expression can use the @value variable
to retrieve the value to be formatted, and then use any standard
QGIS expression function to format this as desired.

It can be used anywhere QgsNumericFormat is accepted, eg layout
scalebars, elevation plots, layout tables, and color ramp
legends

Sponsored by the Swiss QGIS User Group
2024-08-29 13:27:23 +10:00
Nyall Dawson
bc52832b47 Lazily hack around markdown title underline not being long enough
Causes a bunch of warnings when building the PyQGIS docs
2024-08-28 11:58:21 +10:00
Julien Cabieces
becfe9111d fix(ColorWidget): Synchronize color model with color ramp one
Fixes #58324
2024-08-27 06:54:44 +10:00
signedav
02c36d9fd6
Merge pull request #58448 from signedav/releditorfilter
Filter in Linking Dialogue of Relation Editor Widget
2024-08-23 11:34:13 +02:00
Julien Cabieces
3b7a3c0060 style(ColorWidgets): Rename Raw enum to Scaled0to255 2024-08-22 09:58:55 +02:00
signedav
5c9890ce69 fix typos 2024-08-21 14:59:34 +02:00
Julien Cabieces
5deb18f91c ui(ColorWidget): Display CMYK components as percent 2024-08-21 10:06:30 +02:00
signedav
66fac268c8 Integrate expression builder in configuration 2024-08-21 08:08:38 +02:00
Julien Cabieces
35dad9a7fe fix(ColorWidget): fix sip and missing deprecated 2024-08-21 05:20:48 +10:00
Julien Cabieces
439078651e fix(ColorWidget): Add missing SIP_DEPRECATED 2024-08-21 05:20:48 +10:00
Julien Cabieces
b3dd3a0e32 feat(ColorWidget): Set color component as float 2024-08-21 05:20:48 +10:00
Nyall Dawson
1128c909ee Move all gui map tools files into maptools/ subfolder
Previously only a few were in this subfolder, which made it
confusing to find the others...
2024-08-20 16:38:45 +02:00