25 Commits

Author SHA1 Message Date
Juergen E. Fischer
7f7b5dd63e more fTools api updates 2013-02-03 21:18:39 +01:00
Juergen E. Fischer
4cbec1811c fix warnings, add copyright headers, cosmetics 2013-01-28 01:39:58 +01: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
4bc60ff423 Removed unused QgsFeature::isDirty() and QgsFeature::clean() 2012-10-13 13:33:12 +02:00
Martin Dobias
eb6d4d384d Removed unused QgsFeature::typeName() and QgsFeature::setTypeName() 2012-10-13 13:06:57 +02:00
Martin Dobias
f217a7fb19 Fixes after rebase 2012-10-09 20:57:35 +02:00
Martin Dobias
b863ca195e Allow access to feature attributes by name 2012-10-08 17:16:54 +02:00
Juergen E. Fischer
f3cb57b1eb SIP bindings update:
- update methods of existing classes
- add comment to methods missing in the sip bindings
- split up collective sip files into single files and use
  same directory structure in python/ as in src/
- add a lot of missing classes (some might not make sense because of
  missing python methods in those classes)
- remove some non-existing methods from the header files
- add scripts/sipdiff
- replace some usages of std::vector and std::set with QVector/QSet
2012-09-24 02:42:57 +02:00
Juergen E. Fischer
f08ffc6fd8 fix sip bindings 2012-01-09 00:43:51 +01:00
Juergen E. Fischer
5a3a87fde2 [FEATURE] support 64bit feature ids 2011-06-16 20:30:07 +02:00
wonder
1d66171ff3 PyQGIS fixes: added few typedefs (IIRC they were not supported by some old SIP versions) and added missing signals in QgsVectorLayer
git-svn-id: http://svn.osgeo.org/qgis/trunk@14978 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-12-27 21:27:01 +00:00
wonder
2034de2bc9 PyQGIS: few additions for more pythonic api
- QgsVectorLayer and QgsVectorDataProvider support iterating
- QgsFeature allows direct access to attributes (get/set/del)


git-svn-id: http://svn.osgeo.org/qgis/trunk@12878 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-02-04 21:08:33 +00:00
wonder
5fcab9157a wrapped new method from r12869
git-svn-id: http://svn.osgeo.org/qgis/trunk@12873 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-02-04 13:43:20 +00:00
wonder
8241b607f6 Fix #2324.
git-svn-id: http://svn.osgeo.org/qgis/trunk@12627 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-12-27 19:27:34 +00:00
wonder
7d175fb97b Leave only one setGeometry method to avoid ambiguous behaviour, added missing /Transfer/ annotation.
git-svn-id: http://svn.osgeo.org/qgis/trunk@12597 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-12-23 15:36:11 +00:00
wonder
acd3a32c1f typedef for size_t changed to be defined outside classes.
git-svn-id: http://svn.osgeo.org/qgis/trunk@9629 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-11-12 19:54:21 +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
jef
43278d720b handling vector data geometry and attribute updates refactored
QgsVectorLayer:
  - move attribute part of editing to vector layer class and unify with geometry handling:
    * remove commitAttributeChanges(), addedFeatures(), deletedFeatureIds(), changedAttributes()
      and replace with changeAttributeValue(), deleteFeature(), addAttribute()
      and deleteAttribute()
    * add pendingFields(), pendingAttributeList(), pendingFeatureCount()
    * emit signals on start editing and commit, change of attribute values, adding/deleting of
      attributes and layer or feature removal (currently used in the attribute table)
  - new commitErrors() method to query errors from commitChanges()
  - replaced featuresInRectangle with select/getNextFeature combo
  - edit types added to support more input widgets and input constraints

QgsFeature:
  - remove update aware ctor
  - unify geometry handling in ctors

QgsVectorDataProvider:
  - add QVariant::Type to supportNativeTypes()

QgisApp:
  - add instance() method to query QgisApp object
  - replace code at various place to use it instead of passing the pointer
    arround or searching it in the widget tree.
  - move toggleEditing() code from the legend here

QgsAttributeTable/QgsAttributeTableDisplay:
  - move attribute table creation legend here
  - make attribute table dockable (from Tim)
  - most editing logic moved to QgsVectorLayer
  - adding/deleting attributes moved to QgsVectorLayerProperties

QgsIdentifyResults:
  - add support for attribute editing when it edit mode

QgsVectorLayerProperties:
  add a new tab to show attribute list:
    * start/stop editing
    * add/delete attributes
    * assign edit type to attributes (unique values, value map, ranges)

QgsAttributeDialog:
  add support for attribute edit types:
   * selection from unique value render classes (combobox)
   * selection from unique values of existing features (combobox or line edits with completion)
   * spinboxes for ranges

QgsPostgresProvider:
 - use read-only connection for cursors and read-write connection for updates
 - updated native types

QgsOgrProvider:
 - remove unused references to GEOS geometry factory
 - updated native types


git-svn-id: http://svn.osgeo.org/qgis/trunk@9092 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-08-20 12:15:14 +00:00
wonder
4a28f76aa4 Made setGeometry() argument const.
git-svn-id: http://svn.osgeo.org/qgis/trunk@8736 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-07-08 14:03:09 +00:00
wonder
ac6a38a22a Added forgotten setAttributeMap() wrapper
git-svn-id: http://svn.osgeo.org/qgis/trunk@8152 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-02-13 10:08:07 +00:00
wonder
1ac580270f Merged provider0_9-branch (r6844:6878) back to trunk.
git-svn-id: http://svn.osgeo.org/qgis/trunk@6879 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-04-11 11:46:35 +00:00
wonder
00a43bc7dc QgsFeatureAttribute class has been removed and QVariant is used instead (supports arbitrary data types).
All providers and python bindings have been updated accordingly.
Currently supported variant types by providers are String, Int and Double.

Other API changes:
- QgsField
  - type info as QString is now typeName() and setTypeName()
  - added variant type (QVariant::Type) info: type(), setType()
- QgsFeature
  - removed fields() - use QgsVectorDataProvider::fields()
  - removed boundingBox() - use QgsGeometry::boundingBox()
- QgsVectorLayer - removed fields(), fieldCount(), getDefaultValue() - use directly QgsVectorDataProvider
- QgsVectorDataProvider - getDefaultValue() - field now addressed by id, returns variant
- QgsLabel - setLabelField() - field now addressed by id


git-svn-id: http://svn.osgeo.org/qgis/trunk@6833 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-03-24 22:40:10 +00:00
wonder
46a2d125a2 Merged refactoring branch back to trunk.
git-svn-id: http://svn.osgeo.org/qgis/trunk@6415 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-01-09 02:39:15 +00:00