3221 Commits

Author SHA1 Message Date
Nyall Dawson
8a9cee0fb6 [composer] Use reference map when creating render context for
draw shape/arrow/nodes/paper symbols

This commit removes some more instances where changes in the
canvas affect compositions. Previously the symbols drawn
in shape/arrow/etc items were using the scale from the canvas.
This meant that the appearance of these items in composer
would change depending on canvas zoom if they used symbols
with map unit sizes.

Now they take their map scale from the composition's reference
map. While this has the nice side effect that now map units
can be used in the appearance of these items and they're
guaranteed to match up with the reference map item, the main
intention here is to remove more of the forced links between
compositions (core) and the main canvas (app).
2017-01-16 15:52:19 +10:00
Nyall Dawson
8a722d2981 Move QgsSymbolLayerUtils::createRenderContext to QgsRenderContext::fromQPainter
This method is useful in many contexts outside of symbology
2017-01-16 15:52:19 +10:00
Nyall Dawson
f32d11b508 [composer] Use largest map in composition as reference map if no
reference map is explicitly set
2017-01-16 15:52:19 +10:00
Nyall Dawson
e0934d7766 [composer][needs-docs] Rename "world file map" option to "reference map"
This option will be used for more than just world file generation,
and instead will indicate which map should be considered the master
map for the composition from which any composer properties
calculating map units will derive the scale from.
2017-01-16 15:52:19 +10:00
Even Rouault
6de4fceec2 GML parser: fix parsing of typenames and geometry names with non-ASCII character (#16009) 2017-01-14 16:09:54 +01: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
Blottiere Paul
932d9fb5d3 [server] parallel map rendering 2017-01-13 09:24:31 +01:00
Denis Rouzaud
6c74e4ea5d spelling fixes 2017-01-12 22:01:50 +01:00
Denis Rouzaud
4467487e1c respect CamelCase for enums and their values 2017-01-11 14:10:11 +01:00
Denis Rouzaud
748be8de71 [spelling] replace behaviour by behavior 2017-01-11 11:35:19 +01:00
rldhont
bc4c470294 Merge pull request #3960 from rldhont/server-wms-transparent-bgcolor
[BUGFIX][Server] Re-enable Transparent and Bgcolor parameter for GetMap
2017-01-11 10:58:16 +01:00
Nyall Dawson
e656c63ab7 Remove duplicate QgsFeature::setFeatureId method
Leave just QgsFeature::setId and document api break
2017-01-11 10:05:31 +01:00
rldhont
bf73e2c240 [BUGFIX][Server] Re-enable Transparent and Bgcolor parameter for GetMap
Fixed #15990 wms png transparency not honoured

And add tests for transparent and bgcolor in GetMap and GetLegendGraphic
2017-01-11 09:48:10 +01:00
Nyall Dawson
db1009cbfa [FEATURE] New expression variables for map settings
- map_crs, map_crs_definition: retrieves crs details for map
- map_units: retrieves units for map (eg 'meters','degrees')
2017-01-11 12:26:32 +10:00
Nyall Dawson
f2032ea268 [FEATURE] item_variables expression function inside compositions
This adds a new item_variables expression function when expressions
are used inside a composition context.

The function takes a single argument, the id for an item inside
the composition, and returns a map of variable name to value
for that item.

This allows you to do things like insert text in a label fetching
properties of another item in the composition, eg

Insert scale of map into a label:

map_get( item_variables( 'map'),'map_scale')

Insert x coordinate of map center into a label:

x(map_get( item_variables( 'map'),'map_extent_center'))
2017-01-11 12:26:32 +10:00
Nyall Dawson
d25fcec03d Add method to retrieve variables from a QgsExpressionContext as a QVariantMap 2017-01-11 12:25:37 +10:00
Nyall Dawson
b71019dfda Add some unit tests for QgsProcessingRegistry 2017-01-11 10:55:16 +10:00
Denis Rouzaud
37ebcdd1cd [spellcheck] allow inwords checks and line skipping
spell check will be done automatically in words by default (when some conditions are fulfilled)
possibility to avoid in words checking by adding :* at the end in spelling.dat

one can add #spellok at the end of a line of code to skip spell check on this line
2017-01-10 20:18:37 +01:00
David Marteau
dc211f89bd WMS run as a module service ! 2017-01-10 14:34:18 +01:00
David Marteau
64fc56c808 Implement QgsFcgiRequest and QgsFcgiResponse 2017-01-10 14:34:17 +01:00
David Marteau
0150dfb728 Create module test; add more debug messages for travis 2017-01-10 14:34:17 +01:00
David Marteau
689f3b1ab2 Expose QgsServerInterface to service modules
* Instanciate QgsServerInterface even if HAVE_SERVER_PYTHON_PLUGINS is
      not defined
    * Pass QgsServerInterface in module registration methods.
    * Add QgsServer initialisation test

 #Please enter the commit message for your changes. Lines starting
2017-01-10 14:34:16 +01:00
David Marteau
bac1890f9c fix typo, use Q_UNUSED, return null/empty QString() instead literal empty string 2017-01-10 14:34:16 +01:00
David Marteau
705547e617 Removed python loader: added unRegisterService() method 2017-01-10 14:34:16 +01:00
David Marteau
7600919517 Remove Service Entry class and move name/version infos in QgsService 2017-01-10 14:34:15 +01:00
David Marteau
53555581a3 Server refactoring: Fix doc and comments
Fix typo in doc and comments
    Update documentation
    Fix return of implicitely shared objects
    Fix order of parameters in QgsServiceRegistry::registerService
2017-01-10 14:34:15 +01:00
David Marteau
1e0d830529 Server refactoring: implements service modules registry
Implementation for https://github.com/qgis/QGIS-Enhancement-Proposals/issues/74
2017-01-10 14:34:15 +01:00
Nyall Dawson
21ad4ed78b Merge pull request #3940 from nyalldawson/gdal2
Bump minimum GDAL version to 2.0, remove old version #ifdefs
2017-01-10 11:37:17 +10:00
Marco Hugentobler
d3da17910d Adapt numbers in test for QgsLineStringV2::sumUpArea
(forward port from df0f97)
2017-01-10 09:08:33 +10:00
Marco Hugentobler
7107c16ec0 Add unit test that makes sure that the area of a closed compound curve ring is the same as a closed linestring with the same number of vertices
(forward port from be71066)
2017-01-10 09:05:12 +10:00
rldhont
3e80a52995 Revert "Merge pull request #3886 from pblottiere/servermultithread"
This reverts commit 350a2b513446462120946241cf7fb1bb67ca828b, reversing
changes made to 590a981195289be702bc7bf5382ece25a09ae6bb.
2017-01-09 14:05:28 +01:00
rldhont
350a2b5134 Merge pull request #3886 from pblottiere/servermultithread
[server] parallel map rendering
2017-01-09 13:38:04 +01:00
Nyall Dawson
4b8c5bea29 Remove some more macros not needed with GDAL>=2 requirement 2017-01-09 19:39:00 +10:00
Martin Dobias
542c48650e Fix avoid intersections test 2017-01-07 17:22:08 +08:00
Martin Dobias
8c340f7144 Make composition associated with QgsProject (#3957)
... rather than using project singleton within compositions
2017-01-06 17:22:34 +08:00
Martin Dobias
660867cb4e Explicitly pass QgsProject object when dealing with expression contexts
Continued effort to reduce number of uses of QgsProject as singleton...
2017-01-06 11:34:55 +08:00
Nyall Dawson
af5eb6aaab Disable flaky test 2017-01-06 10:54:11 +10:00
Alexander Bruy
12ab928e4b Merge pull request #3918 from alexbruy/processing-providers
Processing providers updates
2017-01-05 11:02:19 +02:00
Matthias Kuhn
8b9857079a Use qgis_grass_lib.h import for GRASS_LIB_EXPORT macro 2017-01-05 00:12:11 +01:00
Matthias Kuhn
38a8ddacd9 Add qgis_app.h with APP_EXPORT macro 2017-01-05 00:12:11 +01:00
Matthias Kuhn
d006784ded Add qgis_analysis.h with ANALYSIS_EXPORT macro 2017-01-05 00:12:11 +01:00
Matthias Kuhn
2306c1136a Add qgis_python.h with PYTHON_EXPORT macro 2017-01-05 00:12:11 +01:00
Matthias Kuhn
4c1f178ac9 Add qgis_gui.h with GUI_EXPORT macro 2017-01-05 00:12:11 +01:00
Matthias Kuhn
0302719cf0 Add qgis_core.h to with CORE_EXPORT macro
This removes complexity from the compiler flags because defines
happen in a file.
2017-01-05 00:12:11 +01:00
Even Rouault
f67cdc3965 Merge pull request #3935 from rouault/group_visibility
[FEATURE] Change of ergonomy of the visibility of layers inside groups
2017-01-04 15:22:48 +01:00
Martin Dobias
6c5956b22b QgsProject: cleanup of read/write method + removal of unused bad layer handler class 2017-01-04 20:29:53 +08:00
Nyall Dawson
0ce30217f1 Implement some QGIS 3 TODOs for diagram API 2017-01-04 18:17:22 +10:00
rldhont
8475fc36f3 Update [QGIS Server] CITE WMS 130 Test project 2017-01-03 14:55:00 +01:00
rldhont
454df31b17 [BUGFIX][Server] WMS compliance: stretched, distort, increase, decrease
The commit d44f1eba2fed18b3fef8d8865d79b3b6d8bc4d69 seems to break some WMS 1.3.0 client and WMS compliancy.
The commit d44f1eba2fed18b3fef8d8865d79b3b6d8bc4d69 has been written to fix an issue with QGIS WMS Client and to render image like other WMS Server.

This commit has been written to fix issue introduce by d44f1eba2fed18b3fef8d8865d79b3b6d8bc4d69.
It is based on MapServer code:
* https://github.com/mapserver/mapserver/blob/master/mapdraw.c#L115
* https://github.com/mapserver/mapserver/blob/master/HISTORY.TXT#L3768

And take account of axis invertion for output CRS.
2017-01-03 14:55:00 +01:00
Nyall Dawson
57917ab118 Compile some string functions 2017-01-03 15:32:57 +10:00