Skip to content

Commit

Permalink
Many tools support streaming mode
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Mar 11, 2021
1 parent 7234d89 commit c5f15ae
Show file tree
Hide file tree
Showing 11 changed files with 63 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/app/qgsmaptooladdpart.cpp
Expand Up @@ -40,6 +40,20 @@ QgsMapToolCapture::Capabilities QgsMapToolAddPart::capabilities() const
return QgsMapToolCapture::SupportsCurves;
}

bool QgsMapToolAddPart::supportsTechnique( QgsMapToolCapture::CaptureTechnique technique ) const
{
switch ( technique )
{
case QgsMapToolCapture::StraightSegments:
case QgsMapToolCapture::Streaming:
return true;

case QgsMapToolCapture::CircularString:
return false;
}
return false;
}

void QgsMapToolAddPart::canvasReleaseEvent( QgsMapMouseEvent *e )
{
if ( checkSelection() )
Expand Down
1 change: 1 addition & 0 deletions src/app/qgsmaptooladdpart.h
Expand Up @@ -24,6 +24,7 @@ class APP_EXPORT QgsMapToolAddPart : public QgsMapToolCapture
QgsMapToolAddPart( QgsMapCanvas *canvas );

QgsMapToolCapture::Capabilities capabilities() const override;
bool supportsTechnique( CaptureTechnique technique ) const override;

void canvasReleaseEvent( QgsMapMouseEvent *e ) override;
void cadCanvasReleaseEvent( QgsMapMouseEvent *e ) override;
Expand Down
14 changes: 14 additions & 0 deletions src/app/qgsmaptooladdring.cpp
Expand Up @@ -33,6 +33,20 @@ QgsMapToolAddRing::QgsMapToolAddRing( QgsMapCanvas *canvas )
connect( QgisApp::instance(), &QgisApp::projectRead, this, &QgsMapToolAddRing::stopCapturing );
}

bool QgsMapToolAddRing::supportsTechnique( QgsMapToolCapture::CaptureTechnique technique ) const
{
switch ( technique )
{
case QgsMapToolCapture::StraightSegments:
case QgsMapToolCapture::Streaming:
return true;

case QgsMapToolCapture::CircularString:
return false;
}
return false;
}

void QgsMapToolAddRing::cadCanvasReleaseEvent( QgsMapMouseEvent *e )
{

Expand Down
1 change: 1 addition & 0 deletions src/app/qgsmaptooladdring.h
Expand Up @@ -22,5 +22,6 @@ class APP_EXPORT QgsMapToolAddRing: public QgsMapToolCapture
Q_OBJECT
public:
QgsMapToolAddRing( QgsMapCanvas *canvas );
bool supportsTechnique( CaptureTechnique technique ) const override;
void cadCanvasReleaseEvent( QgsMapMouseEvent *e ) override;
};
14 changes: 14 additions & 0 deletions src/app/qgsmaptoolfillring.cpp
Expand Up @@ -33,6 +33,20 @@ QgsMapToolFillRing::QgsMapToolFillRing( QgsMapCanvas *canvas )
mToolName = tr( "Fill ring" );
}

bool QgsMapToolFillRing::supportsTechnique( QgsMapToolCapture::CaptureTechnique technique ) const
{
switch ( technique )
{
case QgsMapToolCapture::StraightSegments:
case QgsMapToolCapture::Streaming:
return true;

case QgsMapToolCapture::CircularString:
return false;
}
return false;
}

void QgsMapToolFillRing::cadCanvasReleaseEvent( QgsMapMouseEvent *e )
{
//check if we operate on a vector layer
Expand Down
1 change: 1 addition & 0 deletions src/app/qgsmaptoolfillring.h
Expand Up @@ -26,6 +26,7 @@ class APP_EXPORT QgsMapToolFillRing: public QgsMapToolCapture
Q_OBJECT
public:
QgsMapToolFillRing( QgsMapCanvas *canvas );
bool supportsTechnique( CaptureTechnique technique ) const override;
void cadCanvasReleaseEvent( QgsMapMouseEvent *e ) override;

private:
Expand Down
1 change: 1 addition & 0 deletions src/app/qgsmaptoolreshape.cpp
Expand Up @@ -87,6 +87,7 @@ bool QgsMapToolReshape::supportsTechnique( QgsMapToolCapture::CaptureTechnique t
{
case QgsMapToolCapture::StraightSegments:
case QgsMapToolCapture::CircularString:
case QgsMapToolCapture::Streaming:
return true;
}
return false;
Expand Down
1 change: 1 addition & 0 deletions src/app/qgsmaptoolsplitfeatures.cpp
Expand Up @@ -36,6 +36,7 @@ bool QgsMapToolSplitFeatures::supportsTechnique( QgsMapToolCapture::CaptureTechn
{
case QgsMapToolCapture::StraightSegments:
case QgsMapToolCapture::CircularString:
case QgsMapToolCapture::Streaming:
return true;
}
return false;
Expand Down
14 changes: 14 additions & 0 deletions src/app/qgsmaptoolsplitparts.cpp
Expand Up @@ -30,6 +30,20 @@ QgsMapToolSplitParts::QgsMapToolSplitParts( QgsMapCanvas *canvas )
setSnapToLayerGridEnabled( false );
}

bool QgsMapToolSplitParts::supportsTechnique( QgsMapToolCapture::CaptureTechnique technique ) const
{
switch ( technique )
{
case QgsMapToolCapture::StraightSegments:
case QgsMapToolCapture::Streaming:
return true;

case QgsMapToolCapture::CircularString:
return false;
}
return false;
}

void QgsMapToolSplitParts::cadCanvasReleaseEvent( QgsMapMouseEvent *e )
{
//check if we operate on a vector layer
Expand Down
1 change: 1 addition & 0 deletions src/app/qgsmaptoolsplitparts.h
Expand Up @@ -24,6 +24,7 @@ class APP_EXPORT QgsMapToolSplitParts: public QgsMapToolCapture
Q_OBJECT
public:
QgsMapToolSplitParts( QgsMapCanvas *canvas );
bool supportsTechnique( CaptureTechnique technique ) const override;
void cadCanvasReleaseEvent( QgsMapMouseEvent *e ) override;
};

Expand Down
1 change: 1 addition & 0 deletions src/gui/qgsmaptooldigitizefeature.cpp
Expand Up @@ -55,6 +55,7 @@ bool QgsMapToolDigitizeFeature::supportsTechnique( QgsMapToolCapture::CaptureTec
case QgsMapToolCapture::StraightSegments:
return true;
case QgsMapToolCapture::CircularString:
case QgsMapToolCapture::Streaming:
return mode() != QgsMapToolCapture::CapturePoint;
}
return false;
Expand Down

0 comments on commit c5f15ae

Please sign in to comment.