65 Commits

Author SHA1 Message Date
Nyall Dawson
867e39947b Allow for exact calculation of symbol sizes with mixed layer units
Fixes #21143
2019-02-05 11:07:02 +11:00
Mathieu Pellerin
8ac762e5e1
[ui] Fix tiny vertex marker on hidpi 2019-02-04 16:43:04 +07:00
Nyall Dawson
4022c5fc38 Make QgsSymbolLayerUtils::symbolPreview* methods const, and utilise
internal symbol clones

Rendering symbols is a NON-CONST operation, which can permanently
alter the symbol instance (e.g. via changes made by the symbol
or symbol layer's startRender methods.).

This makes debugging super complex - because methods which look
like they are just generating previews of symbols can actually
change the original symbol instances, resulting in permanent changes
to a layer's style.

Refs #19910 (specifically, me pulling my hair out trying to deduce
seemingly random changes to layer's symbols)
2019-01-25 23:27:52 +11:00
Nyall Dawson
9cf2ff31d8 Fix evaluation of data defined properties for subsymbols of subsymbols
Fixes #18384
2019-01-23 03:36:41 +11:00
Nyall Dawson
eafedeeb8b Sipify 2019-01-21 14:48:19 +11:00
Nyall Dawson
2aab28380c [browser] Don't show gdal/ogr layer items for QGIS style xml files
These aren't layers, so the extra entries are just distracting noise.
2019-01-16 12:10:25 +11:00
Nyall Dawson
63204cfdb5 Fix travis 2019-01-08 11:10:40 +10:00
Nyall Dawson
224df0a273 Add missing documentation for QgsCategorizedRenderer 2019-01-08 11:10:40 +10:00
Nyall Dawson
d32714c899 [API] Allow categorized renderer category values to be lists of values
When a category is a list of values, that category will apply to
any of the values from the list
2019-01-08 11:10:40 +10:00
Nyall Dawson
74b96ce955 Dox++ 2019-01-08 11:10:40 +10:00
Matthias Kuhn
8b6eaeab52
Bindings for QgsCategorizedSymbolRenderer::createCategories
also contains some code modernization
2018-12-10 10:16:00 +01:00
nirvn
c6425338ee [FEATURE] Raster image marker 2018-12-05 15:44:44 +07:00
Nyall Dawson
cdba8f5621 Use QgsAbstractContentCache base class for QgsSvgCache 2018-12-05 11:14:13 +07:00
Juergen E. Fischer
60ea432cbc fix windows build (partly reverts 1a199d095) 2018-11-27 23:16:03 +01:00
Nyall Dawson
6cc41a9474 Remove an incorrect /Transfer/ annotation, add a missing /Transfer/ annotation 2018-11-27 19:07:06 +10:00
Nyall Dawson
30214538c2 [FEATURE] Add option to simple line and marker line to only
render exterior ring or interior rings

This option is shown whenever a simple line symbol or
marker line symbol is used as part of a fill symbol for
rendering polygons.

The default behavior is to render both interior and exterior
rings, but this new setting allows users to set the symbol
layer to render only for the exterior ring OR only
for interior rings.

This allows for symbolisation which wasn't directly possible
before, such as a marker line with markers for interior
rings angled toward the interior of the polygon.

Sponsored by the German QGIS User Group

Fixes #12652
2018-11-09 19:06:48 +10:00
Nyall Dawson
a947bb3b9b Dox++ 2018-11-09 19:06:48 +10:00
Nyall Dawson
73d0ced5df [FEATURE] Add option to force right-hand-rule during polygon symbol rendering
This new option, available under the "Advanced" button for fill symbols,
allows forcing rendered polygons to follow the standard "right hand
rule" for ring orientation (where exterior ring is clockwise, and
interior rings are all counter-clockwise).

The orientation fix is applied while rendering only, and the original
feature geometry is unchanged.

This allows for creation of fill symbols with consistent appearance,
regardless of the dataset being rendered and the ring orientation
of individual features.

Refs #12652
2018-11-09 19:06:48 +10:00
Nyall Dawson
a1a35e91cc Dox++ 2018-10-15 11:47:01 +10:00
Nyall Dawson
f07462b69a Spelling 2018-10-15 11:47:01 +10:00
Nyall Dawson
8f6ee1c40d Dox 2018-10-15 11:47:01 +10:00
Denis Rouzaud
ef1efebda4 forward declaration of QgsPoint 2018-10-09 11:48:33 -08:00
Nyall Dawson
76190d594a Remove useless member variable 2018-10-02 10:49:41 +10:00
Nyall Dawson
b5476ef5d4 Fix clang warnings, scale truncation to int 2018-10-01 16:07:40 +10:00
Nyall Dawson
3ecb1548fb Add missing fox for QgsFontMarkerSymbolLayer, improve existing dox 2018-10-01 10:55:09 +10:00
Nyall Dawson
81487f9f18 Proxy filterNeedsGeometry for inverted/displacement renderers 2018-09-25 05:21:35 +10:00
Nyall Dawson
b5867bff58 Fix legend count is 0 if graduated/categorized expression uses geometry
Likely fixes many other bugs too with graduated/categorized renderers

Fixes #15544
2018-09-25 05:21:35 +10:00
Nyall Dawson
8f90791bef Mark some API as non-stable, hide from Python bindings 2018-09-14 16:36:11 +10:00
pierreloicq
e73f74063e sip, doc, bad keywords 2018-09-14 16:36:11 +10:00
pierreloicq
cb382ededd sipification problem and unit test attempt 2018-09-14 16:36:11 +10:00
pierreloicq
6443df6558 Nyall's comments 2018-09-14 16:36:11 +10:00
pierreloicq
40ae95315f sipification 2018-09-14 16:36:11 +10:00
pierreloicq
6fb41785c9 delete .sip 2018-09-14 16:36:11 +10:00
pierreloicq
4aabb09f28 generation of sip files in auto_generated/ 2018-09-14 16:36:11 +10:00
pierreloicq
fe049d372c classify symmetric squashed (17 commits) to rebase easily on master; 13 may 2018 2018-09-14 16:36:11 +10:00
Nyall Dawson
26885e52b5 Cache icons in style model for efficiency 2018-09-14 09:19:32 +10:00
Nyall Dawson
940624705b Add explicit API call for style model icon sizes 2018-09-14 09:19:32 +10:00
Nyall Dawson
95d65ae861 Add python safe addSmartgroup method, unit tests for smart groups 2018-09-12 16:22:44 +10:00
Nyall Dawson
c41af120a0 Remove addSmartGroup from Python bindings -- it causes a crash in sip
and CANNOT be made functional
2018-09-12 16:22:44 +10:00
Nyall Dawson
c5ab5891e0 Add a QAbstractItemModel for showing the entities within a QgsStyle object
- also adds QgsStyleProxyModel which handles filtering of entities
- lots of unit tests
- new signals in QgsStyle for when symbols/tags/etc change (with tests)
2018-09-12 16:22:44 +10:00
Nyall Dawson
f598e2d527 Typo 2018-09-11 06:01:06 +10:00
Nyall Dawson
97a964af4a Add method QgsCategorizedSymbolRenderer::matchToSymbols which
matches existing categories to symbol names from a QgsStyle
object and copies matching symbols to these categories
2018-09-11 06:01:06 +10:00
Nyall Dawson
c3fd631776 Fix dox 2018-08-31 13:50:13 +10:00
Nyall Dawson
5e1d1a4c8c Deprecate vector layer setter/getter within QgsSymbol
It's not used, and potentially very dangerous
2018-08-31 13:50:13 +10:00
Nyall Dawson
e63fedfa36 Improve/extend QgsSymbol docs 2018-08-31 13:50:13 +10:00
Even Rouault
370bac9935
Merge pull request #7152 from rouault/fix_memleaks_qgsstyle
Fix various memleaks in QgsStyle
2018-06-05 17:03:55 +02:00
Nyall Dawson
2ed144ac59 Apply clang-tidy readability-avoid-const-params-in-decls fixit
Checks whether a function declaration has parameters that are
top level const.

const values in declarations do not affect the signature of a
function, so they should not be put there.
2018-06-05 10:19:13 +10:00
Even Rouault
0304ec49b6
qgsstyle.cpp: change protected to private 2018-06-04 14:13:15 +02:00
Even Rouault
b21701b5d7
Add QgsStyle::cleanDefaultStyle() and use it in QgsApplication::exitQgis() 2018-06-03 21:15:22 +02:00
Even Rouault
8aeb2f6d14
qgsstyle.cpp: avoid minor memleaks in use of sqlite3_mprintf() 2018-06-03 21:01:19 +02:00