67 Commits

Author SHA1 Message Date
Martin Dobias
a3af93394e Merge branch 'master' into threading-revival
Some features are still disabled - will be fixed later

Conflicts:
	python/core/composer/qgscomposition.sip
	python/core/diagram/qgsdiagram.sip
	python/core/diagram/qgshistogramdiagram.sip
	python/core/diagram/qgspiediagram.sip
	python/core/diagram/qgstextdiagram.sip
	python/core/qgsdiagramrendererv2.sip
	python/core/qgsfield.sip
	python/core/qgslabelsearchtree.sip
	python/core/qgsmaprenderer.sip
	python/core/qgsrenderchecker.sip
	python/core/symbology-ng/qgssymbollayerv2.sip
	python/gui/qgsmapcanvas.sip
	src/app/composer/qgscomposerlegendwidget.cpp
	src/app/qgisapp.cpp
	src/core/composer/qgsatlascomposition.cpp
	src/core/composer/qgscomposerattributetable.cpp
	src/core/composer/qgscomposermap.cpp
	src/core/composer/qgscomposition.cpp
	src/core/composer/qgscomposition.h
	src/core/diagram/qgsdiagram.h
	src/core/diagram/qgshistogramdiagram.cpp
	src/core/diagram/qgshistogramdiagram.h
	src/core/diagram/qgspiediagram.cpp
	src/core/diagram/qgspiediagram.h
	src/core/diagram/qgstextdiagram.cpp
	src/core/diagram/qgstextdiagram.h
	src/core/qgsdiagramrendererv2.cpp
	src/core/qgsdiagramrendererv2.h
	src/core/qgsmaprenderer.cpp
	src/core/qgsmaprenderer.h
	src/core/qgsnetworkaccessmanager.h
	src/core/qgspallabeling.cpp
	src/core/qgsrenderchecker.h
	src/core/qgsvectorlayer.cpp
	src/core/qgsvectorlayer.h
	src/core/qgsvectorlayerfeatureiterator.cpp
	src/core/qgsvectorlayerfeatureiterator.h
	src/core/raster/qgsrasterlayer.cpp
	src/core/symbology-ng/qgscategorizedsymbolrendererv2.cpp
	src/core/symbology-ng/qgsgraduatedsymbolrendererv2.cpp
	src/core/symbology-ng/qgsmarkersymbollayerv2.cpp
	src/core/symbology-ng/qgssinglesymbolrendererv2.cpp
	src/core/symbology-ng/qgssymbollayerv2.cpp
	src/core/symbology-ng/qgssymbollayerv2.h
	src/core/symbology-ng/qgssymbolv2.cpp
	src/gui/qgshighlight.cpp
	src/gui/qgsmapcanvas.cpp
	src/gui/qgsmapcanvas.h
	src/gui/qgsmapcanvasitem.cpp
	src/gui/qgsmaptoolidentify.cpp
	src/plugins/georeferencer/qgsgeorefplugingui.cpp
	src/providers/memory/qgsmemoryfeatureiterator.cpp
	src/providers/ogr/qgsogrfeatureiterator.cpp
	src/providers/ogr/qgsogrfeatureiterator.h
	src/providers/ogr/qgsogrprovider.cpp
	src/providers/oracle/qgsoraclefeatureiterator.cpp
	src/providers/oracle/qgsoracleprovider.cpp
	src/providers/postgres/qgspostgresconn.cpp
	src/providers/postgres/qgspostgresfeatureiterator.cpp
	src/providers/postgres/qgspostgresfeatureiterator.h
	src/providers/wfs/qgswfsfeatureiterator.cpp
	src/providers/wms/qgswmsprovider.cpp
	src/providers/wms/qgswmsprovider.h
	src/ui/qgsoptionsbase.ui
	tests/src/core/CMakeLists.txt
	tests/src/core/testqgscomposereffects.cpp
	tests/src/core/testqgscomposerhtml.cpp
	tests/src/core/testqgscomposerscalebar.cpp
	tests/src/core/testqgscomposershapes.cpp
2014-02-18 11:28:46 +07:00
Juergen E. Fischer
22346cd3c7 memory provider: add more native types (fixes #9371) 2014-02-06 00:47:56 +01:00
ahuarte47
f37b05621f #8725-R: New vector provider capability for topological simplification 2014-01-15 11:00:00 +01:00
ahuarte47
23b6523fba #8725-R: FeatureIterator and other minor changes 2014-01-15 11:00:00 +01:00
Alvaro Huarte
08b5e3058a #8725-R: simplifier execute in rendering loop 2014-01-15 11:00:00 +01:00
Martin Dobias
9d001853c0 Introduction of concept of feature sources for vector data.
Feature sources of providers/layers should act as immutable
snapshots of the state of provider or layer, not being affected
by any concurrent changes to provider or layer while the source is in use.

Currently working just with OGR, Postgres, SpatiaLite providers.
2013-12-03 12:26:47 +07:00
Matthias Kuhn
151e0cc394 Fix spatialite provider for Null QVariant instead of Invalid QVariant 2013-09-05 16:23:28 +02:00
Radim Blazek
250df51994 copy/paste as test unit 2013-09-05 09:22:06 +02:00
Martin Dobias
94639ee61e [API] remove QgsVectorDataProvider::enableGeometrylessFeatures(bool)
Geometryless features are not skipped by default anymore.
2013-04-11 23:38:10 +02:00
Larry Shaffer
fbf999190c Update QgsPalLabeling to work with new vector api
- Switch data defined properties from field index- to name-based
- Add routine to migrate properties to new keys:  labeling/dataDefined/[enum name]
- Add QHash containing old-style data provider mapping of index to name for use in properties migration
- Update QgsLabelingGui, QgsMapToolLabel, QgsLabelPropertyDialog to work with name-based properties
2013-02-07 14:49:56 -07:00
Juergen E. Fischer
cb7f7bfd8b indentation update 2013-02-07 01:09:39 +01:00
Martin Dobias
8da06cb97d QgsVectorLayer: deprecate old API: select(), nextFeature(), featureAtId() 2013-01-26 19:42:46 +01:00
Martin Dobias
5f304b34a1 Merge remote-tracking branch 'origin/master' into new_vector_api
Conflicts:
	python/core/qgsvectordataprovider.sip
	src/app/legend/qgslegendlayer.cpp
	src/app/qgisapp.cpp
	src/app/qgsmergeattributesdialog.cpp
	src/core/qgsvectordataprovider.cpp
	src/core/qgsvectordataprovider.h
	src/core/qgsvectorlayer.cpp
	src/gui/qgssearchquerybuilder.cpp
	src/providers/postgres/qgspostgresprovider.cpp
	src/providers/wfs/CMakeLists.txt
2013-01-23 23:46:56 +01:00
Alvaro Huarte
440ede935a Feature #8725: Fast rendering of geom (v-OGR)
Implements fast rendering of LineStrings and Polygons pre-applying a
view threshold filter to the geometries to render in qgis. Also disable
'Antialiasing' when it is possible.

View Table of test results in 'http://hub.qgis.org/issues/8725'

(This version of branch implements the improvement in vector-providers)
2013-12-17 15:50:05 +01:00
Alexander Bruy
5e45a22d06 remove deprecated methods from API 2012-12-23 10:40:23 +02:00
Martin Dobias
81b0930498 QgsVectorLayer: large internal refactoring
Most important changes:
- introduced feature iterator for QgsVectorLayer
- vector editing moved to QgsVectorEditBuffer
- complete rework of undo/redo commands for vector layers
- geometry cache separated from editing (QgsVectorLayerCache)
- non-essential editing functionality moved to QgsVectorLayerEditUtils
2012-12-17 21:22:42 +01:00
Martin Dobias
51122d263a Store attributes and fields in vectors instead of maps 2012-10-20 22:19:55 +02:00
Martin Dobias
8bf959093f QgsFeature: use a vector of attributes instead of a map (for faster access) 2012-10-19 00:31:03 +02:00
Martin Dobias
e110855e6c [API] added QgsFeatureIterator, changed QgsVectorProvider API
Vector data provider now has getFeatures() method to access features.
select(), nextFeature(), featureAtId(), rewind() were removed resp. moved to provider's feature iterator implementations.

Providers that currently do not implement the new API were disabled.
2012-10-08 17:47:51 +02:00
Martin Dobias
8c0a2b511f Further tweaks to QgsFeatureRequest API, support featureAtId 2012-10-08 17:16:54 +02:00
Martin Dobias
70ff8ef6dd Added select() variant with QgsFeatureRequest for simpler construction of requests 2012-10-08 17:14:45 +02:00
Larry Shaffer
652deba734 Fix for #6309, add case-insensitive sort for vector provider encodings 2012-09-06 04:57:33 -06:00
Juergen E. Fischer
5ae312cfad add 'foreach' to astyle and re-run indentation 2012-08-03 06:57:11 +02:00
Juergen E. Fischer
747e497e0b use QTextCodec::codecForLocale() where "System" is not available (like android) 2012-01-25 20:47:56 +01:00
Juergen E. Fischer
89306335ae vector provider: fetch codec list from Qt and default to System when a unavailable codecs is requested (might cure issueID #4801) 2012-01-14 17:26:43 +01:00
Juergen E. Fischer
5a3a87fde2 [FEATURE] support 64bit feature ids 2011-06-16 20:30:07 +02:00
Juergen E. Fischer
5a6d3cebcc remove svn Id tags 2011-05-26 23:05:55 +02:00
jef
1edaeca304 add QGISDEPRECATED macro and fix a bunch of warnings
git-svn-id: http://svn.osgeo.org/qgis/trunk@15197 c8812cc2-4d05-0410-92ff-de0c093fc19c
2011-02-18 15:05:35 +00:00
mhugent
f1a655f480 [FEATURE]: experimental table join support refactored and ported from branch to trunk
git-svn-id: http://svn.osgeo.org/qgis/trunk@15155 c8812cc2-4d05-0410-92ff-de0c093fc19c
2011-02-11 16:23:17 +00:00
jef
b78d8556a4 allow vector data provider to record errors (currently only used in query
builder to report errors in where clauses from OGR and postgres provider).


git-svn-id: http://svn.osgeo.org/qgis/trunk@14935 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-12-17 15:00:17 +00:00
wonder
c39235a377 Use case insensitive comparison for column names. Fixes #3298
git-svn-id: http://svn.osgeo.org/qgis/trunk@14932 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-12-16 22:19:38 +00:00
jef
b21747bc96 improve support for geometry-less layers
git-svn-id: http://svn.osgeo.org/qgis/trunk@14391 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-10-18 00:02:01 +00:00
jef
a2fd4ea818 fix #3001
git-svn-id: http://svn.osgeo.org/qgis/trunk@14228 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-09-14 20:06:38 +00:00
jef
b420878d7f fix #3000
git-svn-id: http://svn.osgeo.org/qgis/trunk@14227 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-09-14 18:18:57 +00:00
jef
e8460ed514 add support for non-numeric fields in generic minimumValue/maximumValue fallback method
git-svn-id: http://svn.osgeo.org/qgis/trunk@14034 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-08-09 10:38:46 +00:00
jef
a77476a4f3 fix #2815 - including more missing translation strings
git-svn-id: http://svn.osgeo.org/qgis/trunk@13744 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-06-17 20:43:18 +00:00
jef
b40868c80d some cleanups:
- macros TRUE/FALSE to keywords true/false
- replace boolean comparison (x==true => x / x==false => !x)
- return(x); => return x;


git-svn-id: http://svn.osgeo.org/qgis/trunk@13380 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-04-25 12:51:49 +00:00
jef
ae3d122853 [FEATURE] allow saving vector layers as ogr vector files
git-svn-id: http://svn.osgeo.org/qgis/trunk@13169 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-03-27 00:38:59 +00:00
jef
4ed28f36b8 wider support for vector layer queries:
- add query support for OGR and spatialite layers (additional to postgres)
- QgsDataProvider::setSubsetString() now returns if the query is successful.
- add optional parameter to limit number of values returned from QgsVectorDataProvider::uniqueValues() 
- rename QgsDbSourceSelect to QgsPgSourceSelect, use QgsVectorLayer for layer queries and make it wider
- QgsDataSourceURI: improve quoting
- fix relative path support for SpatiaLite on windows
- rename QgsPgQueryBuilder to QgsQueryBuilder and use QgsVectorLayer for
  queries instead of postgres

cleanups:
- rename QgsServerSourceSelect to QgsWMSSourceSelect



git-svn-id: http://svn.osgeo.org/qgis/trunk@11762 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-10-06 22:05:52 +00:00
mhugent
a0addcee64 Applied patch #1290 with modifications
git-svn-id: http://svn.osgeo.org/qgis/trunk@11257 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-08-03 20:46:18 +00:00
jef
b49980c995 automatic indentation update (r11003-r11227)
git-svn-id: http://svn.osgeo.org/qgis/trunk@11228 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-07-31 17:15:15 +00:00
homann
cb06c406b0 File encoding selector made consistent and persistent between different dialogs.
git-svn-id: http://svn.osgeo.org/qgis/trunk@11182 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-07-27 15:19:39 +00:00
wonder
8b1fb78d8d providers: deprecated some overlapping capabilities and added doxygen docs for them.
All providers should have now correctly set capability for fast access to features by id (SelectAtId).

Until now, attribute table was using memory model for Postgres provider (i.e. very slow open)
From now it uses the "good" model, so the attribute table opens much faster.


git-svn-id: http://svn.osgeo.org/qgis/trunk@11137 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-07-21 14:29:38 +00:00
jef
7331968172 re-add vector attribute method removed in r10863
git-svn-id: http://svn.osgeo.org/qgis/trunk@10982 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-06-26 17:04:31 +00:00
mhugent
bc576b1569 Make TIN interpolation more robust in case of NULL values and data distribution on lines. Minor change in qgsvectordataprovider.cpp to directly request a const iterator
git-svn-id: http://svn.osgeo.org/qgis/trunk@10904 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-06-11 14:45:38 +00:00
jef
3e01e6d3d5 - allow setting of field width and precision when adding attributes
- update vector data providers accordingly
- postgres provider:
  - add support for more native types and setting of column comments
  - catch errors on retrieval of defaults values (fixes #1713)



git-svn-id: http://svn.osgeo.org/qgis/trunk@10863 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-05-30 17:48:49 +00:00
timlinux
b40ceb2d62 API cleanups for QgsRect that got overlooked...
git-svn-id: http://svn.osgeo.org/qgis/trunk@9605 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-11-09 00:14:12 +00:00
timlinux
314e8e6065 Api cleanups for qgsfeature
git-svn-id: http://svn.osgeo.org/qgis/trunk@9506 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-10-20 21:44:15 +00:00
timlinux
3072d71114 API cleanups: getNextFeature becomes nextFeature, getFeatureAtId becomes featureAtId, getDefaultValue becomes defaultValue, allAttributeList becomes attributeIndexes and reset becomes begin on data provider api.
git-svn-id: http://svn.osgeo.org/qgis/trunk@9449 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-10-07 07:36:24 +00:00
jef
9038cdeaed automatic indentation update (r9365-r9447)
git-svn-id: http://svn.osgeo.org/qgis/trunk@9448 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-10-06 21:16:31 +00:00