40 Commits

Author SHA1 Message Date
Nyall Dawson
f9559003d4 Really fix #13545
I'm not sure what sip voodoo is preventing the bindings from
calling methods in the base class, so for QGIS <3.0 I've aliased
all the new signatures and will rename them back for 3.0
2015-10-12 21:56:30 +11:00
Nyall Dawson
3520f038dd Fix missing sip bindings for renderers (fix #13545) 2015-10-08 23:47:51 +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
d7ab102daf Fix some leaks in symbology widgets 2015-09-01 16:06:35 +10:00
Nyall Dawson
57669e71c0 Make QgsRenderContext available to more renderer methods 2015-08-22 19:01:38 +10:00
Matthias Kuhn
1e6483c6d1 Fix marker rotation
The rotation is no longer saved in the Qgs*SymbolRendererV2 but in the
QgsMarkerSymbolV2 in a QgsDataDefined. This commit fixes the legacy API and
redirects calls to the new API.
2015-08-07 08:47:52 +10:00
Matthias Kuhn
e984fb00fd Remove QgsRenderOptions, return filter in separate method 2015-07-29 12:09:44 +02:00
Matthias Kuhn
b47b9a54b7 Add return type QgsRenderOptions to QgsRendererV2::startRender
This allows to specify additional filter constraints for the feature request to
be specified.
2015-07-29 12:08:54 +02:00
Nyall Dawson
604f7e5011 Add methods to test whether graduated ranges overlap or have gaps 2015-06-12 20:19:43 +10:00
Juergen E. Fischer
edeafa95ac indentation and minor sip updates 2015-05-03 17:10:32 +02:00
Nyall Dawson
bb0e583f4b Move methods for returning lists of values from a vector layer field
or expression to QgsVectorLayer. Add unit tests.
2015-05-02 20:32:16 +10:00
vmora
84af60ad56 [feature] graduated with varying size
The graduated symbol renderer now allows to use varying size instead of
varying color.

The classification remains the same an tabbed size/color in the gui
allows the use to choose one type or the other.
2015-04-10 09:14:14 +02:00
Juergen E. Fischer
9ceb5ceab6 sip sync 2014-11-21 01:17:21 +01:00
Chris Crook
823b57e360 Fix for bug 11366 2014-10-09 09:37:19 +13:00
Chris Crook
6c2c6e2b6b Two bug fixes for graduated renderer 2014-10-06 07:41:54 +13:00
Chris Crook
ba0f9d40c9 Reverting to preferred QgsRenderRangeV2LabelFormat 2014-10-03 18:09:23 +13:00
Chris Crook
0d1f719652 Adding missing elements from SIP 2014-10-03 06:14:38 +13:00
Chris Crook
a5f0de9dd7 API fixes to use Legend instead of Label where it makes more sense 2014-10-01 12:47:01 +13:00
Chris Crook
21ddf1294d Changing decimal places to precision, allowing negative precision, improving rounding for locales with , instead of . for decimal point 2014-10-01 09:41:07 +13:00
Nathan Woodrow
fcfafa0a51 Use a single format string using Qt format for renderer label 2014-09-28 17:24:10 +10:00
Nathan Woodrow
0c6576c423 Merge pull request #1587 from ccrook/CategorizedRendererUpdate
Categorized and graduated renderer enhancements
2014-09-26 20:23:03 +10:00
Chris Crook
25a7be2966 Modified labelling to include prefix, separator, suffix. 2014-09-26 14:47:46 +12:00
Martin Dobias
e37a5ad8df [FEATURE] Legend filtering based on map content (in main window, composer, WMS)
There is new "filter" button in layers panel that toggles this functionality
and in composer legend widget.

Related feature is that layer tree now shows symbols in map units with correct size
(even when filtering is not enabled) so as the map view changes the legend node icons
are updated too (if they use map units).

GetLegendGraphics in WMS server
-------------------------------

This is an extension of standard GetLegendGraphics request according to MapServer RFC 101.
See the document for more details: http://mapserver.org/development/rfc/ms-rfc-101.html

In summary, clients need to add BBOX and CRS/SRS parameters to get appropriate legend based on the given map view.
Parameters WIDTH and HEIGHT are also taken into account as they specify map view image size for correct calculation
of size of legend symbols (if they are based on map units).

--

This software has been commissioned by Tuscany Region (Italy),
co-funded by the European Commission and developed under the project LIFE12 ENV/IT/001054 LIFE + IMAGINE.
The software has been realized by Gis3W s.a.s.

Questo software è stato commissionato da Regione Toscana (Italia),
cofinanziato dalla Commissione Europea e sviluppato nell'ambito del progetto LIFE12 ENV/IT/001054 LIFE + IMAGINE.
Il software è stato realizzato da Gis3W s.a.s.
2014-09-25 12:56:37 +02:00
Chris Crook
a5911e78b7 Implementation of graduated renderer breakpoint editor, minus SIP for editor 2014-09-24 20:46:06 +12:00
Chris Crook
2f706bc47a Refactoring ready for manual update dialog. Also improves labelling of StdDev classifications and better determination of decimal places to use 2014-09-24 10:50:54 +12:00
Chris Crook
abd9e3cd21 Numerous enhancements to graduated and categorized symbol renderers 2014-09-20 18:30:12 +12:00
Leyan
9931dde90a refactor to a more general convertFromRenderer function 2014-09-09 19:55:21 +08:00
Leyan
11d159cd85 Add factory annotation and use clone for rule based renderer 2014-09-09 19:47:28 +08:00
Leyan
45dfd53b4a add sip 2014-09-09 19:47:28 +08:00
Martin Dobias
cf955822a6 Identify renderer's categories/rules by key instead of index 2014-09-01 10:10:35 +07:00
Nathan Woodrow
d4b8c407ce Add render state support for graduated renderer
Add check state role for graduated renderer

Sync sip bindings
2014-07-06 21:14:42 +10:00
Juergen E. Fischer
c4c131ef75 sip sync 2014-05-27 23:32:42 +02:00
Martin Dobias
a3af93394e Merge branch 'master' into threading-revival
Some features are still disabled - will be fixed later

Conflicts:
	python/core/composer/qgscomposition.sip
	python/core/diagram/qgsdiagram.sip
	python/core/diagram/qgshistogramdiagram.sip
	python/core/diagram/qgspiediagram.sip
	python/core/diagram/qgstextdiagram.sip
	python/core/qgsdiagramrendererv2.sip
	python/core/qgsfield.sip
	python/core/qgslabelsearchtree.sip
	python/core/qgsmaprenderer.sip
	python/core/qgsrenderchecker.sip
	python/core/symbology-ng/qgssymbollayerv2.sip
	python/gui/qgsmapcanvas.sip
	src/app/composer/qgscomposerlegendwidget.cpp
	src/app/qgisapp.cpp
	src/core/composer/qgsatlascomposition.cpp
	src/core/composer/qgscomposerattributetable.cpp
	src/core/composer/qgscomposermap.cpp
	src/core/composer/qgscomposition.cpp
	src/core/composer/qgscomposition.h
	src/core/diagram/qgsdiagram.h
	src/core/diagram/qgshistogramdiagram.cpp
	src/core/diagram/qgshistogramdiagram.h
	src/core/diagram/qgspiediagram.cpp
	src/core/diagram/qgspiediagram.h
	src/core/diagram/qgstextdiagram.cpp
	src/core/diagram/qgstextdiagram.h
	src/core/qgsdiagramrendererv2.cpp
	src/core/qgsdiagramrendererv2.h
	src/core/qgsmaprenderer.cpp
	src/core/qgsmaprenderer.h
	src/core/qgsnetworkaccessmanager.h
	src/core/qgspallabeling.cpp
	src/core/qgsrenderchecker.h
	src/core/qgsvectorlayer.cpp
	src/core/qgsvectorlayer.h
	src/core/qgsvectorlayerfeatureiterator.cpp
	src/core/qgsvectorlayerfeatureiterator.h
	src/core/raster/qgsrasterlayer.cpp
	src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp
	src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp
	src/core/symbology-ng/qgsmarkersymbollayerv2.cpp
	src/core/symbology-ng/qgssinglesymbolrendererv2.cpp
	src/core/symbology-ng/qgssymbollayerv2.cpp
	src/core/symbology-ng/qgssymbollayerv2.h
	src/core/symbology-ng/qgssymbolv2.cpp
	src/gui/qgshighlight.cpp
	src/gui/qgsmapcanvas.cpp
	src/gui/qgsmapcanvas.h
	src/gui/qgsmapcanvasitem.cpp
	src/gui/qgsmaptoolidentify.cpp
	src/plugins/georeferencer/qgsgeorefplugingui.cpp
	src/providers/memory/qgsmemoryfeatureiterator.cpp
	src/providers/ogr/qgsogrfeatureiterator.cpp
	src/providers/ogr/qgsogrfeatureiterator.h
	src/providers/ogr/qgsogrprovider.cpp
	src/providers/oracle/qgsoraclefeatureiterator.cpp
	src/providers/oracle/qgsoracleprovider.cpp
	src/providers/postgres/qgspostgresconn.cpp
	src/providers/postgres/qgspostgresfeatureiterator.cpp
	src/providers/postgres/qgspostgresfeatureiterator.h
	src/providers/wfs/qgswfsfeatureiterator.cpp
	src/providers/wms/qgswmsprovider.cpp
	src/providers/wms/qgswmsprovider.h
	src/ui/qgsoptionsbase.ui
	tests/src/core/CMakeLists.txt
	tests/src/core/testqgscomposereffects.cpp
	tests/src/core/testqgscomposerhtml.cpp
	tests/src/core/testqgscomposerscalebar.cpp
	tests/src/core/testqgscomposershapes.cpp
2014-02-18 11:28:46 +07:00
Martin Dobias
e6c2ecd9f3 Fix #9290 (crashes in symbology on fields with special characters)
Fixes several crashes and problems with backwards compatibility.
Before expressions were allowed, field names were loaded and saved
unquoted, e.g. x.y  - with introduction of expressions it was
necessary to use properly quoted "x.y" name so that expression
is correctly parsed. With these changes both options are possible
and when possible, the unquoted field name is used for compatibility
2014-02-11 14:27:01 +07:00
Juergen E. Fischer
74e7314c36 update sip bindings II 2014-01-27 09:22:53 +01:00
vmora
7d404d97ca allow for expressions in symbol rotation and scale
the single, graduated and categorised symbol renderers have been
refactored to avoid use of raw pointers (auto_ptr are used instead, they
are deprecated in c++11 but the change for unique_ptr is an easy one and
they clearly state the design intend: exclusive ownership)

2 general use function to quote and unquote strings for/from xml have
been added to qgis.h
2014-01-14 17:25:00 +01:00
Martin Dobias
2bece090f5 Update Python bindings to match changes in core/gui libraries. 2013-12-05 18:27:45 +07:00
Juergen E. Fischer
cf22bcf383 symbology-ng: make dump() methods const 2013-07-22 21:42:44 +02:00
Juergen E. Fischer
3854086d47 sip update 2013-06-23 16:00:24 +02:00
Juergen E. Fischer
f3cb57b1eb SIP bindings update:
- update methods of existing classes
- add comment to methods missing in the sip bindings
- split up collective sip files into single files and use
  same directory structure in python/ as in src/
- add a lot of missing classes (some might not make sense because of
  missing python methods in those classes)
- remove some non-existing methods from the header files
- add scripts/sipdiff
- replace some usages of std::vector and std::set with QVector/QSet
2012-09-24 02:42:57 +02:00