144
144
//
145
145
// Map tools
146
146
//
147
- #include " qgsmaptoolcapture.h"
147
+ #include " qgsmaptooladdfeature.h"
148
+ #include " qgsmaptooladdring.h"
148
149
#include " qgsmaptoolidentify.h"
149
150
#include " qgsmaptoolpan.h"
150
151
#include " qgsmaptoolselect.h"
@@ -748,6 +749,11 @@ void QgisApp::createActions()
748
749
connect (mActionMoveVertex , SIGNAL (triggered ()), this , SLOT (moveVertex ()));
749
750
mActionMoveVertex ->setEnabled (false );
750
751
752
+ mActionAddRing = new QAction (QIcon (myIconPath+" /mActionAddRing.png" ), tr (" Add Ring" ), this );
753
+ mActionAddRing ->setStatusTip (tr (" Add Ring" ));
754
+ connect (mActionAddRing , SIGNAL (triggered ()), this , SLOT (addRing ()));
755
+ mActionAddRing ->setEnabled (false );
756
+
751
757
mActionEditCut = new QAction (QIcon (myIconPath+" /mActionEditCut.png" ), tr (" Cut Features" ), this );
752
758
mActionEditCut ->setStatusTip (tr (" Cut selected features" ));
753
759
connect (mActionEditCut , SIGNAL (triggered ()), this , SLOT (editCut ()));
@@ -811,6 +817,8 @@ void QgisApp::createActionGroups()
811
817
mMapToolGroup ->addAction (mActionDeleteVertex );
812
818
mActionMoveVertex ->setCheckable (true );
813
819
mMapToolGroup ->addAction (mActionMoveVertex );
820
+ mActionAddRing ->setCheckable (true );
821
+ mMapToolGroup ->addAction (mActionAddRing );
814
822
}
815
823
816
824
void QgisApp::createMenus ()
@@ -965,6 +973,7 @@ void QgisApp::createToolBars()
965
973
mDigitizeToolBar ->addAction (mActionAddVertex );
966
974
mDigitizeToolBar ->addAction (mActionDeleteVertex );
967
975
mDigitizeToolBar ->addAction (mActionMoveVertex );
976
+ mDigitizeToolBar ->addAction (mActionAddRing );
968
977
mDigitizeToolBar ->addAction (mActionEditCut );
969
978
mDigitizeToolBar ->addAction (mActionEditCopy );
970
979
mDigitizeToolBar ->addAction (mActionEditPaste );
@@ -1207,11 +1216,11 @@ void QgisApp::createCanvas()
1207
1216
mMapTools .mMeasureDist ->setAction (mActionMeasure );
1208
1217
mMapTools .mMeasureArea = new QgsMeasureTool (mMapCanvas , TRUE /* area */ );
1209
1218
mMapTools .mMeasureArea ->setAction (mActionMeasureArea );
1210
- mMapTools .mCapturePoint = new QgsMapToolCapture (mMapCanvas , QgsMapToolCapture::CapturePoint);
1219
+ mMapTools .mCapturePoint = new QgsMapToolAddFeature (mMapCanvas , QgsMapToolCapture::CapturePoint);
1211
1220
mMapTools .mCapturePoint ->setAction (mActionCapturePoint );
1212
- mMapTools .mCaptureLine = new QgsMapToolCapture (mMapCanvas , QgsMapToolCapture::CaptureLine);
1221
+ mMapTools .mCaptureLine = new QgsMapToolAddFeature (mMapCanvas , QgsMapToolCapture::CaptureLine);
1213
1222
mMapTools .mCaptureLine ->setAction (mActionCaptureLine );
1214
- mMapTools .mCapturePolygon = new QgsMapToolCapture (mMapCanvas , QgsMapToolCapture::CapturePolygon);
1223
+ mMapTools .mCapturePolygon = new QgsMapToolAddFeature (mMapCanvas , QgsMapToolCapture::CapturePolygon);
1215
1224
mMapTools .mCapturePolygon ->setAction (mActionCapturePolygon );
1216
1225
mMapTools .mSelect = new QgsMapToolSelect (mMapCanvas );
1217
1226
mMapTools .mSelect ->setAction (mActionSelect );
@@ -1221,6 +1230,8 @@ void QgisApp::createCanvas()
1221
1230
mMapTools .mVertexMove ->setAction (mActionMoveVertex );
1222
1231
mMapTools .mVertexDelete = new QgsMapToolVertexEdit (mMapCanvas , QgsMapToolVertexEdit::DeleteVertex);
1223
1232
mMapTools .mVertexDelete ->setAction (mActionDeleteVertex );
1233
+ mMapTools .mAddRing = new QgsMapToolAddRing (mMapCanvas );
1234
+ // mMapTools.mAddRing->setAction(mActionAddRing);
1224
1235
}
1225
1236
1226
1237
void QgisApp::createOverview ()
@@ -3417,6 +3428,11 @@ void QgisApp::moveVertex()
3417
3428
mMapCanvas ->setMapTool (mMapTools .mVertexMove );
3418
3429
}
3419
3430
3431
+ void QgisApp::addRing ()
3432
+ {
3433
+ mMapCanvas ->setMapTool (mMapTools .mAddRing );
3434
+ }
3435
+
3420
3436
3421
3437
void QgisApp::deleteVertex ()
3422
3438
{
@@ -4766,6 +4782,7 @@ void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
4766
4782
mActionCapturePolygon ->setEnabled (false );
4767
4783
mActionAddVertex ->setEnabled (false );
4768
4784
mActionDeleteVertex ->setEnabled (false );
4785
+ mActionAddRing ->setEnabled (false );
4769
4786
if (dprovider->capabilities () & QgsVectorDataProvider::ChangeGeometries)
4770
4787
{
4771
4788
mActionMoveVertex ->setEnabled (true );
@@ -4784,6 +4801,7 @@ void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
4784
4801
}
4785
4802
mActionCapturePoint ->setEnabled (false );
4786
4803
mActionCapturePolygon ->setEnabled (false );
4804
+ mActionAddRing ->setEnabled (false );
4787
4805
}
4788
4806
else if (vlayer->vectorType () == QGis::Polygon)
4789
4807
{
@@ -4805,6 +4823,10 @@ void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
4805
4823
mActionAddVertex ->setEnabled (true );
4806
4824
mActionMoveVertex ->setEnabled (true );
4807
4825
mActionDeleteVertex ->setEnabled (true );
4826
+ if (vlayer->vectorType () == QGis::Polygon)
4827
+ {
4828
+ mActionAddRing ->setEnabled (true );
4829
+ }
4808
4830
}
4809
4831
else
4810
4832
{
@@ -4826,6 +4848,7 @@ void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
4826
4848
mActionCaptureLine ->setEnabled (false );
4827
4849
mActionCapturePolygon ->setEnabled (false );
4828
4850
mActionDeleteSelected ->setEnabled (false );
4851
+ mActionAddRing ->setEnabled (false );
4829
4852
mActionAddVertex ->setEnabled (false );
4830
4853
mActionDeleteVertex ->setEnabled (false );
4831
4854
mActionMoveVertex ->setEnabled (false );
0 commit comments