1252 Commits

Author SHA1 Message Date
Juergen E. Fischer
e5fd81ffc3 osgeo4w: fix running of python tests 2017-02-07 14:47:07 +01:00
Juergen E. Fischer
9475850f39 * update INSTALL
* osgeo4w: search qt5 first and use pyrcc5.bat
2017-02-07 00:58:56 +01:00
Alexander Bruy
95091d9342 Merge pull request #4062 from alexbruy/raster-provider
Use native QGIS raster API instead of GDAL API in zonal statistics
2017-02-02 10:54:03 +02:00
Denis Rouzaud
b340f04e7e Remove web view widget in favor of attachment (external resource) (#4074)
* remove photo widget config
* remove webview widget
* Remove mention of duplicate widgets
* Update api break
* migrate web view widgets to attachments
2017-02-01 07:18:13 +01:00
Nyall Dawson
d0e6e17816 QgsMapRendererCache can have multiple dependent layers for a cache image
In some cases the render result for a layer may depend on more than
one layer.

This changes QgsMapRendererCache to use "cache keys" instead of layer ids
to identify images within the cache. When setting an image inside the
cache, a new list parameter is used to specify all layers on which
that image depends.
2017-02-01 14:42:31 +10:00
Nyall Dawson
d74fbff0aa Make QgsMapRendererCache protected members private
This class isn't designed to be subclassed
2017-02-01 14:42:31 +10:00
Nyall Dawson
75506867aa Make protected members in QgsMapRendererJob not part of public API
QgsMapRendererJob and subclasses are not designed to be subclassed
outside of core QGIS code. Marking them private API allows us to
change them after API is frozen again.
2017-02-01 14:19:36 +10:00
Nyall Dawson
1fce65707c Add missing annotation api break docs, fix sip binding 2017-01-31 12:58:51 +10:00
Martin Dobias
7683cfacd3 Rework vector joins so they do not use QgsProject::instance()
The basic idea is to split reading of XML definition and resolution of layer IDs into layers.

Also includes some cleanups in QgsProject and improvements in QgsVectorLayerJoinInfo.
2017-01-31 09:33:02 +08:00
Nyall Dawson
afcb75af51 Remove QgsGeometry::isGeosEmpty
Use the faster native QgsGeometry::isEmpty instead
2017-01-31 07:19:56 +10:00
Nyall Dawson
49aae6e908 Rename QgsGeometry::isEmpty to isNull
Differentiates missing geometries from empty geometries (eg
empty geometry collections)
2017-01-30 21:58:23 +10:00
Nyall Dawson
c853f4fe89 Refactor annotations
Splits the rendering component of annotations out from map
canvas item component.

A new core abstract base class QgsAnnotation handles the
management of the common properties associated with an
annotation, and handles rendering the annotation onto a
QgsRenderContext destination.

Existing annotation classes have been ported to this, and
with the exception of the form annotation moved into core.
Form annotations are dependant on editor widgets and must
remain in GUI.

A new QgsMapCanvasAnnotationItem item class implements
a QgsMapCanvasItem which draws an annotation inside the
canvas, and handles synchronising the position and size
of the canvas item with the QgsAnnotation position/size.

This allows annotations to be safely used in a multi-canvas
environment, with a single QgsAnnotation being displayed
in multiple canvases (even if the canvases have different
extent/crs/etc).

Additionally it allows annotations to be directly rendered
to a map (eg in composer) without going through the
gui based Qt graphics scene framework.

Also removes lots of duplicate code, and adds some basic
unit tests for annotations.
2017-01-30 08:36:19 +10:00
Martin Dobias
8ba609e516 Tidy up layer definitions code + removal of QgsProject::instance()
Moved code related to layer definitions away from QgsMapLayer
2017-01-29 23:22:37 +08:00
Alexander Bruy
d681e9cb06 update docs 2017-01-28 11:12:12 +02:00
Harrissou Sant-anna
aef2b00b7e QGIS 3 is only qt5 compliant
Remove qt4 mention (for linux based processes)
2017-01-27 10:16:41 +01:00
Nyall Dawson
f4a9797b3d Merge pull request #4067 from nyalldawson/raster_ctor
Remove duplicate QgsRasterLayer constructor
2017-01-27 19:05:14 +10:00
Martin Dobias
0341478864 Remove code for reading of legacy (QGIS < 1.0) renderers
Also removes a bunch of unused old QMLs and upgrades one still in use
2017-01-27 16:02:48 +08:00
Martin Dobias
137eb3a0f9 Make layer tree implementation independent from QgsProject::instance()
Another bit in the project refactoring work to get rid of dependencies
on QgsProject singleton.

Reading of layer trees from XML is now split into two phases:
1. read XML and keep layer IDs
2. resolve layer IDs to QgsMapLayer instances (using QgsProject)

There are convenience methods to do both phases in one go.
2017-01-27 09:29:04 +08:00
Nyall Dawson
45fc6dc2fe Remove duplicate QgsRasterLayer constructor
Avoids confusing overload behavior when constructing QgsRasterLayers
from c++ code. This extra constructor was causing character literals
to be converted to a boolean loadDefaultStyle flag instead
of being used as the provider key. Removing the extra constructor
avoids this, and removes some duplicate code.
2017-01-27 11:13:52 +10:00
Martin Dobias
3a92b17418 Reading/saving labeling engine uses a particular QgsProject
... rather than using QgsProject::instance() internally

These are small cleanups to dig out some instance() uses and move them one level up...

At some point we should maybe make labeling engine configuration a part of QgsMapSettings
and have default project labeling engine config accessible from QgsProject
in a way similar to e.g. snapping configuration.
2017-01-26 10:56:50 +08:00
Juergen E. Fischer
a64f909474 spelling fixes 2017-01-25 16:53:34 +01:00
Nyall Dawson
a188d14f48 Remove map settings parameter from QgsComposition
Breaks the hard link between canvas and compositions!

Fix #11077
2017-01-24 14:32:08 +10:00
Nyall Dawson
69d10fae0f Update API break dox 2017-01-23 12:45:22 +10:00
Nyall Dawson
6c53ba25e3 [FEATURE][composer] Data defined scalebar colors and line width 2017-01-23 12:45:21 +10:00
Nyall Dawson
4018863d37 Remove deprecated diagram field properties 2017-01-23 12:45:21 +10:00
Nyall Dawson
b7d89a73af Consolidate all render context unit conversion to single methods
within QgsRenderContext

Fix invalid conversions, update unit tests
2017-01-22 21:29:23 +10:00
Juergen E. Fischer
7fe54055cd add link to 2.18 api documentation 2017-01-21 17:01:17 +01:00
Juergen E. Fischer
05440885f5 api_break fixes 2017-01-21 12:25:28 +01:00
Denis Rouzaud
dc4aa669f1 spelling fix imrovement and symboll 2017-01-20 22:16:10 +01:00
Denis Rouzaud
7681e4e67a replace digitising by digitizing 2017-01-20 15:06:10 +01:00
Nyall Dawson
2183887759 Don't use canvas mapSettings when composer maps respond to layer changes 2017-01-19 06:08:44 +10:00
rldhont
07c54e5496 Merge pull request #4004 from dmarteau/wfs_as_module
WFS & WCS as module
2017-01-18 13:07:32 +01:00
Martin Dobias
90d233ad30 Remove draw() method from QgsRasterDataProvider interface (#4017)
It was redundant in the API - one always wants to use block() to get data
2017-01-18 13:32:26 +08:00
Martin Dobias
433d04b68e QgsRasterBlock::data() for efficient access to pixel data also in Python (#4009)
Also adds some unit tests and API cleanups
2017-01-18 09:52:45 +08:00
David Marteau
e17a7d4e21 Move wcs as service module 2017-01-17 22:02:02 +01:00
Denis Rouzaud
b119744773 replace cancelling, cancelled and cancellation by canceling, canceled and cancelation, respectively (#4000)
* replace cancelling and cancelled by canceling and canceled, respectively

see https://github.com/qgis/qgis3_UIX_discussion/issues/19

* replace cancellation by cancelation
2017-01-16 22:27:14 +01:00
Denis Rouzaud
0a63d1f2c2 [spellcheck] properly look into various cases and add more fixes" 2017-01-16 16:39:20 +01:00
Denis Rouzaud
bf22cbfa9d [spellcheck] fix case detection + some fixes 2017-01-16 10:56:42 +01:00
Nyall Dawson
3274e1926f Remove more unused raster scale factor handling 2017-01-16 16:50:54 +10:00
Nyall Dawson
48797fa9b7 Remove unused (and not useful) QgsRenderContext::constPainter getter
Since const QPainters cannot be painted to, there's no value in
leaving this in the API
2017-01-16 16:19:00 +10:00
Nyall Dawson
430af90cfa Remove rasterScaleFactor/setRasterScaleFactor from QgsRenderContext
These were not being used by QGIS code (always left at default 1.0
value), and removing them from the api allows us to simplify lots
of code. It also makes QgsRenderContext scaling much less confusing.
2017-01-16 16:18:58 +10:00
Nyall Dawson
49411210b0 [composer] Remove QgsComposerMap::storeCurrentLayerSet
This method was used to sync the canvas layers to a composer map.
The logic has been moved to app to avoid a dependancy between
compositions and the main map canvas
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
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
Nyall Dawson
6ffe50704f [composer] Remove support for upgrading pre 2.2 project atlas map
settings

Open the project in a recent 2.x release and resave to upgrade
the project
2017-01-14 19:14:48 +10: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
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
Nyall Dawson
e656c63ab7 Remove duplicate QgsFeature::setFeatureId method
Leave just QgsFeature::setId and document api break
2017-01-11 10:05:31 +01:00