53 Commits

Author SHA1 Message Date
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
timlinux
c4437144a9 Use readXml, writeXml instead of readXML_,writeXML_
git-svn-id: http://svn.osgeo.org/qgis/trunk@9026 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-08-07 22:18:47 +00:00
mhugent
db036f6a30 Applied patch from Adrien to remove negative selection ids when commiting added features
git-svn-id: http://svn.osgeo.org/qgis/trunk@8783 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-07-15 08:36:10 +00:00
timlinux
74a9502000 Formatting changes only for draw polygon routine
git-svn-id: http://svn.osgeo.org/qgis/trunk@8746 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-07-09 11:05:44 +00:00
jef
409dcee2c6 revert r8586 and solve issue in QgsVectorLayer (fixes #1126)
git-svn-id: http://svn.osgeo.org/qgis/trunk@8654 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-06-18 10:37:19 +00:00
mhugent
d344e965fd Applied patch provided by Adrien to fix problem where attributes where not copied for modified features
git-svn-id: http://svn.osgeo.org/qgis/trunk@8634 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-06-09 17:12:09 +00:00
telwertowski
784ce74d40 Remove use of Qt3 support inline routines which redirect old Qt3 names to new Qt4 names. Remove USE_QT3SUPPORT from top-level CMakeLists and add it to GRASS provider/plugin CMakeLists so that all use of Qt3 names and libraries is limited to these two directories.
git-svn-id: http://svn.osgeo.org/qgis/trunk@8630 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-06-09 03:30:50 +00:00
mhugent
4c5e0e17d0 changed some debug statements to use QgsDebugMsg
git-svn-id: http://svn.osgeo.org/qgis/trunk@8602 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-06-06 11:33:19 +00:00
mhugent
3079c4bc5e Fix for label size in printing output (bug #1097)
git-svn-id: http://svn.osgeo.org/qgis/trunk@8557 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-05-31 04:33:56 +00:00
timlinux
aa15f9b11d Used Q_UNUSED rather than UNUSED
git-svn-id: http://svn.osgeo.org/qgis/trunk@8464 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-05-19 13:24:49 +00:00
jef
75661148a7 fix rendering off added features
git-svn-id: http://svn.osgeo.org/qgis/trunk@8454 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-05-17 19:32:13 +00:00
mhugent
68cdb3abf4 Merge of rendercontext branch into trunk
git-svn-id: http://svn.osgeo.org/qgis/trunk@8440 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-05-15 08:13:05 +00:00
telwertowski
21708a56fb Remove all use of Qt3 compatibiliy routines except for the GRASS provider/plugin. Automatic casts of QString to char* have also been removed for compatibility with Qt/Mac-Cocoa (64-bit).
git-svn-id: http://svn.osgeo.org/qgis/trunk@8406 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-05-07 05:15:58 +00:00
mhugent
80a5f66090 Added option to have the old vertex markers back
git-svn-id: http://svn.osgeo.org/qgis/trunk@8392 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-05-01 08:41:07 +00:00
jef
13c9c1c17a fix for #1030
git-svn-id: http://svn.osgeo.org/qgis/trunk@8336 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-04-11 12:17:37 +00:00
jef
106cb5c645 fix GCC 4.3 compatibility issues (still compiles with GCC 4.2 and MSVC8)
git-svn-id: http://svn.osgeo.org/qgis/trunk@8257 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-03-21 00:45:50 +00:00
jef
4b622ded4b fix msvc warnings
git-svn-id: http://svn.osgeo.org/qgis/trunk@8206 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-03-11 23:47:55 +00:00
timlinux
279cc6f474 Commented out overly verbose debug line
git-svn-id: http://svn.osgeo.org/qgis/trunk@8201 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-03-10 15:57:27 +00:00
mhugent
0a2943024c Commited patch from Stefanie for QgsVectorLayer::snapToGeometry
git-svn-id: http://svn.osgeo.org/qgis/trunk@8150 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-02-13 08:48:07 +00:00
mhugent
4e6a87d04c fix for bug where feature splitting was not possible if bounding box of split line was a line
git-svn-id: http://svn.osgeo.org/qgis/trunk@8100 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-02-03 13:33:28 +00:00
mhugent
c41d416d1d Fix for bug that crashed qgis when moving the first/last vertex of a line
git-svn-id: http://svn.osgeo.org/qgis/trunk@8088 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-29 08:58:15 +00:00
mhugent
ae63c319ba nicer vertex markers for editing
git-svn-id: http://svn.osgeo.org/qgis/trunk@8086 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-29 08:10:28 +00:00
mhugent
08d2c2523e Improvement to feature splitting: if there is a selection, the split tool only considers the selected features. If not, all the features intersecting the bounding box of the split line are considered
git-svn-id: http://svn.osgeo.org/qgis/trunk@8063 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-28 16:40:45 +00:00
mhugent
4635c89077 Changed feature splitting mechanism such that it is possible to generate several new features with one split
git-svn-id: http://svn.osgeo.org/qgis/trunk@8008 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-20 16:07:55 +00:00
wonder
d011ea483f - renamed QgsGeometry::difference to QgsGeometry::makeDifference
- more geoprocessing in QgsGeometry: convexHull, intersection, Union, difference, symDifference


git-svn-id: http://svn.osgeo.org/qgis/trunk@7994 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-17 18:20:52 +00:00
timlinux
8a55d7f241 Merge renderer branch to trunk r7761:7920
git-svn-id: http://svn.osgeo.org/qgis/trunk@7922 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-10 22:38:05 +00:00
wonder
d6f4ba9a13 Fixed selection of features in vector layer so the map canvas doesn't get re-rendered many times during the operation.
git-svn-id: http://svn.osgeo.org/qgis/trunk@7911 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-10 15:02:30 +00:00
mhugent
61ecb55810 Merge of advanced editing branch is now done
git-svn-id: http://svn.osgeo.org/qgis/trunk@7886 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-09 16:54:55 +00:00
mhugent
2002f683da More editing merges...
git-svn-id: http://svn.osgeo.org/qgis/trunk@7884 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-09 16:26:44 +00:00
mhugent
5d1af70ad9 More merging of editing branch
git-svn-id: http://svn.osgeo.org/qgis/trunk@7882 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-09 16:14:17 +00:00
mhugent
9eba4b0c31 first part of advanced editing branch merge
git-svn-id: http://svn.osgeo.org/qgis/trunk@7880 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-09 14:40:21 +00:00
mhugent
28c5599c7e Patch that provides incremental screen update
git-svn-id: http://svn.osgeo.org/qgis/trunk@7846 c8812cc2-4d05-0410-92ff-de0c093fc19c
2008-01-05 15:54:03 +00:00
jef
4652d5acf5 Improve parsing in QgsDataSourceURI (adapted from PQconnectdb) and gather
connection info parsing and creation there.   Fixes #817.

Please test!



git-svn-id: http://svn.osgeo.org/qgis/trunk@7672 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-11-27 21:35:10 +00:00
jef
415646afa9 only store name of layerfield if it's actually set, fixes #814
git-svn-id: http://svn.osgeo.org/qgis/trunk@7453 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-11-18 12:05:48 +00:00
jef
2bec93edb5 fix for #814
git-svn-id: http://svn.osgeo.org/qgis/trunk@7448 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-11-18 03:46:04 +00:00
timlinux
aca333feb4 Applied Jürgens patch with improvements for MSVC build and initial attempts at GRASS under MSVC
git-svn-id: http://svn.osgeo.org/qgis/trunk@7322 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-11-05 01:23:41 +00:00
wonder
995037ac5b Fixed potential crash when layer is instantiated without specifying a provider key.
git-svn-id: http://svn.osgeo.org/qgis/trunk@7262 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-10-11 23:39:59 +00:00
wonder
76d58b68fe Fix for #707. When there were no features in provider, calculation started
with extent with null coordinates and extended it - that's reason of wrong extent


git-svn-id: http://svn.osgeo.org/qgis/trunk@7128 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-08-06 14:42:24 +00:00
mhugent
c9da10c13f This commit changes the interface of qgsvectorlayer back to the state before r7063 and keeps the fix to allow deletion of postgis columns
git-svn-id: http://svn.osgeo.org/qgis/trunk@7065 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-07-07 06:58:10 +00:00
mhugent
0174afd26a Fix to make deletion of postgres columns working again
git-svn-id: http://svn.osgeo.org/qgis/trunk@7063 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-07-06 13:39:41 +00:00
mhugent
44d8225e7d Added the possibility for renderers to have different transparency levels for different classes
git-svn-id: http://svn.osgeo.org/qgis/trunk@6967 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-05-30 10:02:12 +00:00
mhugent
be40dae943 Made a toggle editing button instead of the (deactivated) start and stop buttons. The QAction for the toggle button is also used in the legend (right click menu) to have a consistent button/menu state
git-svn-id: http://svn.osgeo.org/qgis/trunk@6965 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-05-26 10:29:13 +00:00
mhugent
68510607ec A tool to add polygons to multipolygon features
git-svn-id: http://svn.osgeo.org/qgis/trunk@6963 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-05-26 07:31:01 +00:00
mhugent
60fdc6dacc Changed std::list to QList in addRing functions
git-svn-id: http://svn.osgeo.org/qgis/trunk@6946 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-05-16 09:32:24 +00:00
mhugent
45b045f017 Added a tool to cut holes into polygons/multipolygons. Made QgsMapToolCapture a base class of QgsMapToolAddRing and QgsMapToolAddFeature. Many bugfixes, e.g. it should now be possible to edit a reprojected layer (but the snapping distance needs to be given in the source units of the edited layer)
git-svn-id: http://svn.osgeo.org/qgis/trunk@6942 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-05-13 13:40:35 +00:00
wonder
5a4d23ff80 - more sane function prototypes for searching for closest vertex/segment
- fixed some problems in python bindings


git-svn-id: http://svn.osgeo.org/qgis/trunk@6896 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-04-18 21:08:55 +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
2e26ecff43 - removed legacy macro QgsDebug and changed remaining occurences of it to QgsDebugMsg
- moved #include "qgsconfig.h" from qgis.h to qgis.cpp so it doesn't spit many warnings when building bindings because of redefined PREFIX


git-svn-id: http://svn.osgeo.org/qgis/trunk@6730 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-02-28 10:28:37 +00:00
g_j_m
617ee8c06a Provide for a layer comment to be made available for vector layers
For postgres provider, get the layer comment from the table comment (if
it exists). Resolves ticket #244


git-svn-id: http://svn.osgeo.org/qgis/trunk@6726 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-02-28 09:06:19 +00:00