3074 Commits

Author SHA1 Message Date
Martin Dobias
f153e19168 Fix saving of "obstacle only" state + misc fixes to unit tests 2017-05-16 14:25:32 +08:00
Martin Dobias
bfdc84fc69 Fixes to unit tests 2017-05-16 14:25:32 +08:00
Martin Dobias
ee9fabbec1 Fix for style loading and clean up of used labeling custom properties 2017-05-16 14:25:32 +08:00
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
Denis Rouzaud
e455b157b5 [sipify] do not comment global operators
fix class/struct level detection
sipify qgsmargins.qgs
2017-05-15 21:55:10 +02:00
Matthias Kuhn
3f85b050dc fix bad copy paste 2017-05-15 21:55:10 +02:00
Matthias Kuhn
d15bd8dd22 No docstrings for out-of-class functions 2017-05-15 21:55:10 +02:00
Matthias Kuhn
5c2deb4010 Doxymentation 2017-05-15 21:55:10 +02:00
Matthias Kuhn
d4edbc0fdb Unsipify QgsMargins 2017-05-15 21:55:10 +02:00
Matthias Kuhn
7ac276e713 No copy of QgsLabelSearchTree is allowed 2017-05-15 21:55:10 +02:00
Matthias Kuhn
df6d60fcc1 Fix sip errors 2017-05-15 21:55:10 +02:00
Matthias Kuhn
9e059ed77e Fix sip errors 2017-05-15 21:55:10 +02:00
Matthias Kuhn
2abb1465c4 [sipify] Another batch of sip 2017-05-15 21:55:10 +02:00
Denis Rouzaud
922b162b86 attachment widget: data defined button for document type 2017-05-15 17:57:25 +02:00
Nyall Dawson
ae97c333d6 Revert "Port algorithm countVisibleParameters to c++"
This reverts commit c3c694f8ccfbe0b64df14365f950f5895968a66a.
2017-05-15 10:24:38 +10:00
Nyall Dawson
c3c694f8cc Port algorithm countVisibleParameters to c++ 2017-05-15 08:44:28 +10:00
Nyall Dawson
280ca31972 Merge pull request #4401 from nyalldawson/processing_params
c++ framework for parameters and running algorithms
2017-05-15 07:08:07 +10:00
Martin Dobias
24e06a4941 Remove unused mAnnotationForm member + getter/setter from QgsVectorLayer 2017-05-14 17:41:14 +08:00
Martin Dobias
0ccaba7a70 Path resolver instead of project singleton in edit form config and svg annotation 2017-05-14 10:34:01 +08:00
Martin Dobias
5bdae75156 API break update + read/write context in labeling and text renderer
This enables correct loading/saving of relative paths of SVG files for background of labels
2017-05-13 18:12:04 +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
lbartoletti
bc0c3a22b0 Add inclination method for QgsPointV2 (#4536) 2017-05-13 17:29:50 +10:00
Alessandro Pasotti
3f9c4e5fa7 Merge pull request #4535 from boundlessgeo/attributetable-fixes-16492
Attributetable fixes  crash #16492
2017-05-12 14:51:28 +02:00
Matthias Kuhn
f9842426dc Improve stability of QgsTask::waitForFinished test 2017-05-12 10:51:13 +02:00
Mathieu Pellerin
418084698d Display name of layers in need of rasterization when saving as PDF (#4539) 2017-05-12 15:21:10 +07:00
Juergen E. Fischer
ad5054bfd9 sip update qgsfeature 2017-05-12 09:53:47 +02:00
Nyall Dawson
b6a5cc4204 Use QgsFeedback instead of QProgressDialog for QgsVectorLayerExporter::exportLayer
And add cancelation and progress reporting to background layer export
2017-05-12 08:03:23 +10:00
Nyall Dawson
75a5d5dda1 Remove unused skipAttributeCreation option in QgsVectorLayerExporter::exportLayer 2017-05-12 08:03:23 +10:00
Nyall Dawson
64b612f2a8 [FEATURE] Import layers to data providers in background
Flips the drag and drop import of layers to browser data sources
to use task manager, allowing these slow imports to occur
in the background.
2017-05-12 08:03:23 +10:00
Nyall Dawson
384369c3c4 Rename QgsVectorLayerImport to QgsVectorLayerExporter
Since the majority of users of this class will be exporting
an existing map layer to a data provider, the QgsVectorLayerImport
name is misleading and suggests that this class is designed
just to bring layers "into" QGIS.

Explicitly naming the class "Exporter" should help API users
discover this class.

Also cleanup API and improve docs
2017-05-12 08:02:51 +10:00
Alessandro Pasotti
074c41a157 Tiny typo fix - SIP part 2017-05-11 18:28:01 +02:00
Matthias Kuhn
eaabce28e9 Doxyfication 2017-05-11 12:42:26 +02:00
Matthias Kuhn
2474498979 Allow specifying expression context for feature count 2017-05-11 12:42:26 +02:00
Matthias Kuhn
ed747edc94 Improve docs and python bindings for feature count 2017-05-11 12:42:26 +02:00
Matthias Kuhn
52676774ba Sipify QgsTask[Manager] 2017-05-11 12:42:26 +02:00
Matthias Kuhn
05a713f444 Fix compatibility with older sip versions 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
Matthias Kuhn
f264370130 Make fields() available in QgsVectorLayerFeatureSource 2017-05-11 12:42:25 +02:00
Denis Rouzaud
5888d22c07 fix sip bindings documentation 2017-05-11 12:00:06 +02:00
lbartoletti
13c1318a5f New geometry class: QgsRegularPolygon (#4502) 2017-05-10 22:23:28 +10:00
Nyall Dawson
271a1e38db Convert remaining parameters from python 2017-05-10 17:04:11 +10:00
Nyall Dawson
02b560e90d Temporarily make QgsProcessingAlgorithm::run non pure-virtual (for travis) 2017-05-10 10:14:37 +10:00
Nyall Dawson
3706d88045 [processing] c++ framework for parameters and running algorithms (WIP)
This commit adds the virtual method for running processing algs
to the base c++ class, and adds the initial framework
for c++ algorithm parameters.

When running an algorithm, a QVariantMap is passed
as the algorithm parameters. The high level API provided
by QgsProcessingParameters should be used to retrieve
strings/layers/doubles/etc from this QVariantMap.

This allows advanced use cases, such as passing QgsProperty
with the QVariantMap for "dynamic" parameters, where the
value should be evaluated for every feature processed.

E.g. if the buffer algorithm uses a dynamic property for distance,
then the distance could be bound to either a field value or
to a custom expression. This gets evaluated before buffering
each feature to allow for advanced variable buffering.

Support for dynamic parameters will be "opt in", and non default.
So algorithms will need to specifically add support for
dynamic properties as required.
2017-05-10 10:14:37 +10:00
Nyall Dawson
6aa10c6817 [processing] Cleanup some layer/writer related handling
Ensure that layers created by QgsProcessingUtils::createFeatureSink
can always be retrieved using QgsProcessingUtils::mapLayerFromString
2017-05-09 15:29:41 +10:00
Nyall Dawson
3cd3e5d378 Allow storing QgsProperty in QVariant 2017-05-09 12:22:30 +10:00
Nyall Dawson
ac7cc12ca7 Merge pull request #4511 from nyalldawson/composer_async
Asyncronously render composer map previews
2017-05-08 20:18:16 +10:00
Nyall Dawson
29c87de679 [needs-docs][composer] Remove Render/Cache modes from composer maps
Make maps invalidate cache whenever layer order changes. Cache mode
is now identical to Render mode, so  all mode switching has been
removed from composer maps. This should greatly simplify the learning
curve and usability of composer maps.
2017-05-08 19:31:55 +10:00
Nyall Dawson
5e3b903955 [needs-docs][composer] Remove Rectangle mode from composer maps
No longer required - the Cache mode is now performant enough
that we don't have to rely on the old rectangle preview
when desiring responsive composers
2017-05-08 17:10:07 +10:00
Nyall Dawson
491abc2b66 sipify QgsComposerMap 2017-05-08 17:10:02 +10:00