Showing with 5,269 additions and 355 deletions.
  1. +4 −0 images/images.qrc
  2. +4 −4 images/themes/default/mActionAdd.svg
  3. +74 −0 images/themes/default/mActionLink.svg
  4. +193 −0 images/themes/default/mActionRemove.svg
  5. +122 −0 images/themes/default/mActionUnlink.svg
  6. +605 −0 images/themes/default/relation.svg
  7. +2 −1 python/core/core.sip
  8. +171 −0 python/core/qgsrelation.sip
  9. +1 −2 python/gui/attributetable/qgsattributetablemodel.sip
  10. +0 −9 python/gui/attributetable/qgsattributetableview.sip
  11. +0 −10 python/gui/attributetable/qgsdualview.sip
  12. +2 −2 python/gui/attributetable/qgsfeatureselectionmodel.sip
  13. +77 −0 python/gui/attributetable/qgsifeatureselectionmanager.sip
  14. +2 −0 python/gui/gui.sip
  15. +2 −0 python/gui/qgisinterface.sip
  16. +3 −2 python/gui/qgsattributedialog.sip
  17. +10 −0 python/gui/qgsvectorlayertools.sip
  18. +2 −0 src/app/CMakeLists.txt
  19. +14 −0 src/app/qgisapp.cpp
  20. +9 −1 src/app/qgisapp.h
  21. +7 −2 src/app/qgisappinterface.cpp
  22. +30 −9 src/app/qgisappinterface.h
  23. +5 −1 src/app/qgsattributetabledialog.cpp
  24. +20 −9 src/app/qgsfeatureaction.cpp
  25. +13 −2 src/app/qgsfeatureaction.h
  26. +60 −0 src/app/qgsfieldsproperties.cpp
  27. +13 −0 src/app/qgsfieldsproperties.h
  28. +162 −0 src/app/qgsguivectorlayertools.cpp
  29. +68 −0 src/app/qgsguivectorlayertools.h
  30. +19 −0 src/app/qgsprojectproperties.cpp
  31. +2 −0 src/app/qgsprojectproperties.h
  32. +5 −0 src/core/CMakeLists.txt
  33. +3 −3 src/core/qgsfeaturerequest.cpp
  34. +4 −5 src/core/qgsfeaturerequest.h
  35. +19 −10 src/core/qgsproject.cpp
  36. +11 −6 src/core/qgsproject.h
  37. +258 −0 src/core/qgsrelation.cpp
  38. +227 −0 src/core/qgsrelation.h
  39. +172 −0 src/core/qgsrelationmanager.cpp
  40. +66 −0 src/core/qgsrelationmanager.h
  41. +18 −11 src/core/qgsvectordataprovider.h
  42. +47 −0 src/core/qgsvectorlayer.cpp
  43. +56 −0 src/core/qgsvectorlayer.h
  44. +3 −2 src/core/qgsvectorlayercache.cpp
  45. +10 −1 src/core/qgsvectorlayercache.h
  46. +94 −65 src/gui/CMakeLists.txt
  47. +0 −3 src/gui/attributetable/qgsattributetablefiltermodel.cpp
  48. +0 −1 src/gui/attributetable/qgsattributetablefiltermodel.h
  49. +47 −27 src/gui/attributetable/qgsattributetablemodel.cpp
  50. +1 −2 src/gui/attributetable/qgsattributetablemodel.h
  51. +22 −4 src/gui/attributetable/qgsattributetableview.cpp
  52. +9 −9 src/gui/attributetable/qgsattributetableview.h
  53. +30 −14 src/gui/attributetable/qgsdualview.cpp
  54. +11 −6 src/gui/attributetable/qgsdualview.h
  55. +12 −11 src/gui/attributetable/qgsfeaturelistview.cpp
  56. +19 −12 src/gui/attributetable/qgsfeatureselectionmodel.cpp
  57. +14 −2 src/gui/attributetable/qgsfeatureselectionmodel.h
  58. +58 −0 src/gui/attributetable/qgsgenericfeatureselectionmanager.cpp
  59. +46 −0 src/gui/attributetable/qgsgenericfeatureselectionmanager.h
  60. +86 −0 src/gui/attributetable/qgsifeatureselectionmanager.h
  61. +50 −0 src/gui/attributetable/qgsvectorlayerselectionmanager.cpp
  62. +71 −0 src/gui/attributetable/qgsvectorlayerselectionmanager.h
  63. +2 −4 src/gui/editorwidgets/core/qgseditorwidgetregistry.cpp
  64. +1 −1 src/gui/editorwidgets/core/qgseditorwidgetregistry.h
  65. +59 −0 src/gui/editorwidgets/qgsrelationreferencefactory.cpp
  66. +79 −0 src/gui/editorwidgets/qgsrelationreferencefactory.h
  67. +202 −0 src/gui/editorwidgets/qgsrelationreferencewidget.cpp
  68. +63 −0 src/gui/editorwidgets/qgsrelationreferencewidget.h
  69. +78 −0 src/gui/editorwidgets/qgsrelreferenceconfigdlg.cpp
  70. +35 −0 src/gui/editorwidgets/qgsrelreferenceconfigdlg.h
  71. +19 −11 src/gui/qgisinterface.h
  72. +19 −2 src/gui/qgsattributedialog.cpp
  73. +21 −8 src/gui/qgsattributedialog.h
  74. +13 −1 src/gui/qgsattributeeditor.cpp
  75. +2 −1 src/gui/qgsattributeeditor.h
  76. +1 −0 src/gui/qgsattributeeditorcontext.cpp
  77. +7 −0 src/gui/qgsattributeeditorcontext.h
  78. +40 −0 src/gui/qgsfeatureselectiondlg.cpp
  79. +37 −0 src/gui/qgsfeatureselectiondlg.h
  80. +79 −0 src/gui/qgsrelationadddlg.cpp
  81. +36 −0 src/gui/qgsrelationadddlg.h
  82. +183 −0 src/gui/qgsrelationeditor.cpp
  83. +60 −0 src/gui/qgsrelationeditor.h
  84. +154 −0 src/gui/qgsrelationmanagerdialog.cpp
  85. +50 −0 src/gui/qgsrelationmanagerdialog.h
  86. +73 −0 src/gui/qgsvectorlayertools.h
  87. +18 −10 src/providers/delimitedtext/qgsdelimitedtextfeatureiterator.cpp
  88. +1 −1 src/providers/mssql/qgsmssqlfeatureiterator.cpp
  89. +4 −5 src/providers/ogr/qgsogrfeatureiterator.cpp
  90. +3 −0 src/providers/ogr/qgsogrfeatureiterator.h
  91. +4 −9 src/providers/postgres/qgspostgresfeatureiterator.cpp
  92. +4 −1 src/providers/postgres/qgspostgresfeatureiterator.h
  93. +4 −10 src/providers/spatialite/qgsspatialitefeatureiterator.cpp
  94. +3 −0 src/providers/spatialite/qgsspatialitefeatureiterator.h
  95. +5 −8 src/providers/sqlanywhere/qgssqlanywherefeatureiterator.cpp
  96. +3 −0 src/providers/sqlanywhere/qgssqlanywherefeatureiterator.h
  97. +2 −1 src/ui/CMakeLists.txt
  98. +55 −0 src/ui/editorwidgets/qgsrelreferenceconfigdlgbase.ui
  99. +12 −14 src/ui/qgsattributetabledialog.ui
  100. +78 −0 src/ui/qgsfeatureselectiondlg.ui
  101. +22 −6 src/ui/qgsfieldspropertiesbase.ui
  102. +29 −13 src/ui/qgsprojectpropertiesbase.ui
  103. +128 −0 src/ui/qgsrelationadddlgbase.ui
  104. +182 −0 src/ui/qgsrelationeditorwidgetbase.ui
  105. +109 −0 src/ui/qgsrelationmanagerdialogbase.ui
  106. +1 −1 tests/src/gui/testqgsdualview.cpp
  107. +1 −0 tests/src/python/CMakeLists.txt
  108. +123 −0 tests/src/python/test_qgsrelation.py
4 changes: 4 additions & 0 deletions images/images.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,10 @@
<file>flags/nb_NO.png</file>
<file>flags/gl.png</file>
<file>flags/hi.png</file>
<file>themes/default/relation.svg</file>
<file>themes/default/mActionLink.svg</file>
<file>themes/default/mActionUnlink.svg</file>
<file>themes/default/mActionRemove.svg</file>
</qresource>
<qresource prefix="/images/tips">
<file alias="symbol_levels.png">qgis_tips/symbol_levels.png</file>
Expand Down
8 changes: 4 additions & 4 deletions images/themes/default/mActionAdd.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
74 changes: 74 additions & 0 deletions images/themes/default/mActionLink.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
193 changes: 193 additions & 0 deletions images/themes/default/mActionRemove.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading