336 Commits

Author SHA1 Message Date
mhugent
0fe161e3c0
Merge pull request #62950 from mhugent/invalid_layer_rendering_error
Report attempt to render invalid layers as a rendering error
2025-09-08 08:41:03 +02:00
Mathieu Pellerin
3ff54d8166
Charts implementation, part 2: layout chart items (#62952) 2025-09-04 09:46:23 +07:00
Marco Hugentobler
235cb68e29 Dokument context 2025-08-29 14:31:20 +02:00
Nyall Dawson
c549f43bf9 When rendering layout legends, respect exclude-by-default flag 2025-08-25 12:17:32 +10:00
Marco Hugentobler
b692799c21 Report invalid layers as a rendering error 2025-08-22 08:35:47 +02:00
Mathieu Pellerin
a453dd65b6 [plots] Break Qgs2DPlot into a axis-less Qgs2DPlot and a X/Y axes Qgs2DXyPlot 2025-08-22 10:41:20 +10:00
Nyall Dawson
c686bb1f88 Generalise proxy model to support generic attached objects 2025-08-03 08:56:23 +10:00
Nyall Dawson
231b95bc45 Generalise QgsLayoutManagerModel to template class for project stored objects
Allows us to re-use the model for other attached object types
2025-08-03 08:56:23 +10:00
Nyall Dawson
24adfe7619 Move layout manager model to separate files 2025-08-03 08:56:23 +10:00
Nyall Dawson
cacdea42fd Create abstract base class for managers for objects attached to QgsProject
This generalizes the logic from QgsLayoutManager, so that additional
manager classes handling other object types can be added without
incurring a lot of near-duplicate code.

This is a step toward allowing storage of elevation profiles
within projects.
2025-08-03 08:56:23 +10:00
Julien Cabieces
f9e73eabc6
Merge pull request #62488 from nyalldawson/mask_switch
Add (hidden) setting to force raster clip masks for layout exports
2025-07-07 08:50:52 +02:00
Yoann Quenach de Quivillic
91e25e8051 Apply suggestions from review 2025-07-07 11:08:27 +12:00
Yoann Quenach de Quivillic
4c3aaa09ca Add methods to remove plugin-defined layout items when unloading plugin 2025-07-07 11:08:27 +12:00
Nyall Dawson
4936e775b7
Add (hidden) setting to force raster clip masks for layout exports 2025-07-02 11:58:53 +10:00
Mathieu Pellerin
8133424f5e Address review 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
cc17d79bd7 [layout] Add an atlas option to limit coverage layer rendering to the current feature only 2025-06-30 11:07:37 +12:00
Nyall Dawson
6bd71ef1de Promote layout render context flags to enum class, move to Qgis 2025-06-03 11:34:13 +10:00
Nyall Dawson
e04145f053 Add new enum for rasterised rendering policy 2025-06-03 11:34:13 +10:00
Nyall Dawson
0b81fecd7f Don't return doubles for bools 2025-05-22 12:51:06 +10:00
Nyall Dawson
1e1c415261 Allow data-defined control over legend wrap distance 2025-04-09 13:09:36 +10:00
Nyall Dawson
bbdc235c61 Drop units API for auto wrap distance
This isn't exposed, and needs more thought before it is (should
we use RenderUnits or LayoutUnits?)
2025-04-09 13:09:36 +10:00
Nyall Dawson
61009bdf95 [feature] Add auto-wrap after setting for layout legends
Allows legend text to be automatically wrapped after a set
line length (in millimeters).

This can prevent very wide auto-generated legends.

Sponsored by North Road, thanks to SLYR
2025-04-09 13:09:36 +10:00
Nyall Dawson
3f6b490218 Sipify 2025-04-02 11:11:10 +10:00
Nyall Dawson
4a10066b69 Fix grammar errors in class docstrings 2025-04-01 09:44:00 +10:00
Nyall Dawson
afd2e4f42d Fix doxygen class briefs which aren't full sentences 2025-04-01 09:44:00 +10:00
Nyall Dawson
6d122f0038 Sipify 2025-03-30 20:48:07 +10:00
Nyall Dawson
ac71664a83 Fix multiparagraphs in initial class docstrings 2025-03-30 20:48:07 +10:00
Nyall Dawson
29050007d7 Fix class documentation which starts with "this is..."/"a class..." etc 2025-03-30 20:48:07 +10:00
Nyall Dawson
602ef6c691 Don't start class briefs with "This class contains settings..."
It's unncessarily verbose, use just "Contains settings..." instead.
2025-03-30 20:48:07 +10:00
Jean Felder
f57c1d72dd qgslayoutelevationprofilewidget: Add support for subsections indicator
This adds some new customization associated with the introduction of
subsections indicator:
- it allows to display or hide them
- it allows to change the associated symbology
2025-03-25 09:47:50 +10:00
Jean Felder
c769795e36 qgslayoutitem: Remove empty lines at the end of file 2025-03-25 09:47:50 +10:00
Jean Felder
21dfcd261d qgslayoutitemelevationprofile: Add support for subsections indicator
This adds support to display vertices lines over the profile graph to
display indicator at the location of the curve's vertices.

This is achieved with mainly 2 changes:
- `setSubsectionsSymbol()` allows to set the line symbol of the
vertical lines
- Call `renderSubsectionsIndicator` on the `QgsProfilePlotRenderer`
2025-03-25 09:47:50 +10:00
Nyall Dawson
8911a5b726 Move QgsLegendStyle::Style enum to Qgis, rename to LegendComponent 2025-02-20 13:08:54 +10:00
Julien Cabieces
ed64834106 api(deprecated): add message to deprecated SIP annotation 2024-12-17 09:06:42 +01:00
Julien Cabieces
398f00bc26 doc(Deprecated): Fix missing \deprecated instruction 2024-12-17 09:05:46 +01:00
Denis Rouzaud
76f702e48a sipify 2024-12-05 13:19:50 +01:00
Nyall Dawson
2140c555fe Double-clicking a mouse handle for a layout label resizes to fit text
Double-clicking a handle will auto-size the label to exactly fit
the contained text (growing or shrinking as needed). The opposite
side of the label will remaining fixed in place, so eg double-click
the bottom-right handle causes the bottom-right corner of the label
to move.
2024-12-05 05:13:53 +10:00
Yoann Quenach de Quivillic
eaad2e930c Apply suggestions from review 2024-10-29 06:20:14 +10:00
Yoann Quenach de Quivillic
ca2688a977 Prevent creation of invalid polyline / polygon 2024-10-29 06:20:14 +10:00
Yoann Quenach de Quivillic
071b28903c Apply layout page size to all pages 2024-10-26 12:17:02 +10:00
Yoann Quenach de Quivillic
e8e55cdbd0
Add export quality slider for jpeg/jpg 2024-10-26 09:37:58 +10:00
Nyall Dawson
29b345e2c3 Add scale method option for layout scale bars
Instead of always calculating the scale along the bottom of the
map, expose a choice of methods to the user (along bottom,
middle, top, or average of the three measurements)

For new scalebars, default to the average method, which better
handles the scenario where the scale at the top or bottom of
the map cannot be calculated (eg when the top/bottom of the map
falls just outside valid areas for the map's crs)

This fixes one of the most common scenarios which cause scale
bar widths to blow out to massive sizes

Refs #55240
2024-10-15 12:38:07 +10:00
Even Rouault
9f605a6426 Don't use the The Word Which Must Not Be Used
I limited the renaming to things that are not in the public API and
are not setting names. This is probably more than we strictly need to
do, but at least this will help doing potential future similar 'grep'
exercises.
2024-10-09 11:50:08 +10: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
Nyall Dawson
cfd251e7f7 Capture signal arguments 2024-09-08 16:06:22 +10: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
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
519959154a Fix some overly verbose class "brief" descriptions 2024-08-28 11:58:21 +10:00
Nyall Dawson
3a578d6712 Header update 2024-08-13 20:28:55 +10:00