Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #30172 from m-kuhn/backport-30079-to-release-3_4
Backport #30079 to release 3 4
  • Loading branch information
m-kuhn committed Jun 12, 2019
2 parents dc84c87 + 54d05e5 commit 2742609
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 3 deletions.
Expand Up @@ -264,6 +264,13 @@ Removes all points from the CAD point list
Adds point to the CAD point list

.. versionadded:: 3.0
%End

void removePreviousPoint();
%Docstring
Remove previous point in the CAD point list

.. versionadded:: 3.8
%End

void setPoints( const QList<QgsPointXY> &points );
Expand Down
2 changes: 2 additions & 0 deletions python/gui/auto_generated/qgsmaptooladvanceddigitizing.sip.in
Expand Up @@ -117,6 +117,8 @@ This method is protected because it should be a decision of the map tool and not
.. versionadded:: 3.0
%End



public:

virtual void cadCanvasPressEvent( QgsMapMouseEvent *e );
Expand Down
4 changes: 4 additions & 0 deletions src/gui/qgsadvanceddigitizingdockwidget.cpp
Expand Up @@ -1020,6 +1020,7 @@ void QgsAdvancedDigitizingDockWidget::addPoint( const QgsPointXY &point )
}

updateCapacity();
updateCadPaintItem();
}

void QgsAdvancedDigitizingDockWidget::removePreviousPoint()
Expand All @@ -1030,6 +1031,7 @@ void QgsAdvancedDigitizingDockWidget::removePreviousPoint()
int i = pointsCount() > 1 ? 1 : 0;
mCadPointList.removeAt( i );
updateCapacity();
updateCadPaintItem();
}

void QgsAdvancedDigitizingDockWidget::clearPoints()
Expand All @@ -1038,6 +1040,7 @@ void QgsAdvancedDigitizingDockWidget::clearPoints()
mSnappedSegment.clear();

updateCapacity();
updateCadPaintItem();
}

void QgsAdvancedDigitizingDockWidget::updateCurrentPoint( const QgsPointXY &point )
Expand All @@ -1051,6 +1054,7 @@ void QgsAdvancedDigitizingDockWidget::updateCurrentPoint( const QgsPointXY &poin
{
mCadPointList[0] = point;
}
updateCadPaintItem();
}


Expand Down
9 changes: 7 additions & 2 deletions src/gui/qgsadvanceddigitizingdockwidget.h
Expand Up @@ -278,6 +278,12 @@ class GUI_EXPORT QgsAdvancedDigitizingDockWidget : public QgsDockWidget, private
*/
void addPoint( const QgsPointXY &point );

/**
* Remove previous point in the CAD point list
* \since QGIS 3.8
*/
void removePreviousPoint();

/**
* Configures list of current CAD points
*
Expand Down Expand Up @@ -426,8 +432,7 @@ class GUI_EXPORT QgsAdvancedDigitizingDockWidget : public QgsDockWidget, private

//! update the current point in the CAD point list
void updateCurrentPoint( const QgsPointXY &point );
//! remove previous point in the CAD point list
void removePreviousPoint();


/**
* filters key press
Expand Down
4 changes: 3 additions & 1 deletion src/gui/qgsmaptooladvanceddigitizing.h
Expand Up @@ -107,6 +107,9 @@ class GUI_EXPORT QgsMapToolAdvancedDigitizing : public QgsMapToolEdit
*/
void setAutoSnapEnabled( bool enabled ) { mAutoSnapEnabled = enabled; }


QgsAdvancedDigitizingDockWidget *mCadDockWidget = nullptr;

public:

/**
Expand Down Expand Up @@ -172,7 +175,6 @@ class GUI_EXPORT QgsMapToolAdvancedDigitizing : public QgsMapToolEdit
void onCurrentLayerChanged();

private:
QgsAdvancedDigitizingDockWidget *mCadDockWidget = nullptr;

//! Whether to allow use of advanced digitizing dock at this point
bool mAdvancedDigitizingAllowed = true;
Expand Down
3 changes: 3 additions & 0 deletions src/gui/qgsmaptoolcapture.cpp
Expand Up @@ -30,6 +30,7 @@
#include "qgsvectorlayer.h"
#include "qgsvertexmarker.h"
#include "qgssettings.h"
#include "qgsadvanceddigitizingdockwidget.h"

#include <QAction>
#include <QCursor>
Expand Down Expand Up @@ -584,6 +585,8 @@ void QgsMapToolCapture::undo()
mCaptureCurve.deleteVertex( vertexToRemove );
mSnappingMatches.removeAt( vertexToRemove.vertex );

mCadDockWidget->removePreviousPoint();

validateGeometry();
}
}
Expand Down

0 comments on commit 2742609

Please sign in to comment.