332 Commits

Author SHA1 Message Date
Juergen E. Fischer
2c4ac0807b [FEATURE] attribute editing extension
- allow resetting of fields to NULL by button
- use user defined date formats in forms, identify results and attribute table
- add support for date type in postgres provider
2013-03-13 23:35:07 +01:00
Denis Rouzaud
8176da04f2 added hstore and inet fields to postgres provider 2013-02-21 17:02:40 +01:00
Sandro Santilli
314c783b21 Revert "Enable topological editing on first TopoGeometry layer creation"
This reverts commit edecf385fddd7d166e134023057998612af6ad58.

The correct way to do this is by hooking on the editingStarted slot
(thanks jef for pointing that out)
2013-02-19 12:09:54 +01:00
Sandro Santilli
edecf385fd Enable topological editing on first TopoGeometry layer creation
I'm not sure this is an acceptable behavior, but I'm sure users
do want to edit TopoGeometry layers in a topological way.
The problem with this implementation is that topological editing
is enabled for editing of every layer, not just the TopoGeometry
one.
2013-02-19 11:10:57 +01: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
f00d004104 fix attribute mapping in vector layer import 2013-01-30 23:20:37 +01:00
Martin Dobias
985468e461 Merge remote-tracking branch 'jef/oraclespatial-nva' into new_vector_api
Conflicts:
	doc/TRANSLATORS
	i18n/qgis_de.ts
	src/app/qgisapp.cpp
	src/core/qgis.cpp
	src/core/qgsvectorlayerimport.cpp
	src/providers/oracle/CMakeLists.txt
	src/providers/oracle/qgsoracleprovider.cpp
	src/providers/oracle/qgsoracleprovider.h
2013-01-24 00:45:01 +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
Juergen E. Fischer
0ccff602e2 port oracle provider to new_vector_api
+ progress dialog in progress dialog
+ fix for feature form from attribute table
2013-01-23 01:11:14 +01:00
Martin Dobias
a6c5fd875b Update of providers' feature iterators
Currently providers do not support concurrent access of more iterators at once, so keep pointer to the currently active iterator and auto-close previous iterator when a new one is requested.
Auto-close iterators when all features have been set.
Auto-close iterators when the provider is deleted.
2013-01-16 23:50:27 +01:00
Juergen E. Fischer
831f99a401 oracle provider improvements:
- improve srs lookup
- insert crs to oracle table on import, if not existent (requires INSERT privilege on MDSYS.SDO_COORD_REF_SYSTEM)
- move table lookup into thread
- use QgsMessageOutput for import errors (also in postgres and spatialite)
- german translation update
2013-01-14 01:35:34 +01:00
Juergen E. Fischer
2fc799b98c [FEATURE] add oracle provider 2013-01-09 16:47:01 +01:00
Juergen E. Fischer
460f578d93 - [API] add optional progress dialog to QgsVectorLayerImport
- postgres/mssql: fix primary key generation on import (fixes #6907)
- fix crash on browser refresh after vector layer import
2013-01-07 01:01:27 +01:00
Martin Dobias
9317ffd89a Merge remote-tracking branch 'origin/master' into new_vector_api
Also disabled mapserver until compilation is fixed.
Fixed tests.

Conflicts:
	src/app/legend/qgslegendlayer.cpp
	src/app/qgsattributedialog.cpp
	src/app/qgsattributedialog.h
	src/app/qgslabelpropertydialog.cpp
	src/app/qgsmaptoollabel.cpp
	src/app/qgsvectorlayerproperties.cpp
	src/core/CMakeLists.txt
	src/core/composer/qgsatlascomposition.cpp
	src/core/qgsexpression.cpp
	src/core/qgspallabeling.cpp
	src/core/qgsvectorlayer.cpp
	src/core/qgsvectorlayer.h
	src/core/qgsvectorlayerimport.cpp
	src/mapserver/qgsprojectparser.cpp
	src/mapserver/qgswfsserver.cpp
	src/mapserver/qgswfsserver.h
	src/mapserver/qgswmsserver.cpp
	src/providers/postgres/qgspostgresprovider.cpp
	src/providers/spatialite/qgsspatialiteprovider.h
	tests/src/core/testqgsexpression.cpp
	tests/src/python/test_qgsmemoryprovider.py
2012-12-18 01:35:06 +01:00
Sandro Santilli
eedd891513 Drop orphaned TopoGeometry objects on deleteFeatures 2012-12-07 23:40:28 +01:00
Sandro Santilli
bfa124f55e Fetch topological layer info at construction time
Simplify addFeatures and changeGeometryValues accordingly
2012-12-06 12:57:44 +01:00
Giuseppe Sucameli
6ed8a2349a fix fields creation importing layers to PG 2012-12-06 01:51:14 +01:00
Juergen E. Fischer
1dc75f3561 fix #6800 (introduced with 0dc01f5ff) 2012-12-03 11:09:54 +01:00
Sandro Santilli
5cf1c77574 Initial support for adding new TopoGeometry objects 2012-12-02 17:24:44 +01:00
Juergen E. Fischer
368146c177 allow saving single geometries as multi geometries 2012-11-05 12:09:08 +01:00
Sandro Santilli
8c391922a6 Only change the TopoGeometry definition, not its reference, on edit
Refactor the TopoGeometry editor to avoid touching the edited table
and directly act on the topology relation instead. Fixes #6621 but
also generally makes less writes to the database.
2012-11-05 11:42:32 +01:00
Sandro Santilli
83f2b2db42 Add alias to pk query, fixing ambiguous "ctid" reference (#6620) 2012-11-05 11:10:09 +01:00
Juergen E. Fischer
33682f2df4 fix warnings 2012-11-03 21:51:21 +01:00
Juergen E. Fischer
35646bbc18 partly fix #6610 2012-11-03 21:51:21 +01:00
Sandro Santilli
af8f9c9fd5 Retain old TopoGeometry id on editing
Avoids leaving orphaned TopoGeometry objects and breaking
upper hirearchical  layers
2012-11-02 17:28:14 +01:00
Juergen E. Fischer
42104d7f3d show filled attribute table again (partly reverts 779e16603) 2012-11-01 22:54:43 +01:00
Sandro Santilli
0dc01f5fff Do not drop schema name from URI, even if it's the same as current
The dropping was done in 2007 to workaround a bug which was elsewhere
(in OGR usage, as reported in #843). I guess by now everything
would work transparently, but if it doesn't it'd be time to fix it
for real.

This commit fixes bug #6599, making life harder for NON-BOGUS code
which isn't confused by schemas...

Please test !
2012-11-01 17:52:16 +01:00
Juergen E. Fischer
98e8ba484b indentation update 2012-10-31 23:47:29 +01:00
Juergen E. Fischer
62ebf88974 extent b47b43997 2012-10-31 23:36:50 +01:00
Sandro Santilli
bbecffdb65 Add initial support for editing TopoGeometry objects
This is pretty hackish in that it basically creates a new TopoGeometry
on every edit, leaving loads of orphaned ones around.
2012-10-31 23:34:21 +01:00
Sandro Santilli
bd8237f648 Drop mIsGeography member from QgsPostgresProvider
... now replaced by mSpatialColType
2012-10-31 21:09:36 +01:00
Sandro Santilli
b47b43997e Add mSpatialColType member in QgsPostgresProvider
This member tells us if a spatial column is of type Geometry,
Geography or TopoGeometry. The member is currently unused but
will eventually be used for specially handling TopoGeometry.
It could replace the mIsGeography bool, but replacement isn't
done by this commit.

Incidentally, this commit also adds SRID and type detection
for TopoGeometry columns
2012-10-31 20:35:16 +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
Giuseppe Sucameli
bb31a2d17e fix crash adding features without geometry to a geometry layer 2012-10-18 23:07:53 +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
b863ca195e Allow access to feature attributes by name 2012-10-08 17:16:54 +02:00
Juergen E. Fischer
5d056e9d7b indentation update 2012-10-04 22:42:12 +02:00
Juergen E. Fischer
6aa7524482 fix #5883 2012-10-04 13:15:42 +02:00
Juergen E. Fischer
413e9dcd4e indentation update 2012-09-21 21:01:31 +02:00
Juergen E. Fischer
d8675ba32a add sip bindings for QgsPalLabeling, QgsSimpleMarkerSymbolLayerV2,
QgsSvgMarkerSymbolLayerV2, QgsFontMarkerSymbolLayerV2
2012-09-16 20:21:37 +02:00
Juergen E. Fischer
5ae312cfad add 'foreach' to astyle and re-run indentation 2012-08-03 06:57:11 +02:00
Juergen E. Fischer
5988a9c9dc fix #6142 2012-08-02 18:14:31 +02:00
Juergen E. Fischer
5a43d7451f fix more warnings
(layers might be miscounted in qgsowsdataitems.cpp)
2012-08-01 18:36:25 +02:00
Juergen E. Fischer
42dc71ff88 fix attribute dialog (iterate layer attributes, not feature attributes) 2012-07-28 16:03:19 +02:00
Juergen E. Fischer
6b9d5a72c6 fix warnings and indentation 2012-06-15 18:48:56 +02:00
Giuseppe Sucameli
cbf405f568 delete not valid provider instances (fix memory leaks),
avoid failure due to assertion calling disconnectDb on PG provider more times
2012-06-09 23:40:50 +01:00
Juergen E. Fischer
85cf8c3566 log more verbose error messages if the view primary key selection is wrong. 2012-05-18 13:06:31 +02:00
Juergen E. Fischer
4d6cc6d15b indentation update 2012-04-18 01:34:27 +02:00
Werner Macho
4e7b055cbe small typo fixes for consistency 2012-04-15 23:15:35 +02:00