147 Commits

Author SHA1 Message Date
Marco Hugentobler
9ecded8b73 Comments 2020-06-30 13:06:53 +02:00
Marco Hugentobler
6ff2fe45ab Add possibility to set a minimum symbol size in layout legend. Minimum and maximum size are also valid for line widths 2020-06-29 17:37:02 +02:00
Marco Hugentobler
ab75840858 Sipify 2020-06-29 09:33:08 +02:00
Marco Hugentobler
f0ad33c8a9 [FEATURE] possibility to set a maximum marker size in layout legend 2020-06-29 09:02:05 +02:00
Harrissou Sant-anna
f2f7236fc8
Layout new name dialog
Make the new layout dialog use the qgsnewnamedialog class
Add/enable help button to open user manual chapters
2020-06-20 04:28:18 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
8d38aa2c15 Respect layer opacity and composition modes where possible when exporting GeoPDF
Fixes #33305
2020-06-08 13:30:06 +10:00
Nyall Dawson
4a125f607f Reduce number of expression evaluations in legend rendering
...by caching previous results and using them, until the layout is refreshed
2020-06-02 11:32:14 +10:00
Nyall Dawson
6e7113024f [layouts][api] Expose to public API the option to create separate
files for each logical layer in a layout

The backend for this was previously used only when creating a GeoPDF
export, where we create an individual PDF per layout logical layer
which are then composited by GDAL.

By publicly exposing this functionality via the QgsLayoutExporter API
we allow for plugins which can export layouts to seperate logical
PDF files, allowing for other (non-GDAL) tools to be used to later
composite the layers (e.g. Adobe Illustrator (which stupidly cannot
handle multi-layer single PDF files!))

Sponsored by SMEC/SJ
2020-05-19 04:33:48 +10:00
nirvn
f105add69a [FEATURE][layout] Expose temporal UI for map items 2020-05-10 14:30:07 +07:00
Denis Rouzaud
7a172b5756
Merge pull request #36236 from 3nids/fix25671
[layout] allow sorting attribute table by field not listed in the table
2020-05-07 06:02:41 +02:00
Nyall Dawson
8699f83d98 [FEATURE][layouts] Allow customisation of division and subdivision symbol
as distinct symbols vs the scalebar line symbol

Allows for styling division and subdivision symbols in a different
way compared with the horizontal line symbol in a tick scalebar

Sponsored by SLYR
2020-05-07 10:56:50 +10:00
Nyall Dawson
6e9b7ae594 Add clarification re meaning of number of subdivisions 2020-05-07 10:56:50 +10:00
Denis Rouzaud
28c20cf1d6 fix dox and layout 2020-05-06 20:01:20 +02:00
Denis Rouzaud
ee686b5bdb QgsLayoutTableColumn is not a QObject anymore 2020-05-06 14:46:45 +02:00
Denis Rouzaud
03f4cb9df3 do not use a specific class for the sort columns
for sake of simplicity this can live in the same class than the disaply columns
2020-05-06 14:46:45 +02:00
Denis Rouzaud
fcea343f79 allow sorting attribute table by field not listed in the table
fixes #25671

Instead of using a sort filter proxy model on top of the columns model, this uses a dedicated model for the sorting columns
2020-05-06 14:46:44 +02:00
Andrea Giudiceandrea
a3397a8a2e
[feature][layouts] Add subdivisions in ticks scalebar right segments
Adds the ability to create subdivisions for segments included in the right part of the ticksscalebar

Fixes #20341
2020-05-06 09:12:37 +10:00
Nyall Dawson
8a0e007ba5 [FEATURE] Support legend patch shapes in style manager databases
And clean up a lot of duplicate code which makes adding new types
to QgsStyle painful
2020-04-22 12:43:01 +10:00
Nyall Dawson
ddbcb1f478 [FEATURE][layouts] Allow configuring legend patch shapes by
double-clicking on legend items

Allows users to set custom legend patch shapes for items by
entering a WKT string representing the patch geometry
2020-04-21 10:40:50 +10:00
vcloarec
9377ec414c allow temporal layout item map 2020-04-17 04:01:06 +10:00
Nyall Dawson
de59f5392a [layouts][FEATURE] Allow marker items to sync rotation with maps
This allows creation of north arrows from marker symbols, exposing
the same options as exist for picture items acting as north arrows.

Sponsored by SLYR
2020-04-06 14:04:20 +10:00
Nyall Dawson
0384ef03e6 Refactor picture north arrow handling to extract logic to seperate class 2020-04-06 14:04:20 +10:00
Nyall Dawson
632448c447 [FEATURE][layouts] New item type for marker symbols
Allows marker symbols to be placed directly on layouts, eg.
for manually placing markers over a map item or for creation
of advanced custom legends
2020-04-05 14:23:22 +10:00
Nyall Dawson
406867d2ed Setup API to get theme linked to map pushed to linked legends 2020-04-03 14:43:11 +10:00
Nyall Dawson
0930906d0d Add signal which is emitted when a layout map's linked theme is changed 2020-04-03 14:43:11 +10:00
Nyall Dawson
4079878dfb Rename API methods as requested 2020-03-23 03:08:50 +10:00
Nyall Dawson
1887846a5c [FEATURE][layouts] Add "hollow" scalebar style
This matches the "hollow" scalebar style from ArcMap, and is a style
used in South African mapping standards

Fixes #20390

Sponsored by SLYR
2020-03-23 03:08:50 +10:00
Nyall Dawson
e82a2e4df1 [FEATURE][layouts] Also allow full fill symbols to be used for single box
and double box fill styles

Sponsored by SLYR
2020-03-22 16:41:31 +10:00
Nyall Dawson
9378dcd73f [FEATURE][layouts] Allow scalebar line style to be set using
standard QGIS line symbols

Instead of the previous settings of scalebar line color/width/cap styles,
we now expose the option as a full line symbol for more advanced styling

Also some code cleanups

Sponsored by SLYR
2020-03-22 16:41:31 +10:00
Nyall Dawson
880874bfb6 [layouts][FEATURE] Rework picture item UI and behavior
Adds an explicit choice between SVG or raster image sources,
which allows us to clean up the configuration panel for layout pictures
by hiding options which don't apply to a certain picture source. Also permits
us to:
- Reuse the standard svg selector tree widget, which loads images
in a background thread and fixes #17061
- Uses the standard SVG and image selector line edit, which permit
drag and drop of images and expose options to embed images
and link to online sources

Ultimately this is motivated by a desire to allow users to embed
images in layouts and layout templates

Sponsored by SLYR
2020-03-19 13:18:47 +10:00
Alex
13337b20cd
[feature] data defined control over layout map CRS 2020-02-23 06:50:55 +10:00
Nyall Dawson
756cb6f592 [layouts] Improve Manual Table handling of header cells
Instead of hiding this functionality from users, we instead add an explicit
toggle to the Table Designer dialog "Table" menu to hide or show
the header cells in the designer, and re-add the widgets which
allow users to customise the header appearance back into the
item configuration widget.

Whenever a header cell is selected in the table designer, the formatting
widgets are disabled since the item's header configuration widgets
are used to set the background/foreground color and other properties
of these cells instead.
2020-02-14 06:38:38 +10:00
Nyall Dawson
d2639bc662
Fix mention of compositions in dox (#34318) 2020-02-06 06:19:30 +01:00
Nyall Dawson
62efbeb5cd Allow editing of row/column width/height in manual tables 2020-01-14 19:08:20 +13:00
Nyall Dawson
49d56f6c19 [FEATURE] Add new layout item type for manually created tables
Allows for creation of tables with contents manually entered by users
(i.e. spreadsheet style), so that users can create completely custom
tables.

Supports control custom cell contents, foreground and background colors.
2020-01-14 19:08:20 +13:00
Nyall Dawson
16c2254141 [FEATURE][layouts] Add user control over scalebar numeric formats
Gives users control over all the formatting properties for the numbers
in scalebars, including whether they want thousand separators, decimal
places, scientific notation, etc

Fixes #21341
2020-01-09 19:51:50 +13:00
Nyall Dawson
400e3dace1 [FEATURE][layouts] Allow layout attribute tables to be styled using the foreground
and background colors of matching conditional styles attached to the layer

When the new "Apply layer conditional styling colors" option is enabled in the
layout attribute table settings, any conditional styling rules present in the
layer will be applied inside the layout attribute table (foreground and
background colors only, for now!).

Refs #25712

Sponsored by City of Canning
2020-01-08 15:31:24 +13:00
Nyall Dawson
078f8451e0 [layouts] Ensure overview frames are correctly exporting during layer
based exports when the stacking position is set not set to above labels

Fixes #32763
2019-11-27 05:06:37 +10:00
Nyall Dawson
1ca926d72a [FEATURE][layouts] Add search box to layout manager
Allows filtering the list of layouts in a project by name, handy
when a project has many layouts
2019-11-20 17:38:28 +10:00
Juergen E. Fischer
b81d306047 spelling fixes (closes #32408) 2019-10-26 10:50:30 +10:00
Denis Rouzaud
758d7cff4a run sipify to update deprecation annotations 2019-10-15 13:17:38 +02:00
Nyall Dawson
45e847ef69 [layouts][needs-docs] Move page background setting to a per-page option
The UI for this setting was sitting under the page properties panel,
which led users to believe it was a per-page setting (rather than
applying to ALL pages in the layout).

Instead, move this property to sit within individual layout item pages
so that the behavior matches what the UI suggests.

Fixes #25695
2019-09-27 15:17:36 +10:00
Nyall Dawson
6e2c7311bb Add Python __repr__ for QgsLayoutPoint, QgsLayoutSize, QgsLayoutMeasurement 2019-09-25 04:31:36 +10:00
Nyall Dawson
fcd21e4850 [reports] Fix predefined scale mode is incompatible with report outputs
Fixes #29196
2019-09-18 10:35:23 +10:00
Nyall Dawson
ffc71c4f57 Remove const_cast 2019-09-18 07:55:46 +10:00
Nyall Dawson
3de0593957 Ensure atlas expression evaluation has access to coverage layer scope
Fixes #31807
2019-09-18 07:55:46 +10:00
Nyall Dawson
587c011046 [layouts] Fix grids cannot be disabled, ui widgets for grids get incorrectly
disabled blocking the ability to re-enable grids (master only)
2019-09-13 10:36:06 +10:00
Nyall Dawson
e0411e608d Refactor out scalebar code for calculating pretty interval sizes
into reusable function
2019-08-28 14:12:28 +10:00
Nyall Dawson
b90529b4c2 UI and API setup for dynamically calculated grid intervals 2019-08-28 14:12:28 +10:00