306 Commits

Author SHA1 Message Date
Martin Dobias
21f03bc11c Clean up reading/writing of labeling configuration in vector layers
Historically the configuration used to be stored in layer's custom properties, but that does not scale
beyond simple rendering and so rule-based labeling introduced storage of configuration natively in XML elements.
That left us with two different ways of reading/writing labeling configurations. This work makes all configuration
to use native XML elements.

To keep compatibility of 2.x projects, reading of configuration from custom properties is preserved.

This commit also adds Python APIs for direct manipulation of labeling configuration through vector layer's
setLabeling() and labeling() calls.
2017-05-16 14:25:32 +08:00
Martin Dobias
24e06a4941 Remove unused mAnnotationForm member + getter/setter from QgsVectorLayer 2017-05-14 17:41:14 +08:00
Martin Dobias
23a7bd0fd9 Introduce QgsReadWriteContext that encapsulates QgsPathResolver
This should make the read/write methods more flexible if we need to give them extra context.
2017-05-13 18:09:26 +08:00
Martin Dobias
8ffd91ea90 Propagate path resolver through renderers, annotations, diagrams
This is necessary in order to be able to correctly translate between absolute and relative paths
deeper in the code - e.g. paths to SVG files used in marker or fill symbols.

Until now, relative paths were translated to absolute paths on the fly.
This is now changed - paths to files should be always absolute within QGIS objects - and paths
only get turned into relative when saving projects. When loading a project, relative paths
are translated to absolute paths immediately.

This should lower the overall confusion about relative/absolute paths within QGIS, and also
allow having different base directories for relative paths (e.g. QML or QPT files may use relative paths
to their directory - rather than to the project directory)
2017-05-13 18:02:19 +08:00
Alessandro Pasotti
074c41a157 Tiny typo fix - SIP part 2017-05-11 18:28:01 +02:00
Matthias Kuhn
ed747edc94 Improve docs and python bindings for feature count 2017-05-11 12:42:26 +02:00
Matthias Kuhn
964d9ac70a Send feature counting to background task 2017-05-11 12:42:26 +02:00
Martin Dobias
0a0c33dcf2 Remove QgsGeometryCache class
The geometry cache was only used for few geometry editing operations anyway. In earlier versions
of QGIS the geometry cache was also used by old snapping classes which have been replaced
by QgsPointLocator that also keeps a spatial index of geometries and it is not rebuilt on every re-render.

Reasons for removal:
- geometry cache was repopulated on every redraw of layers in editing mode, slowing down rendering
- data structure for the cache was a simple map with features accessed by their ID (no spatial index)
- the cache was only getting refreshed for the current view of the main map canvas (not a generic cache)
- not used for snapping anymore where caching was important to avoid roundtrips to data provider
2017-05-06 10:34:23 +08:00
Matthias Kuhn
28a21209b9 [sipify] seealso 2017-04-30 16:52:05 +02:00
Denis Rouzaud
897e2f0410 [sipify] do not take // comments into docstrings 2017-04-30 16:34:08 +02:00
Denis Rouzaud
b0d4a4c201 sipify geometry classes 2017-04-30 11:29:45 +02:00
Nyall Dawson
0b0ccc9e9d Rename QgsVectorLayer::selectedFeaturesIterator to getSelectedFeatures
It's more in line with QgsVectorLayer::getFeatures, hence a more
discoverable API
2017-04-27 11:16:10 +10:00
Denis Rouzaud
4cc4a27068 [sipify] operators, remove argument
* skip some operators
 * allow to remove an argument with SIP_PYARGREMOVE
2017-04-26 15:06:16 +02:00
Nyall Dawson
e273ec7345 Remove invalid doxygen note
It's only flipping a bool, and possibly in some circumstances
it's more efficient to add features one by one rather than storing
large number of features in a temporary list
2017-04-26 11:32:35 +10:00
Nyall Dawson
1280779617 Don't force use of In,Out in QgsFeatureSink methods 2017-04-26 11:32:34 +10:00
Nyall Dawson
c4578c3c1d QgsVectorLayer is a QgsFeatureSink
Also cleanup API for addFeature(s) in QgsVectorLayer, by removing
the unused extra argument from addFeature() and be removing the
makeSelected argument from addFeatures() (code should be adapted
to manually select added features after adding if desired - this
was only used in a single place in the QGIS code and I suspect
this was unintentional in any case)
2017-04-26 11:32:34 +10:00
Denis Rouzaud
1bfa539df1 [sipify] remove extra blank line 2017-04-24 07:39:30 +02:00
Denis Rouzaud
8f2a5c7c00 sipify all 2017-04-20 14:21:36 +02:00
Martin Dobias
24c5b0326f Rewrite addTopologicalPoints() and remove legacy snapping code + unit test 2017-04-19 11:24:20 +08:00
Nyall Dawson
3535ee2d55 Allow QgsDataProvider access through QgsMapLayer
Avoids having to cast to QgsRasterLayer/QgsVectorLayer before
accessing the common QgsDataProvider members
2017-04-18 11:14:01 +10:00
Nyall Dawson
87a670848b [sipify] Always add virtual keyword for overridden methods
sip often requires the virtual keyword to be present, or
it chokes on covariant return types in overridden methods
2017-04-18 11:14:01 +10:00
Martin Dobias
7b202edf04 Remove QgsVectorLayer::snapPoint() and unused code in QgsSelectedFeature 2017-04-17 17:37:16 +08:00
Martin Dobias
316d9c3359 R.I.P. QgsSnapper and QgsMapCanvasSnapper
These classes have been replaced by more efficient and flexible classes
(see QgsPointLocator, QgsSnappingUtils, QgsMapCanvasSnappingUtils)
2017-04-17 17:08:48 +08:00
Nyall Dawson
6a72c945af [sipify] Don't autocreate Docstrings for overridden members
Skip the autocreated Docstrings with rtype annotations if the
member is overridden - better to use the base class
Docstring in this case.
2017-04-17 11:03:02 +10:00
Nyall Dawson
f2a7dcbdd7 Rename QgsMapLayer::metadata -> htmlMetadata()
Frees up metadata() for use as a structured metadata getter
2017-04-10 18:45:00 +10:00
Nyall Dawson
9dabb9dd20 Avoid some "" literals and QString::nulls in layer API
Use QString() instead
2017-04-10 17:17:17 +10:00
Nyall Dawson
bfd37e1122 [sipify] Add return types for functions in docstrings
and change \return -> :return: in docystrings
2017-04-08 09:48:48 +10:00
Matthias Kuhn
58d2d6d7f9 sipify_all 2017-04-07 12:26:30 +02:00
Nyall Dawson
4eeacb8fdf [sipify] Replace :: with . during doxygen->docstring conversion
e.g.

You can use QgsXmlUtils::writeVariant to save it to an XML document
->
You can use QgsXmlUtils.writeVariant to load it from an XML document
2017-04-05 10:32:27 +10:00
Nyall Dawson
9b3539ab07 Update sip files 2017-04-03 13:18:36 +10:00
Matthias Kuhn
beb185a72e Update sipify to use the "\since" tag 2017-04-03 01:31:44 +02:00
Matthias Kuhn
50ca79ef43 Add some remaining \since tags 2017-04-03 01:28:50 +02:00
Matthias Kuhn
fb91ed7395 Use "\since" instead of "@note added in" 2017-04-03 01:06:33 +02:00
Matthias Kuhn
a609883cc0 Add %Feature support to sipify 2017-04-02 23:37:17 +02:00
Nyall Dawson
f044eeb597 Remove \brief from doxygen in sipify 2017-04-02 21:28:20 +10:00
Nyall Dawson
d3daf60020 Convert doxygen notes and version added to sphinx style in sipify 2017-04-02 20:52:50 +10:00
Nyall Dawson
28a57c8f95 Remove ingroup and class from doxygen when creating sip docstrings 2017-04-02 20:30:22 +10:00
Matthias Kuhn
5148b7accb [sipify] Add name of source file to generated headers 2017-04-01 19:10:59 +02:00
Denis Rouzaud
15e4903890 sipify improvements
* add demo file and start a short doc
* fix some annotations
* do not display hidden line (SIP_SKIP, delete)
* use a defined var for SIP_SKIP
* remove constructor definition in header
* fix comment after method definition in header
* add a test for sipify itself
2017-03-30 15:13:01 +02:00
Denis Rouzaud
b0564becfd also comment methods
fix comment starting on first line of block
2017-03-30 15:13:01 +02:00
Denis Rouzaud
7b08608f7f sipify QgsVectorLayer, QgsFeature 2017-03-30 15:13:01 +02:00
Denis Rouzaud
ba6f736c02 remove comments from sipfiles (QgsVectorLayer and QgsFeature) 2017-03-30 15:13:01 +02:00
Nyall Dawson
0faf7c395f Allow value fetching and histogram calculation to be canceled 2017-02-22 11:16:54 +10:00
Denis Rouzaud
7812d4fb17 remove the-prefix from source code
this might result in variables having the same name as some methods
2017-02-21 18:14:58 +01:00
Vincent Mora
77bf999094 Merge pull request #3905 from nextgis/25d_enhancement
[FEATURE] QGIS setting to choose default Z value
2017-02-13 09:11:27 +01:00
Nyall Dawson
4f7d9cddfe Merge pull request #4064 from jgrocha/delete-style-from-db-provider-postgis
Delete style from db provider postgis
2017-02-06 08:34:24 +10:00
Jorge Gustavo Rocha
8b36ad5b90 Updated Qt connections to the new style qgis/QGIS-Enhancement-Proposals#77
Changed isDeleteStyleFromDBSupported to isDeleteStyleFromDbSupported
2017-02-05 19:35:47 +00:00
alisovenko
d780ba7593 Merged master fixed conflict. 2017-02-03 18:11:49 +03:00
Jorge Gustavo Rocha
738fbd455b revert the SIP deleteStyleFromDatabase signature 2017-01-31 12:09:48 +00:00
Jorge Gustavo Rocha
e649280601 improve deleteStyleFromDatabase signature 2017-01-31 11:31:14 +00:00