68 Commits

Author SHA1 Message Date
Nyall Dawson
a87d352bd7 Run clang-tidy modernize-use-default-member-init to move member
initialization to headers (c++11 style)
2017-09-27 05:02:34 +10:00
Nyall Dawson
31c1ae1c6a Add missing QStringLiterals 2017-09-25 17:12:03 +10:00
Martin Dobias
415d3e90a6 Use bold font in tests + fix a unit test 2017-06-21 14:54:52 +02:00
Martin Dobias
c9c42169ce Added unit tests 2017-06-19 16:37:00 +02:00
Martin Dobias
517fefe02a GUI for configuration of size-based legend for diagrams 2017-06-19 13:16:54 +02:00
Matthias Kuhn
a9d7630a69 Rename QgsPointV2 to QgsPoint and QgsPoint to QgsPointXY
Because 3D coordinates should be the default.

References https://github.com/qgis/qgis3.0_api/issues/36
2017-06-02 19:53:37 +02:00
Matthias Kuhn
f33aabd90a Completely move layer order to core 2017-03-23 15:29:12 +01:00
Juergen E. Fischer
b9162dccdf scripts/astyle-all.sh run 2017-03-03 15:37:12 +01:00
Nyall Dawson
47683fca4f [needs-docs] Rename Outline and Border -> Stroke
This change is being driven by:

- need for consistent terminology in the api. Currently there's
a confusing mix of border/outline used
- need for consistent terminology in the gui - we have a mix
of "border"/"outline"/"pen"
- bringing QGIS into line with the standard terminology used
in other graphic editing programs
2017-02-22 19:22:45 +10:00
Nyall Dawson
d19e70700f Ensure all pointer variables are initialized to nullptr 2017-02-18 20:23:18 +10:00
Nyall Dawson
a80258f82e Fix some leaks in test suite 2017-02-08 13:16:39 +10:00
Nyall Dawson
b5480633e4 Standardise names for static variables
All non-const variables are prefixed with "s", all const
statics are ALL_CAPS
2017-01-14 16:40:24 +10:00
Nyall Dawson
0ce30217f1 Implement some QGIS 3 TODOs for diagram API 2017-01-04 18:17:22 +10:00
Matthias Kuhn
dfd9833467 Let all tests work with a proper QgsApplication instance 2016-12-20 01:20:08 +01:00
Mathieu Pellerin
a8b9723cbc [FEATURE] allow customization of line spacing for legend item labels (#3632)
* [FEATURE] allow customization of line spacing for legend item labels
* add test for legend line spacing and update control images
2016-12-13 12:09:13 +07:00
Martin Dobias
c783be1d04 Rename QgsComposerLegendStyle to QgsLegendStyle 2016-12-12 03:23:02 +08:00
Martin Dobias
3efc28d07b Remove legacy class QgsComposerLegendItem and subclasses 2016-12-12 02:42:04 +08:00
Martin Dobias
c143be7a73 QgsMapSettings and QgsComposerMap store layers for rendering as weak pointers
... instead of using layer IDs which need to be resolved using QgsProject
2016-12-10 18:50:52 +08:00
Martin Dobias
d56a97d4fe Merge QgsMapLayerRegistry into QgsProject
All methods/signals of QgsMapLayerRegistry moved verbatim to QgsProject.
2016-12-10 15:18:12 +08:00
Nyall Dawson
4166a3ea62 Fix most clazy qstring-unneeded-heap-allocations warnings
By flipping string literals to QStringLiteral/QLatin1String

see

https://woboq.com/blog/qstringliteral.html
2016-10-24 15:26:24 +10:00
nirvn
455874258c [legend] insure multi-line labels are vertically centered with tall symbols 2016-10-19 10:02:43 +07:00
Nyall Dawson
570e6936b6 Add a bunch of tests for legend grouping into columns 2016-09-10 14:42:33 +10:00
Juergen E. Fischer
3f22a7a77f another scripts/replacev2.sh with minor manual fixes 2016-08-10 12:12:28 +02:00
Juergen E. Fischer
39c4409c6a remove deprecated stuff from QgsVectorLayer and editor widgets 2016-08-10 12:12:28 +02:00
Juergen E. Fischer
0688621046 scripts/replacev2.sh run 2016-08-10 12:08:52 +02:00
Denis Rouzaud
bbb9b5322d remove QgsLegendModel 2016-08-05 20:53:58 +02:00
Nyall Dawson
4b78b1c208 Make all QgsGeometry methods return values, not pointers
Reduces likelihood of crashes and leaks
2016-08-01 22:41:55 +10:00
Nyall Dawson
aceddae65a QgsFeature cleanup, part 1
Deprecate some QgsFeature methods which take or return pointers,
update other classes as required
2016-07-31 21:23:07 +10:00
Nyall Dawson
ce6bd6c973 Move QgsSymbolV2::OutputUnit enum to QgsUnitTypes
And rename to QgsUnitTypes::RenderUnits. This enum is used in
much more contexts than just symbols, so QgsUnitTypes is a
better fit for it.

All methods which previously accepted QgsSymbolV2::OutputUnit
parameters or QgsSymbolV2::OutputUnitList parameters now take
QgsUnitTypes::RenderUnit or QgsUnitTypes::RenderUnitList
parameters respectively.
2016-07-25 15:22:12 +10:00
Nyall Dawson
ccebd83aa4 Standardise format of initializer lists 2016-05-03 09:38:04 +10:00
Nyall Dawson
efb84ea2fa [FEATURE][diagrams] Add optional legend entries for diagram sizes
A new "legend" tab has been added to diagram properties, allowing
both the existing attribute legend and a new size legend to be
enabled/disabled. The size legend has a configurable marker
symbol.

Also includes unit tests for both diagram attribute and size
legends.

Sponsored by ADUGA
2016-04-19 08:16:05 +10:00
Nyall Dawson
0c5fa81126 Fix huge legend item size when symbol uses map unit sizes (fix #13979)
Add unit test
2016-04-11 15:34:49 +10:00
Hugo Mercier
f9c736c9f8 Only filter legend nodes that are checked.
Keep unchecked legend items when filtered by expression
2016-03-14 14:17:43 +01:00
Nyall Dawson
c3ed6b9fa3 foreach -> Q_FOREACH 2016-02-02 20:00:26 +11:00
Nyall Dawson
c3a57434d9 Fix clazy 'pass small and trivially-copyable type by value' warnings 2016-02-02 19:47:21 +11:00
Nyall Dawson
39e1f68ccc Fix filtering legend content by map when renderer contains
duplicate symbols (fix #14131)

Now, we don't test for map content using the symbols but instead
use the legend key during the hit test
2016-01-25 14:43:54 +11:00
Juergen E. Fischer
4e1cf3c081 add missing copyright headers 2016-01-08 21:32:11 +01:00
Nyall Dawson
26dbb42a71 Resolve coverity issues 2015-11-09 09:00:22 +11:00
Juergen E. Fischer
e497e8b1c0 fix precise build 2015-11-04 08:30:27 +01:00
Hugo Mercier
d16cdcf449 Add more options for filtering legend elements
This introduces two new options to filter legend elements:
- filter by expression: a boolean expression can be set. Only symbols of
features that make the expression evaluated to true will be kept in the legend
- filter by polygon: only symbols of features that are inside the given
polygon will be part of the legend.

The polygon filtering is used in particular for a new option in the
composer legend that allows to filter out anything that is not included
in the current atlas polygon.
2015-11-03 10:39:09 +01:00
Nyall Dawson
b7e1cae4f0 Switch double quoted single character to single quotes for some
QString methods

Using single quotes is a significant performance boost. Rough
benchmarks indicate the QString single quote methods take
about 15% of the time the double quote variants take.
2015-11-02 17:55:08 +11:00
Nyall Dawson
9a94132fb4 Clazy issues:
- use at() instead of [] for temporary containers (at() returns
const reference, so it avoids the detach which occurs with [])
- use at( 0 ) rather than first() for containers, because first()
detaches (Qt5 introduced constFirst()/constLast() to overcome this)
2015-10-20 20:36:08 +11:00
Nyall Dawson
d1be2ff214 Fix hardcoded border for raster legend items (fix #13540)
Previously raster legend items always had a fixed black border.
Now there's options to change the color/width of this border or
disable it entirely.
2015-10-09 06:12:37 +11:00
Nyall Dawson
c49b5b777f Change a lot of arguments to const references in core/gui
Rationale:
- there was a lot of large objects passed by value, so potentially
there's a speed bump from this
- even for implicitly shared classes like QString/QList there's still
a (small) cost for copying the objects when there's no reason to
- it's the right thing to do!
2015-10-07 12:02:04 +11:00
Nyall Dawson
f628ebd423 Replace foreach with Q_FOREACH
For:
- consistency
- to make it immediately clear that this is a Qt macro and that it
works slightly differently to c++ for loops
2015-09-09 19:17:29 +10:00
Nyall Dawson
0c5475545f Cleanup control_images folder by grouping some tests in subfolders 2015-08-30 20:15:25 +10:00
Nyall Dawson
405688ea49 [tests] Add method for setting size tolerance to render checker,
add some size tolerance to legend renderer test
2015-07-10 16:52:52 +10:00
Juergen E. Fischer
12b7831175 remove unused iostream header 2015-07-05 16:51:29 +02:00
Juergen E. Fischer
f92d9c1176 but not with QString (followup 34c1c8d) 2015-07-03 12:30:19 +02:00
Juergen E. Fischer
34c1c8dc58 avoid auto 2015-07-03 11:53:17 +02:00