2174 Commits

Author SHA1 Message Date
Nyall Dawson
23daead08b Fix PyQgsVectorFileWriter test on Windows 2016-04-13 15:42:24 +10:00
Nyall Dawson
02e0e3f959 Fix other feature's geometries are shown instead of null geometry
in delimited text provider (fix #14666)

Add tests, also fix virtual layer, mssql and db2 providers which
suffered the same bug
2016-04-13 15:42:24 +10:00
Nyall Dawson
4bbe318c20 [symbology] Remove distorted star symbol 2016-04-12 12:12:57 +10:00
Nyall Dawson
ce2891b10e Fix missing map settings expression variables in composer maps
Missing map extent related variables were causing stacking order
issues with the 25d renderer (fix #14604)
2016-04-12 09:14:03 +10:00
Nyall Dawson
16d8da3886 Fix some providers did not respect layer's subset when calculating
min/max/uniqueValues

Providers included delimited text, memory, virtual layer, and WFS

Add unit test to provider test
2016-04-11 22:01:29 +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
Nyall Dawson
e21de0394d Add methods for retrieving and setting size units for QgsMarkerSymbolV2 2016-04-11 15:34:43 +10:00
Even Rouault
a72fcb8fe1 [WFS] Fix support of attribute names in upper-case
Bugfix of issue introduced in commit 9040ec1baf33e55a9ba5abcc4fa2ee18d54a4212

When doing the spatialite cache initialization with OGR, the attribute
names get 'laundered' in lower case, which makes their matching afterwards
fail. Fix this. And also handle the situation where an attribute would
be named 'geometry'
2016-04-10 00:30:35 +02:00
Nyall Dawson
156721b380 Use average mode for align raster downsample tests
GDAL 2.0 changed (fixed) the bilinear downsampling algorithm, so
switch to the average algorithm so that test results are the same
for GDAL versions >= 2.0 and < 2.0.
2016-04-09 09:48:47 +02:00
Matthias Kuhn
c825f46534 Writing shapefiles with Z dimensions is gdal version dependent 2016-04-09 09:48:46 +02:00
Matthias Kuhn
a6a77ee46b Remove remainders of buggy pg test 2016-04-07 22:51:43 +02:00
Matthias Kuhn
5cd2319c3f Also retrieve generated values for pktInt 2016-04-07 21:26:43 +02:00
Matthias Kuhn
eecd77a324 Fix postgres unit test 2016-04-07 21:24:01 +02:00
Matthias Kuhn
e98e16f1b2 Unit test for 4ec97c33 2016-04-07 15:59:22 +02:00
Jürgen Fischer
19b91032bd Merge pull request #2977 from rouault/wfs
First part of QEP 35: WFS provider enhancements
2016-04-07 10:18:22 +02:00
Nyall Dawson
99980bea0c Fix windows build 2016-04-07 09:14:16 +10:00
Nyall Dawson
3ba3986ae2 Fix calculation of diagram size in map units when using scale limits 2016-04-06 22:27:07 +10:00
Nyall Dawson
4c704be606 Add geometry methods for calculating the distance to a specified
vertex from the start of the geometry
2016-04-06 20:55:26 +10:00
Nyall Dawson
d464f86290 [FEATURE] Null ("No symbol") renderer
Using this renderer no symbol will be drawn for features, but labeling,
diagrams and other non-symbol parts will still be shown.

Selections can still be made on the layer in the canvas and selected
features will be rendered with a default symbol. Features being edited
will also be shown.

This is intended as a handy shortcut for layers which you only want
to show labels or diagrams for, and avoids the need to render
symbols with totally transparent fill/border to achieve this.

(fix #12131)
2016-04-06 20:55:26 +10:00
Nyall Dawson
86ec27e08e Use real values when interpolating color components in gradients 2016-04-06 20:55:26 +10:00
Nyall Dawson
fd7a4bd900 [FEATURE] New project(point, distance, bearing) expression function
Projects a point geometry by the specified distance and bearing
2016-04-06 20:55:26 +10:00
Nyall Dawson
2e44c11914 Some QgsPoint improvements
- Modernize QgsVector, improve docs, add some methods missing from
Python bindings
- Add method to QgsPoint to project a point by a specified distance
and bearing
- Add distance methods to complement existing sqrDist squared distance
methods
- Rename QgsVector::normal to normalized (avoid confusion with normal
vectors)
- Add more QgsPoint operators
- Add some more QgsPoint and QgsVector tests
2016-04-06 20:55:26 +10:00
Nyall Dawson
5247673cda Add some provider tests for empty rectangles 2016-04-06 20:55:26 +10:00
Even Rouault
9040ec1baf [FEATURE] [WFS provider] Major overhaul to add WFS 1.1 and 2.0 support
First part of https://github.com/qgis/QGIS-Enhancement-Proposals/issues/53
(QEP 35: WFS provider enhancements)

Improvements:
- Version autodetection
- On-disk caching of downloaded features
- Background download and progressive rendering
- WFS 1.1 and 2.0 support
- WFS 2.0 GetFeature paging
- Add provider tests

Fixes:
- #10106: Panning a non-cached WFS layer causes selection to change
- #9444: WFS client not requesting new features when not-cached
 #14156: WFS non cached: infinite flashing
- #9450 : New WFS connection option - Max number of features returned
- #14122: Implement WFS 2.0 client provider (partial. no joins or stored queries)

Not in scope: WFS-T 1.1 and 2.0. But WFS-T 1.0 kept (and tested)
2016-04-05 21:49:53 +02:00
Even Rouault
9fe6a9fe48 QgsOgcUtils: add support to generate WFS 1.1 and 2.0 filters
Fixes #14119: Ensure the OGC filter XML expression contains the GML namespace references
2016-04-05 21:49:45 +02:00
Even Rouault
57ae4fee25 QgsGML: expose lower level streaming parser, add handling of GML3
- Add a low-level QgsGmlStreamingParser class that doesn't do any
  network activity, but builds features from GML data in a streaming way
- Add handling of GML3 for WFS 1.1 and 2.0.
- Add tests
2016-04-05 20:51:09 +02:00
Nyall Dawson
fe54a78d60 Merge pull request #2974 from nirvn/diagram_line_unit
[diagram] add unit type setting for outlines (fixes #14614)
2016-04-05 21:56:50 +10:00
Nyall Dawson
410a43814b Allow relative links in composer labels
Allow relative links in composer labels
2016-04-05 21:37:46 +10:00
nirvn
dc5d7ab985 [diagram] make use of unit widget for diagram size 2016-04-05 15:21:54 +07:00
Nyall Dawson
ca642e44ff Add easy methods for temporarily blocking signals
- QgsSignalBlocker: RAII signal blocking class. Used for temporarily
  blocking signals from a QObject for the lifetime of QgsSignalBlocker
  object.

- easy shortcut "whileBlocking( QObject* )" function. Temporarily
  blocks signals from a QObject while calling a single method from the
  object.

  Usage:
    whileBlocking( checkBox )->setChecked( true );
    whileBlocking( spinBox )->setValue( 50 );

  No signals will be emitted when calling these methods.

based on Boojum's code from
http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
2016-04-05 10:50:42 +10:00
Patrick Valsecchi
f696b0a34d Allow relative links in composer labels
Now labels and HTML boxes can contain relative URLs. If we don't have
a base URL, the project file will be used as a base URL (closes #7236).

Remove the exception for the labels where the images where not
loaded (unless in in PDF or image mode). It was because of a crash. Qt didn't
like having the HTML loading to be done synchronously during painting.

Fix a leak when rendering labels.
2016-04-04 11:05:30 +02:00
elpaso
8b0b06875a Delete a blank line to make flake8 happy 2016-04-04 10:55:10 +02:00
Alessandro Pasotti
ff1764539d Merge pull request #2963 from elpaso/server-fix-qs-encoding
[SERVER] Fix encoding of query string for bindings
2016-04-04 09:20:57 +02:00
Mathieu Pellerin
541463718d [FEATURE] add outline join style to ellipse markers 2016-04-04 14:38:52 +10:00
Nyall Dawson
ae00eb965c [FEATURE] Allow expression functions to use named parameters
This commit sets the framework for allowing expression functions to
use named parameters. Ie, instead of:

clamp(1,2,3)

you can use:

clamp( min:=1, value:=2, max:=3)

This also allows arguments to be switched, eg:

clamp( value:=2, max:=3, min:=1)

Additionally, it allows for a more structured definition of function
parameters to handle optional arguments and default values for
parameters. These are currently being done using a hacky infinite
argument list.

I've utilised the postgres ':=' syntax for specifying named arguments
to avoid potential collisions which may arise with the equality test
if we re-used just the '=' operator alone.

Sponsored by North Road
2016-04-04 13:59:13 +10:00
David Adler
5fe19c5f15 merged DB2 updates
[FEATURE] New vector data provider for DB2 sources
2016-04-04 07:55:50 +10:00
Nyall Dawson
cbad546b09 Followup 99d5e4, add unit tests 2016-04-04 06:20:07 +10:00
nirvn
3a2a099c59 add simple marker join style tests 2016-04-03 11:56:47 +07:00
elpaso
5a72bc7d52 [SERVER] Fix encoding of query string for bindings
Fix an error when passing utf-8 chars in the query string
from python bindings

Adds a test for GetLegendGraphics
2016-04-01 23:59:21 +02:00
Juergen E. Fischer
4f6c271490 move new composer tests to pyqt wrappers (followup 7a8a541 and f413046) 2016-04-01 15:52:51 +02:00
Nyall Dawson
38fa2980ad [composer] Fix polylines would be removed if they had < 3 points
when deleting nodes (2 node lines should be allowed)
2016-04-01 14:23:19 +11:00
Blottiere Paul
7a8a5411e0 [FEATURE][composer] Add tools for drawing polygon and polylines 2016-04-01 11:05:03 +11:00
Matthias Kuhn
18cdad9956 Convert print function to py3 style in tests 2016-03-31 17:20:53 +02:00
Nyall Dawson
befa962b30 Update legend test mask images for Windows build 2016-03-31 16:46:30 +11:00
Nyall Dawson
9e759efc2c Fix PyQgsVirtualLayerDefinition test on Windows 2016-03-31 16:46:11 +11:00
Nyall Dawson
cb149107b6 Fix qgis_coordinatereferencesystemtest with GDAL >= 2.0 2016-03-31 16:45:44 +11:00
Nyall Dawson
810fb5b165 Fix qgsrasterlayer tests under GDAL >= 2.0 2016-03-31 16:45:29 +11:00
Nyall Dawson
9dd791da01 Fix composer_label tests under Windows 2016-03-31 16:44:43 +11:00
Matthias Kuhn
46162f2145 Remove expected failure from test 2016-03-30 13:47:38 +02:00
Nyall Dawson
9104704f59 [composer] Set base stylesheet of composer labels to match the
label font and margins when rendering as HTML.

This allows interactive choice of font, margins and colors and
avoids the need to manually set these with CSS within the
label HTML code.
2016-03-30 19:35:34 +11:00