2223 Commits

Author SHA1 Message Date
Matthias Kuhn
d91a45ceaf Add shorthands to get features by fid, fids and expression
Adds new methods overloads to QgsVectorLayer

  getFeatures( expression )
  getFeatures( ids )
  getFeature( id )

These three methods to query features are by far the most used ones
and with this patch it is much easier to write and read code.
2016-07-19 10:37:09 +02:00
Nyall Dawson
c7ffdfa5e9 Make sure variable editor widgets always show current variables
On behalf of Faunalia, sponsored by ENEL
2016-07-19 12:00:35 +10:00
Martin Dobias
1444398208 Improve QgsCoordinateReferenceSystem API documentation (#3311) 2016-07-19 01:05:16 +08:00
Nyall Dawson
e6df492fdb Add missing docs, refine docs for QgsCoordinateTransform 2016-07-17 16:38:28 +10:00
Nyall Dawson
adafeda82a Avoid all use of QgsCoordinateTransform pointers, replace with
copies or references

Makes the code more robust, fixes leaks and avoids potential
null pointer dereferencing
2016-07-16 20:36:45 +10:00
Nyall Dawson
ffa9b9b676 API breaks and cleanups for QgsCoordinateTransform
- isInitialised() has been renamed to isValid()
- theCRS parameter in setSourceCrs has been renamed to 'crs'
- setDestCRS() has been renamed to setDestinationCrs() for consistency
- destCRS() has been renamed to destinationCrs() for consistency
- theSource, theDest, theSourceSrsId, theDestSrsId, theSourceWkt,
theDestWkt, theSourceCRSType parameters in the QgsCoordinateTransform
constructors have been renamed to source, destination, sourceSrsId,
destinationSrsId, sourceWkt, destinationWkt, sourceCrsType respectively
- 'p' argument in transform() has been renamed to 'point', 'theRect' to
'rectangle', 'poly' to 'polygon'
- setDestCRSID has been removed, use setDestinationCrs() instead
- 'theNode', 'theDoc' parameters in readXML and writeXML have been
renamed to 'node' and 'document' respectively
- readXML() and writeXML() have been renamed to readXml() and writeXml()
for consistency
2016-07-16 16:33:04 +10:00
Nyall Dawson
b18fcc0ddf Remove QgsCoordinateTransform::clone()
Just use direct copies instead
2016-07-16 14:16:00 +10:00
Nyall Dawson
736aab195f Make QgsCoordinateTransform implicitly shared, no longer a QObject
There was no code in core using the signals/slots associated with
QgsCoordinateTransform, and little reason to keep the class a
QObject. Making it not a QObject simplifies code and allows
QgsCoordinateTransform objects to be easily copied and passed
around without complication.
2016-07-16 10:07:10 +10:00
Nyall Dawson
21eab8c2ea Add missing docs 2016-07-15 08:08:24 +10:00
Nyall Dawson
0736bf726d Rename edit buffer methods to is..., add tests 2016-07-15 07:58:21 +10:00
Nyall Dawson
2d50895d04 Const correctness for QgsVectorLayer methods 2016-07-15 06:07:52 +10:00
Nyall Dawson
0d84ca74c5 Make QgsMapLayer::metadata() const 2016-07-15 06:07:08 +10:00
Nyall Dawson
0935b58fef Cleanup QgsMapLayer for 3.0
- implement QGIS 3.0 TODOs
- mark methods as const correct
- rename 'the...' parameters to remove 'the'
- mark QgsVectorLayer::getFeatures as const
2016-07-15 06:07:00 +10:00
Nyall Dawson
fe4fa419f8 Make QgsVectorLayerEditBuffer methods const correct
Also add some optimisations to avoid iterations over all
contents of the buffers
2016-07-15 06:06:14 +10:00
Nyall Dawson
6c6f3c1e34 Remove deprecated members from QgsMapLayer 2016-07-15 06:02:45 +10:00
Nyall Dawson
7d2027faa9 Fix most remaining methods which return a reference to
QgsCoordinateReferenceSystem or which take a pointer to a
CRS
2016-07-15 06:01:39 +10:00
Nyall Dawson
726569c6bc QgsMapLayer::crs() now returns a copy, not a reference
(desirable because QgsCoordinateReferenceSystem is implicitly shared)
2016-07-15 06:00:51 +10:00
Nyall Dawson
a2efab0485 Make QgsVectorLayerImport use QgsCoordinateReferenceSystem
references, not pointers
2016-07-15 06:00:11 +10:00
Nyall Dawson
e683101b10 Make QgsVectorDataProvider::fields() return a copy
Implements a QGIS 3.0 TODO
2016-07-15 05:59:02 +10:00
Nyall Dawson
1bafa80089 Const correctness for numerous data provider methods 2016-07-15 05:57:57 +10:00
Nyall Dawson
fd42ed3145 Use reference rather than pointer for crs in QgsVectorFileWriter
Since QgsCoordinateReferenceSystem is implicitly shared, it's a
safer approach
2016-07-15 05:57:03 +10:00
Nyall Dawson
258c8999ef Merge pull request #3303 from nyalldawson/identify_url
Make links in identify results clickable
2016-07-14 07:17:01 +10:00
Nyall Dawson
2f8c6f5207 [composer] Add a checkbox for legends to prevent automatic resizing
A new checkbox has been added to the legend settings to control
whether or not a legend should be automatically resized to fit
its contents.

If unchecked, then the legend will never resize and instead just
stick to whatever size the user has set. Any content which
doesn't fit the size is cropped out.

Refs #10556

On behalf of Faunalia, sponsored by ENEL
2016-07-13 17:35:44 +10:00
Nyall Dawson
05ced6797d Followups and fixes to identify results linking 2016-07-13 16:01:57 +10:00
Nyall Dawson
4145e337ab Add missing SIP bindings 2016-07-11 08:42:52 +10:00
Juergen E. Fischer
2eee2e5c9c fix typos and debian/copyright 2016-07-10 14:20:07 +02:00
Juergen E. Fischer
daea10c126 support utf-8 encoded release names
(cherry picked from commit c9838ccea481c8ca87c4e1647099cfe78777e795)
2016-07-10 12:09:29 +02:00
Juergen E. Fischer
e451b9ad6f indentation and spelling fixes 2016-07-08 12:59:38 +02:00
Matthias Kuhn
b83aab7d74 Save attribute table sort order persistently
Fix #15235
2016-07-07 17:35:55 +02:00
Martin Dobias
cca79aa2f4 Fix loss of transparency information in style dock (fixes #15229) 2016-07-07 14:01:28 +02:00
Nyall Dawson
fd88d91bde Use QgsCRSCache in more places 2016-07-05 15:59:15 +10:00
Nyall Dawson
867dbe53de Make QgsCRSCache thread safe 2016-07-05 13:51:00 +10:00
Nyall Dawson
339d061693 Use QgsCRSCache instead of looking up CRS by srs id (refs #15193) 2016-07-05 13:35:01 +10:00
Nyall Dawson
5c270ebeb0 Fix first range when exporting graduated renderer to sld (fix #15212) 2016-07-05 09:56:57 +10:00
Nyall Dawson
a240cd8f8e Replace doxygen MapComposer group with core/gui
Since the MapComposer group doesn't actually exist
2016-07-04 19:57:13 +10:00
Nyall Dawson
1a08f0ab53 Add full test suite for QgsMapLayerRegistry, also don't emit
any layer removed signals when no layers will actually be
removed
2016-07-04 12:26:25 +10:00
Nyall Dawson
6b3cb245a9 Cleanups to QgsMapLayerRegistry
- const correctness
- improve and clarify docs, remove outdated notes
- add some QGIS 3.0 todos
2016-07-04 12:26:25 +10:00
Matthias Kuhn
15c2f0a902 Make QgsMapLayer::name a Q_PROPERTY (#3259)
Make QgsMapLayer::name a Q_PROPERTY

And align setName / name / nameChanged

Deprecates setLayerName / layerNameChanged
2016-07-04 01:10:10 +02:00
Matthias Kuhn
c277e6e55e Fix tests, partially reverts ff1f9cf 2016-07-02 18:55:22 +02:00
Matthias Kuhn
ff1f9cf595 Doxymentation for QgsVectorLayer signals 2016-07-02 18:09:19 +02:00
Nyall Dawson
1729531773 Don't transform z coordinates by default
Since z coordinates can represent potentially any height
unit and reference point, it's not safe to assume that they
always represent height in metres relative to the ellipsoid.

Instead, leave z values untouched by default with geometry
transforms, and make transforming z an optional parameter

Refs #14702
2016-06-30 07:38:13 +10:00
Nyall Dawson
c3c5c43190 Avoid style dock flashing when editing layers
Also prevent a lot of duplicate style dock updates, and fix
the style dock losing connection to layer style changes
2016-06-27 14:03:36 +10:00
Nyall Dawson
9f0ae9b408 Make outline only simple markers work with categorised/graduated
etc renderers (fix #15132)
2016-06-27 10:17:54 +10:00
Nyall Dawson
e6034e9a1e Fix vector field symbol does not use subsymbol color (fix #15130) 2016-06-26 17:40:50 +10:00
Martin Dobias
8fcac87f9d Fix API break of QgsMapLayer class introduced in 2.16
This breakage was resulting in a Python error when using plugin layers
due to calls to pure virtual method writeStyle()
2016-06-22 20:10:17 +02:00
Matthias Kuhn
679cab2cd4 Followup dab157f 2016-06-21 14:25:58 +02:00
Matthias Kuhn
dab157f70f Minor fixes and doxymentation for QgsSnappingUtils 2016-06-21 11:46:18 +02:00
Sandro Santilli
a211c982cf Allow to undo/redo composer grouping/ungrouping
Fixes #11371 (crash on ungrouping after moving the group) and more
undo/redo related issues.

Enable pending test for the crash (now passing) and add many more
undo/redo related ones (including signals testing).

Includes a new QgsGroupUngroupItemsCommand class
and its SIP bindings.
2016-06-17 13:41:56 +02:00
Nyall Dawson
6568da6ce0 Rename arrow symbol head width/height to length/thickness
Width/height naming is dependant on line direction, so for
clarity rename them to something which doesn't depend
on direction (fix #15002)
2016-06-14 12:54:49 +10:00
Nyall Dawson
3a34368efb Cleanup qgsproject.h/.cpp
- Conslidate doxygen in qgsproject.h
- Remove TODOs from docs, move to comments
- Cosmetic formatting changes to match QGIS standards
- Remove doxygen groups (we sort doxygen by name now)
- Clarified and improved some docs
- Remove mega outdated XML samples
2016-06-14 10:24:20 +10:00