138 Commits

Author SHA1 Message Date
Nyall Dawson
5d9d903fb0 Move browser proxy model to core library and expose as stable API
This class is useful for plugins and other areas of QGIS code which
want to expose a limited browser interface (e.g. a vector layer
only type layer picker)

Also add unit tests
2018-10-19 08:32:56 +10:00
Matthias Kuhn
df44275e86
Update core sip files 2018-10-15 14:28:07 +02:00
Denis Rouzaud
9fa8c356dd
make QgsWkbTypes a Q_GADGET and declare GeometryType as Q_ENUM (#8024)
* make QgsWkbTypes a Q_GADGET and declare GeometryType as Q_ENUM

* include QObject

* remove extra include

* move QgsWkbTypes to moc headers

* run sip_include
2018-10-05 10:25:35 -08:00
Matthias Kuhn
1c359f8acd
Add a new QML category "Geometry Options"
And rename QgsGeometryFixes to QgsGeometryOptions
2018-09-19 13:51:00 +02:00
Denis Rouzaud
2cabd48db1 fix sip include 2018-09-14 16:35:30 +10:00
nirvn
7f9edcafa0 Addition of a QgsHstoreUtils parse function 2018-09-14 11:21:40 +07:00
Nyall Dawson
c5ab5891e0 Add a QAbstractItemModel for showing the entities within a QgsStyle object
- also adds QgsStyleProxyModel which handles filtering of entities
- lots of unit tests
- new signals in QgsStyle for when symbols/tags/etc change (with tests)
2018-09-12 16:22:44 +10:00
Matthias Kuhn
273e99877b
Merge pull request #7805 from m-kuhn/vectordataproviderfeaturepool
Refactor QgsFeaturePool
2018-09-10 07:53:55 +02:00
Nyall Dawson
13ab5e51ac Fix build warning 2018-09-08 18:10:31 +10:00
Matthias Kuhn
ba5cfc356d Add RAII class QgsReadWriteLocker 2018-09-06 07:46:23 +02:00
Denis Rouzaud
8fdcbdd36c
distinct files for QgsMapLayerStyle and QgsMapLayerStyleManager (#7806) 2018-09-05 22:28:38 +02:00
Matthias Kuhn
507649ddbd Readd qgsfeature.h to CMakeLists.txt 2018-09-04 16:19:26 +02:00
Matthias Kuhn
db45686804 Adjust core_auto.sip 2018-09-04 15:55:29 +02:00
Matthias Kuhn
74fb0fabc6 Move QgsFeatureId to own header 2018-09-03 07:54:37 +02:00
Matthias Kuhn
063ccf4283 Move geometry fixes to separate class 2018-08-23 18:38:09 +02:00
Nyall Dawson
21693bd4a4 Add a QgsTask subclass for proxying progress reports from a
blocking operation via task manager

Allows use of the task manager progress reporting system from
operations which are blocking (and cannot be made background
tasks!), e.g. layout exporting, project loading.
2018-08-16 06:22:16 +10:00
Matthias Kuhn
da527be9a1 Fix sip bindings 2018-08-14 19:04:56 +02:00
Nyall Dawson
dfa5104855 Sipify 2018-08-14 09:24:43 +10:00
signedav
090db0d86b setProjectTranslator
...in QgsReadWriteContext creation
implementation of projectTranslator where needed

use of DefaultTranslator to have default translation funtion derived from QgsProjectTranslator

beautify code
2018-08-07 14:31:17 +02:00
signedav
2bfe2296e5 tests, project store and other
not yet working all translations
project handling can be improved
project store after translation working
and fix some errors
tests not ready yet
2018-08-07 14:31:17 +02:00
Nyall Dawson
66c17880be Modify kdbush to store feature id alonside point, for optimised storage/retrieval 2018-07-07 10:54:47 +10:00
Nyall Dawson
0df1056dd4 [FEATURE] QgsSpatialIndexKDBush
A very fast static spatial index for 2D points based on a flat KD-tree,
using https://github.com/mourner/kdbush.hpp

Compared to QgsSpatialIndex, this index:
 - supports single point features only (no multipoints)
 - is static (features cannot be added or removed from the index after construction)
 - is much faster!
 - supports true "distance based" searches, i.e. return all points within a radius
from a search point
2018-07-07 10:54:47 +10:00
Peter Petrik
69fa26183f fix travis errors 2018-05-30 12:26:36 +02:00
Peter Petrik
7af2e68e23 misc optimization for geometries and fixes 2018-05-30 10:06:23 +02:00
Martin Dobias
94f56b61a8 Build/test fixes 2018-05-16 17:26:59 -04:00
Peter Petrik
3fc99c04c1 code cleanup 2018-05-16 17:02:35 +02:00
Peter Petrik
aea3dccea7 [FEATURE] Rendering of vector data on mesh layers
Rudimentary support of rendering of vector data (e.g. velocity) on mesh map layers.
Rendering can be adjusted by QgsMeshRenderer*Settings. Only in Python
API, no GUI widgets for styling present.
2018-05-16 12:56:35 +02:00
Denis Rouzaud
847f0e1829 adapt sipify scripts and test to place auto generated sip files in dedicated folder 2018-05-14 10:44:11 -04:00
Denis Rouzaud
648562d2b7 do not expose task and make it thread safe 2018-05-07 08:20:59 -04:00
Martin Dobias
ade216d02d
Merge pull request #6820 from PeterPetrik/QgsMeshLayer_1_mesh
[FEATURE] QgsMeshLayer part 1: Reading raw mesh
2018-04-25 09:02:24 +02:00
Nyall Dawson
c6a50fe772 Add QgsLineSegment2D class, for simple 2d line segments which
consist of just a 2D start and end point
2018-04-24 10:07:51 +12:00
Loïc Bartoletti
0bacf0ff16 - Add some methods in QgsVector3D
- Move QgsVector3D from 3d to core
- Use QgsVector3D instead of QVector3D
2018-04-21 08:16:14 +10:00
Peter Petrik
d1240119ef use QStringLiteral 2018-04-20 09:38:39 +02:00
Peter Petrik
50422a1165 [FEATURE] QgsMeshLayer part 1: Reading raw mesh
Introducting MDAL, QgsMeshLayer, mesh data providers (mesh_memory, mdal)
to read and visualize raw meshes: vertices and faces. Support dragging
2dm files from browser on canvas to visualize 2dm meshes.
Support for QgsMeshLayer in Python API.
2018-04-19 10:50:33 +02:00
Martin Dobias
a30646f1cb Introduced QgsProjectStorage and QgsProjectStorageRegistry
This is going to be used as an abstraction of how/where project
files are stored.
2018-04-07 12:58:01 +02:00
Nyall Dawson
e2f09fa662 Add a QgsTask for fetching network content
Provides a simple method for fetching remote HTTP
content in a QgsTask. Utilises QgsNetworkContentFetcher so
Url redirects and progress reports are automatically handled.
2018-04-02 08:42:21 +10:00
Nyall Dawson
d293c5d0a0 Code shuffle to avoid duplicate code 2018-03-22 16:13:30 +11:00
Nyall Dawson
09aca080ec Add new QgsProjectMetadata metadata class
For storing QgsProject metadata. Contains all metadata items
from QgsMetadataBase, plus adds author and creation datetime
metadata items.
2018-03-22 16:13:30 +11:00
Nyall Dawson
5cf2656ace Split metadata into two classes
A new base class QgsMetadataBase has been split off QgsLayerMetadata,
containing all non-layer specific metadata items.

This allows us to reuse the common metadata settings for other
non-layer items, e.g. projects.
2018-03-22 16:13:30 +11:00
Matthias Kuhn
ff7b831b9d Remove private implementations from python bindings 2018-03-07 09:00:33 +11:00
Matthias Kuhn
1fd74234b4 Add processing parameter type definitions 2018-03-07 09:00:33 +11:00
Blottiere Paul
1a5e03f667 Fix sip binding 2018-03-02 09:43:26 +00:00
Blottiere Paul
8873e9a020 Fix sip binding 2018-03-02 09:43:26 +00:00
Blottiere Paul
957e92c847 Add async model for virtual layers 2018-03-02 09:43:26 +00:00
Denis Rouzaud
713bfd3452 add Q_ENUM for QgsRasterProjector::Precision 2018-02-20 02:00:57 -09:00
Denis Rouzaud
1a1b197ced use Qgsettins::enumSettingValue where possible 2018-02-19 05:55:09 -09:00
Denis Rouzaud
f1123501d4 make QgsTolerance a Q_GADGET
to use Q_ENUM
2018-02-17 09:33:35 -09:00
Denis Rouzaud
91e98ef5a5 run sip_include.sh 2018-02-17 11:16:47 -04:00
Alessandro Pasotti
287f82286b Add QgsRangeFieldFormatter to bindings 2018-02-02 08:10:54 +01:00
Nyall Dawson
30fe9917ce Sipify 2018-01-16 13:57:14 +10:00