46 Commits

Author SHA1 Message Date
Germán Carrillo
512ea7d062 [fix] When passing from Stacked Diagram to a single one, take the first one (if it exists) in the stacked diagram as a basis for the new single one
Before this commit, the stacked diagram properties were taken as a basis, losing valuable diagram settings in the process.
Note this reverts commit 2f9a0758b309ef162d6390b7411cba71af3375be
2024-10-19 06:24:23 +10:00
Germán Carrillo
deb210929a [core] Remove unused method in QgsStackedDiagramRenderer 2024-10-19 06:24:23 +10:00
Germán Carrillo
4977c8f746 [gui] Document and handle ownership in QgsStackedDiagramProperties and underlying model 2024-10-19 06:24:23 +10:00
Germán Carrillo
cae14bb852 [core] Implement StackedDiagramRenderer's copy constructor (called by clone()) and operator= 2024-10-19 06:24:23 +10:00
Germán Carrillo
585d0df594 [core] Make sure QgsStackedDiagramRenderer::addRenderer() takes ownership 2024-10-19 06:24:23 +10:00
Germán Carrillo
cc6feb11f6 Add missing \since and \see in method docs, replace @param by \param 2024-10-17 13:37:13 +10:00
Nyall Dawson
f2f05abca1 Cleanup docs, use \param instead of @param 2024-10-16 13:01:39 +10:00
Germán Carrillo
4a73ef0028 [core] Address review: switch from string comparison to static const members 2024-10-10 08:27:52 +10:00
Germán Carrillo
f81df2876c [gui] Move Diagrams properties to a panel widget, showing tabs instead of a list when docked; harmonize stacked diagram configuration with rule-based labeling; allow QgsDiagramProperties to sync to renderers and diagram layer settings, in addition to syncing to layers; when editing a subdiagram of a stacked diagram, only show widgets for diagram layer settings if the subdiagram is the first one, for the rest, hide those widgets and show a note informing users; make sure stacked diagrams handle enabled and disabled subdiagrams (i.e., don't take into account disabled subdiagrams) and add a test for it; switching from single to stacked diagram: take the single diagram definition as the first stacked diagram; fix #58782 (calling twice the apply method for label rendering) 2024-09-17 23:57:00 -05:00
Germán Carrillo
e855941a34 [core] Introduce QgsStackedDiagramRenderer for rendering stacked diagrams. This allows subdiagrams to define their own sizes and legends; add tests for a stacked diagram composed of mixed renderers (single category and linearly interpolated categories), as well as nested stacked diagrams. 2024-09-17 23:56:31 -05:00
Germán Carrillo
d12d661a4e [gui] Write/read stacked diagram state to/from XML (QGIS project) 2024-09-17 23:56:31 -05:00
Germán Carrillo
614ce76156 [gui] Introduce StackedDiagramProperties and use it as dialog and as vector properties page. For the moment, it works with single diagrams, hiding controls for stacked diagrams 2024-09-17 23:56:22 -05:00
Germán Carrillo
2d7b81c3c9 Adjust documentation links 2024-09-17 23:55:37 -05:00
Germán Carrillo
4432797778 Const method; improve new QgsStackedDiagram's docs 2024-09-17 23:55:37 -05:00
Germán Carrillo
75483703cf Introduce QgsStackedDiagram to create compound diagrams like population pyramids. Use Stacked as internal name for stacked diagrams and StackedBar for stacked bar diagrams. Add subDiagram parameter to QgsDiagramRenderer::diagramSize() and QgsDiagramRenderer::diagramSettings() (single and interpolated) to get subdiagrams info. 2024-09-17 23:55:33 -05:00
Nyall Dawson
cc6b83449d Add some missing class docstrings 2024-08-16 07:28:29 +10:00
Nyall Dawson
3a578d6712 Header update 2024-08-13 20:28:55 +10:00
Nyall Dawson
be8dce7d0d Valid improvements from new sipify 2024-08-13 20:28:55 +10:00
Nyall Dawson
6f652d251b Drop no-value copy constructor dox 2024-07-25 04:02:55 +10:00
Nyall Dawson
28943f9c1b Remove a bunch of useless default constructor doxygen 2024-07-23 02:08:28 +10:00
Even Rouault
15ea5c46bc
Header files: remove all mentions of '\since QGIS 3.0' 2024-02-18 20:57:23 +01:00
Even Rouault
02caeb9db7
Header files: remove all mentions of '\since QGIS 2.' 2024-02-18 20:46:01 +01: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
23f3af4290 Use enum classes for QgsProperty property keys
Should fix usage on Qt 6 builds
2024-01-31 13:48:49 +10:00
Nyall Dawson
f9c3da1e06 Move unit enums to Qgis, promote to enum class 2023-02-19 13:29:06 +10:00
Juergen E. Fischer
c6008b7ee1 fix MSVC build: reverts fee62e4, dff05dd and e3a77b9484c effectivly
reverting 3fb0f66 (followup #45348)

Using --no-public-is-protected (default on Windows) also works on Linux
and fixes #45331 too
2021-10-21 23:03:48 +02:00
nirvn
ef84e48a09 Run sipify_all.sh 2021-10-12 16:34:05 +10:00
Denis Rouzaud
ec16736306 run sipify 2021-10-12 16:34:05 +10:00
Sandro Mani
6fd34ca92b Add sip5/sip6 sip-build support 2021-09-24 08:56:40 +10:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Nyall Dawson
50b9beaad6 [sipify] Catch more class references and insert :py:class: annotations 2021-01-31 05:41:22 +10:00
Even Rouault
a76670e521 QStringLiteral -> QLatin1String changes generated by scripts/qstringfixup.sh --all 2020-10-11 12:30:58 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
e8ec0042f4 [FEATURE][diagrams] Paint effect support for diagram renderer
Allows for diagrams to use paint effects, including drop shadows,
outer glows, etc...

Sponsored by SLYR
2019-11-25 06:20:43 +10:00
Nyall Dawson
9a23e1b209 [FEATURE][diagrams] Add option to show diagram axis for histogram diagram symbols
Where the axis line symbol can be set using a standard QGIS line symbol.

Sponsored by SLYR
2019-11-23 18:06:18 +10:00
Nyall Dawson
249d38a522 Add read/write context to diagram serialization 2019-11-23 18:06:18 +10:00
Nyall Dawson
baf38199e0 [FEATURE][diagrams] Add option to control pie diagram angular direction
I.e. control whether the sections are rendered in a clockwise or
anticlockwise direction

Sponsored by SLYR
2019-11-22 09:01:49 +10:00
Nyall Dawson
49dcc2c253 [FEATURE] Add spacing option for vector layer bar chart diagrams
Allows for user-controlled spacing between each bar in the chart.

Sponsored by SLYR
2019-11-21 15:21:44 +10:00
Nyall Dawson
107b48a430 Add NULLPTR macro for use in doxygen comments
For the c++ api dox this expands to "\c nullptr" (the
\c directive indicates a code literal value), and for sipify/Python
it expands to ``None`` (`` is sphinx annotation for literal values)

Makes for nicer dox for both c++ and Python!
2019-02-27 09:41:11 +10:00
Nyall Dawson
a7ca08784c Nullptr consistency in dox 2019-02-27 09:41:11 +10:00
Nyall Dawson
b6d66becab Sipify 2019-02-27 09:41:11 +10:00
Nyall Dawson
eafedeeb8b Sipify 2019-01-21 14:48:19 +11:00
Denis Rouzaud
65bb60e96c run sipify 2018-05-28 10:39:34 -08:00
Nyall Dawson
f8bc97030b Remove extra space added before first line of docstring 2018-05-28 08:22:11 +10:00
Nyall Dawson
2cb8a33884 Fix broken see also links 2018-05-25 11:16:18 +10:00
Denis Rouzaud
7df2593caf move auto generated sip file in dedicated folder 2018-05-14 10:23:37 -04:00