1968 Commits

Author SHA1 Message Date
Nyall Dawson
9e1a2359ba Fix doxygen warning 2016-01-27 14:38:05 +11:00
Nyall Dawson
fe95e4eeea Show variables from symbol scope in symbol layer widget expression
builders. (This lets users know they are available).

Also swap some variable names to static strings for speed.
2016-01-27 13:58:32 +11:00
Nyall Dawson
39f0035246 Improve preview of current variable value in expression builder 2016-01-27 11:36:56 +11:00
Nyall Dawson
3744ac2fc4 Fix categorised renderer does not store changes to the source symbol
Avoids the frustrating situation where changes to a symbol in the
categorised renderer are lost when the layer properties window
is reopened

Also improve docs and fix a leak in the Python bindings
2016-01-27 09:58:47 +11:00
Nyall Dawson
24d9c65494 Fix more classes which violate the rule-of-three
Also remove some empty destructors
2016-01-26 14:24:45 +11:00
Martin Dobias
492c1a9ff0 Improve documentation for renderer registry metadata (refs #13973) 2016-01-25 18:16:32 +01:00
Martin Dobias
83eed1109c Improve renderer class documentation (refs #14025) 2016-01-25 18:16:32 +01:00
Matthias Kuhn
b5ee06dc28 Merge pull request #2702 from alexbruy/styles-bindings
fix SIP bindings for listStylesInDatabase() method (fix #11210)
2016-01-25 17:39:20 +01: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
ae52aabd70 more spelling fixes 2016-01-24 20:16:28 +01:00
Nyall Dawson
8ad6ca08fe Fix some memory leaks identified by Coverity
Also improve the API for QgsExpressionContextUtils::updateSymbolScope
Previously it was hard to predict if the method would create storage,
which caused issues for the python bindings (eg, they had a choice of
either leaking or being crashy).
2016-01-24 15:17:17 +11:00
Nyall Dawson
752f6bd150 Fix classes which violate rule of three, by implementing required
copy/= operators or making them private

This revealed (and fixes) some issues, including a potential crash
using server access control (refs #13919), and a potential crash with
diagrams
2016-01-22 18:45:45 +11:00
Matthias Kuhn
8d72f13a57 [25d] Improve convertability to other layers
* Move height and angle expressions for 2.5D renderer to layer
 * Apply color based on main symbol color

This makes the transition to other renderers easy.

Fixes #14132
2016-01-21 22:37:51 +01:00
Nyall Dawson
c38ee41f5b Fix rendering of CurvePolygons without curved segments (fix #14028) 2016-01-21 21:44:40 +11:00
Juergen E. Fischer
00633811c9 spelling fixes 2016-01-21 10:42:25 +01:00
Matthias Kuhn
47549ebcba Merge pull request #2691 from m-kuhn/fixrulebased
Also render all parent features on refined rules
2016-01-20 17:21:05 +01:00
Alexander Bruy
fe2503dab3 fix SIP bindings for listStylesInDatabase() method (fix #11210) 2016-01-20 14:36:20 +02:00
Martin Dobias
9fda6aaf53 [tracing] fix the case when OTF reprojection is disabled 2016-01-20 09:44:24 +01:00
Nyall Dawson
60816af372 Correctly mark some raster classes copy/assignment as private
As they haven't been properly implemented yet and the classes
violate the rule of three
2016-01-20 17:06:04 +11:00
mhugent
f4bdaad59f Merge pull request #2666 from mhugent/symbology_brush_transform
Symbology brush transform
2016-01-19 16:19:09 +01:00
Marco Hugentobler
aa3e550a2f Revert "Revert sipfile changes"
This reverts commit f7284651218c7ebb0eb043e98f648ee04be42f83.
2016-01-19 14:43:45 +01:00
Matthias Kuhn
3529433729 Fix memory leak in rulebased renderer sip bindings 2016-01-19 00:23:13 +01:00
Matthias Kuhn
433e3b8a37 Fix layer saving in transaction groups 2016-01-18 13:11:43 +01:00
Matthias Kuhn
b66e50bf7b Fix build warnings 2016-01-18 10:40:06 +01:00
Marco Hugentobler
f728465121 Revert sipfile changes 2016-01-18 09:14:01 +01:00
Denis Rouzaud
a1705ad652 order include in sip files 2016-01-15 15:28:03 +01:00
Marco Hugentobler
a47ae27859 Sip file test 2016-01-15 14:44:54 +01:00
Matthias Kuhn
0c02f1812e [FEATURE] Add 2.5D Renderer
This adds a configuration interface and renderer that makes it easy to
put all the pieces together which are required to get a 2.5D effect.

It allow for configuring some of the styling and is meant to create an
easy-to-use setup.

Since every part of the system is built around QGIS' internal rendering
and symbology engine, there is much to fine tune. To get all the
possibilities, just change the renderer to a graduated, categorized or
single symbol renderer upon creation and you will find full access to
improve the style to your needs.

Funded by
 * Regional Council of Picardy
 * ADUGA
 * Ville de Nyon
 * Wetu GIT cc
2016-01-15 12:37:50 +01:00
Matthias Kuhn
e1adc6379f Merge pull request #2678 from m-kuhn/transaction-group
[FEATURE] Autotransaction mode and transaction groups
2016-01-15 12:25:11 +01:00
Matthias Kuhn
9b51007071 Add transaction groups 2016-01-15 12:18:44 +01:00
Juergen E. Fischer
ad1fd2a922 [API] Introduce optional QgsVectorDataProvider::ChangeFeatures
capability and changeFeaturss method to allows joint geometry and
attribute updates.

Currently only implemented in the postgres provider
2016-01-15 10:12:07 +01:00
Marco Hugentobler
7be304c34c Disable unit tests and add enum value to sip 2016-01-15 09:29:26 +01:00
Nyall Dawson
91f3005f80 [FEATURE] Expression variables relating to QGIS environment
New variables for:
- @qgis_os_name: eg 'linux','windows' or 'osx'
- @qgis_platform: eg 'desktop' or 'server'
- @user_account_name: current user's operating system account name
- @user_full_name: current user's name from os account (if available)

Sponsored by Andreas Neumann
2016-01-15 18:14:23 +11:00
Larry Shaffer
5f3ca88a84 Merge pull request #2674 from boundlessgeo/postgis-pki-pr
[FEATURE] Postgres provider PKI authentication (plus fixes #13841)
2016-01-14 23:43:52 -07:00
Nyall Dawson
275eb9463d [FEATURE] Add closest_point and shortest_line expression functions
closest_point: returns closest point a geometry to a second geometry
shortest_line: returns the shortest possible line joining two
geometries
2016-01-15 12:50:17 +11:00
Nyall Dawson
c0f4fb1466 Followup e48d8b, fix typo 2016-01-15 08:34:42 +11:00
Marco Hugentobler
193e9d7818 Update sip files 2016-01-14 13:46:13 +01:00
Matthias Kuhn
542541007c Add extrude function to QgsGeometry 2016-01-14 12:28:31 +01:00
Juergen E. Fischer
f8f25289d3 spelling fixes 2016-01-14 11:04:44 +01:00
Larry Shaffer
d5bf1045f3 [auth] Ensure ident cert cache is used; move temp file creation to utils 2016-01-13 21:29:10 +01:00
Martin Dobias
b83f6e359a Merge pull request #2665 from wonder-sk/auto-trace
[FEATURE] Tracing of features (digitizing)

Tracing can be now used in various capturing map tools (add feature, add part, ...) including reshape and split tools.

Tracing is simply a new mode for these tools - when tracing is not enabled, the tools work as usual. When tracing is enabled (by clicking the new magnet icon or pressing T key), tools switch to tracing behavior:
- first click on a vertex/edge (must be snapped!) will start tracing - moving mouse on top of the map continuously updates the trace
- next click will confirm the trace and mark start of a new trace Tracing can be enabled/disabled anytime even while digitizing one feature, so it is possible to digitize some parts of the feature with tracing enabled and other parts with tracing disabled.

Tracing respects snapping configuration for the list of traceable layers.

If there are too many features in map display, tracing is disabled to avoid potentially long tracing structure preparation and large memory overhead. After zooming in or disabling some layers the tracing is enabled again.

Internally, things work like this:
- when tracing is requested, linestrings are extracted from vector layers, then noded (using GEOSNode to resolve all intersections) and finally a simple planar graph is built (vertices + edges)
- when tracing, endpoints are temporarily added to the graph (if not equal to one of existing vertices already) and Dijkstra's algorithm is run to get shortest path

Original specs for the curious ones (the interaction with QGIS is slightly improved from what has been specified): http://www.lutraconsulting.co.uk/crowdfunding/autotrace-phase-2/specification.pdf
2016-01-13 12:18:00 +01:00
Matthias Kuhn
4e9afcec4c Expression variable for the currently rendered part
During rendering, two new variables will be available:

  * `geometry_part_count`
  * `geometry_part_num` (1-based index)

Useful to apply different styles to different parts of multipart
features
2016-01-13 08:17:49 +01:00
Nyall Dawson
9dccce87ee Followup 3a1d47
- Fix dialog tab order
- Avoid use of hardcoded enum int conversion
- Remove some unneeded implicit casts
- Doc tweaks
2016-01-13 09:38:18 +11:00
Matthias Kuhn
e351d24a7d More types support for QgsVectorFileWriter 2016-01-12 12:58:47 +01:00
Nyall Dawson
8779091225 Fix failing tests 2016-01-12 08:24:56 +11:00
Nyall Dawson
8b28c040d1 [FEATURE] Add mode to apply label distance from symbol bounds
(only works with Cartographic point label placement). When this
setting is active, the label distance applies from the bounds
of the rendered symbol for a point, instead of the point itself.
It's especially useful when the symbol size isn't fixed, eg if
it's set by a data defined size or when using different symbols
in a categorised renderer.

Sponsored by Andreas Neumann
2016-01-12 08:24:39 +11:00
Nyall Dawson
6499439cc5 Fix failing tests, add tests for ordered placement
Sponsored by Andreas Neumann
2016-01-12 08:24:38 +11:00
Martin Dobias
3883a2e5fc [tracer] added docs and sip files 2016-01-11 20:57:28 +01:00
Hugo Mercier
70f26b66be Merge pull request #2647 from mhugo/vlayer_gui
Virtual layers GUI integration
2016-01-11 12:17:50 +01:00
Radim Blazek
689be029d4 missing sip 2016-01-09 16:33:56 +01:00