8387 Commits

Author SHA1 Message Date
Nyall Dawson
93db66ed1f Allow properties/collections to be prepared in advance 2017-01-23 12:45:21 +10:00
Nyall Dawson
ef3f61fc17 Fix sip subclassing for properties 2017-01-23 12:45:21 +10:00
Nyall Dawson
53ba1a1f10 Add a common interface for QgsPropertyCollection/QgsPropertyCollectionStack 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
336b603b3a Add support for more data definable properties to diagrams:
- Distance
- Priority
- ZIndex
- IsObstacle
- Show
- AlwaysShow
- Diagram Start Angle
2017-01-23 12:45:21 +10:00
Nyall Dawson
a4ef9ad89c Allow setting diagram properties collection 2017-01-23 12:45:21 +10:00
Nyall Dawson
83139cc40e Remove currently unused diagram properties, add data defined
x/y position using properties system
2017-01-23 12:45:21 +10:00
Nyall Dawson
c23de083ce Setting a property to null in collections removes property 2017-01-23 12:45:21 +10:00
Nyall Dawson
43a328687d Port diagrams to use properties 2017-01-23 12:45:21 +10:00
Nyall Dawson
f1c1589550 Initial implementation of property system 2017-01-23 12:45:21 +10:00
Nyall Dawson
9124100fb6 Python formatting updates 2017-01-23 12:25:19 +10:00
Nyall Dawson
46f2ea13ee [FEATURE] Add inches as a measurement choice for symbology/labeling
"Make imperial great again!"
2017-01-22 21:29:23 +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
Denis Rouzaud
4c642ac664 fix typo 2017-01-20 15:17:58 +01:00
Denis Rouzaud
4c3968b9aa more spelling fixes 2017-01-20 15:06:09 +01:00
Matthias Kuhn
eb7a235dc1 Print messages from QgsMessageLog to the console when testing 2017-01-19 14:41:04 +01:00
Matthias Kuhn
534cb9e738 Add QgsApplication.instance() to python bindings 2017-01-19 13:15:35 +01:00
volaya
5e479fc67e [processing] always use only selected features in 'save selected features' 2017-01-19 10:33:52 +01:00
Martin Dobias
ff8d912147 Make the one band raster creation method return data provider 2017-01-19 15:46:46 +08:00
Martin Dobias
7b27079de9 Convenience API call to create empty raster file 2017-01-19 15:46:46 +08:00
Martin Dobias
15cd8331ac Make setEditable() return true/false to indicate success/error 2017-01-19 15:46:46 +08:00
Martin Dobias
f6f6ebdb44 [FEATURE] API to enable/disable editing of raster data
To create a 2x2 raster block with one byte per pixel:

```
block = QgsRasterBlock(Qgis.Byte, 2, 2)
block.setData(b'\xaa\xbb\xcc\xdd')
```

To overwrite existing raster data at position 0,0 by the 2x2 block:

```
provider.setEditable(True)
provider.writeBlock(block, band, 0, 0)
provider.setEditable(False)
```
2017-01-19 15:46:46 +08:00
lbartoletti
01cd784ee7 [FEATURE][processing] Add overlay option to GridLine and GridPolygon 2017-01-19 16:49:35 +10:00
Nyall Dawson
d0a46972d4 Merge pull request #4002 from tudorbarascu/fixdescription
fix setRelationId description
2017-01-19 06:19:29 +10: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
Alexander Bruy
08e0eacfef [processing] return string from selection type setting when necessary 2017-01-18 08:46:56 +02: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
Nyall Dawson
df3fdf52a8 Merge pull request #4005 from nyalldawson/comp_mapsettings
Remove some more QgsComposition::mapSettings use, also support different CRS in composer map items
2017-01-18 12:57:46 +10:00
Nyall Dawson
710a12cabd Avoid use of composition map settings to set initial composer map extent 2017-01-18 12:30:47 +10:00
Nyall Dawson
a3dd380d35 [needs-docs] Composer maps default to a "use project CRS" setting
And overriding projection is only done if user has manually
chosen a different CRS from the list.

This means that templates and compositions in server can still
adapt to follow the project CRS, but if desired specific map
items (eg an overview map) can use the CRS override to always
show in a particular CRS.
2017-01-18 12:30:47 +10: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
David Marteau
56b2f08865 Move wfs as service module 2017-01-17 17:21:25 +01:00
Nyall Dawson
9a6d714061 [FEATURE][composer] Allow choice of CRS for map items
This allows the CRS for map items to differ from the canvas/project
CRS. It also allows different map items to have different CRS,
eg an overview map can be set to a different CRS to the main map.

An unfortunate side effect of this change and the ongoing work
to separate compositions from canvas is that datum transforms
are no longer supported in composer. This cannot be fixed until
the datum transform store is rewritten to not depend on canvas
(ie, it's also broken for upcoming multi-canvas work)
2017-01-17 19:18:47 +10:00
Nyall Dawson
305f9f0e98 Remove some more QgsComposition::mapSettings use 2017-01-17 15:44:46 +10:00
Nyall Dawson
e3ad5b1e3b [composer] Remove more use of composition map settings
Use relevant composer map item CRS instead of composition mapsetting's
CRS. For items directly linked to a map (eg scalebar, legend) we
use that map's CRS, for others (eg labels, html items) we use the
composition's reference map CRS.

(Note that the CRS cannot be set for a map, and is still currently
linked to the canvas CRS. Fixing that is a future TODO.)
2017-01-17 13:23:12 +10: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
Tudor Bărăscu
783fae1bc9 fix setRelationId description 2017-01-16 13:22:43 +02:00
Denis Rouzaud
bf22cbfa9d [spellcheck] fix case detection + some fixes 2017-01-16 10:56:42 +01:00
rldhont
474252a6f3 Merge pull request #3985 from dmarteau/revisit_server_exceptions
Server: revisit server exceptions
2017-01-16 10:05:20 +01:00
Martin Dobias
b340d7bdb6 Add willBeDeleted() signal to QgsMapLayer (#3998)
This allows pieces of code that depend on map layers to listen directly
to the layer's notification rather than having to listen to project's
layersWillBeRemoved signal (and cycle through the whole list)
2017-01-16 16:51:44 +08: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
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
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