Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
add missing text for mesh editing undo/redo
  • Loading branch information
vcloarec committed Oct 10, 2021
1 parent 24a61fa commit 56b9d80
Show file tree
Hide file tree
Showing 11 changed files with 86 additions and 13 deletions.
Expand Up @@ -139,6 +139,9 @@ a Delaunay triangulation on provided existing vertex.
Constructor
%End

virtual QString text() const;


};

/************************************************************************
Expand Down
11 changes: 11 additions & 0 deletions python/core/auto_generated/mesh/qgsmeshadvancedediting.sip.in
Expand Up @@ -56,6 +56,11 @@ Removes all data provided to the editing or created by the editing
%Docstring
Returns whether the advanced edit is finished,
if not, this edit has to be applied again with :py:func:`QgsMeshEditor.advancedEdit()` until is finished returns ``True``
%End

virtual QString text() const;
%Docstring
Returns a short text string describing what this advanced edit does. Default implementation return a void string.
%End

protected:
Expand Down Expand Up @@ -86,6 +91,9 @@ Neighboring faces are triangulated to take account of the new vertex in the shar
Constructor
%End

virtual QString text() const;


};


Expand Down Expand Up @@ -123,6 +131,9 @@ expressionZ: "if( $vertex_x <= 100 , $vertex_z + 80 , $vertex_z - 150)"
Constructor
%End

virtual QString text() const;


void setExpressions( const QString &expressionX, const QString &expressionY, const QString &expressionZ );
%Docstring
Sets the expressions for the coordinates transformation.
Expand Down
Expand Up @@ -88,6 +88,8 @@ before applying the edition with :py:func:`QgsMeshEditor.advancedEdit()`
Constructor
%End

virtual QString text() const;

virtual bool isFinished() const;


Expand Down
7 changes: 6 additions & 1 deletion src/analysis/mesh/qgsmeshtriangulation.cpp
Expand Up @@ -337,6 +337,11 @@ int QgsMeshZValueDataset::valuesCount() const

QgsMeshEditingDelaunayTriangulation::QgsMeshEditingDelaunayTriangulation() = default;

QString QgsMeshEditingDelaunayTriangulation::text() const
{
return QObject::tr( "Delaunay triangulation" );
}

QgsTopologicalMesh::Changes QgsMeshEditingDelaunayTriangulation::apply( QgsMeshEditor *meshEditor )
{
//use only vertices that are on boundary or free, if boundary
Expand Down Expand Up @@ -431,7 +436,7 @@ QgsTopologicalMesh::Changes QgsMeshEditingDelaunayTriangulation::apply( QgsMeshE
Q_ASSERT( meshEditor->topologicalMesh().checkConsistency() == QgsMeshEditingError() );

if ( !removedVerticesFromTriangulation.isEmpty() )
mMessage = QObject::tr( "%1 vertices have not been included in the triangulation" ).arg( removedVerticesFromTriangulation.count() );
mMessage = QObject::tr( "%n vertices have not been included in the triangulation", nullptr, removedVerticesFromTriangulation.count() );

mIsFinished = true;

Expand Down
2 changes: 2 additions & 0 deletions src/analysis/mesh/qgsmeshtriangulation.h
Expand Up @@ -181,6 +181,8 @@ class ANALYSIS_EXPORT QgsMeshEditingDelaunayTriangulation : public QgsMeshAdvanc
//! Constructor
QgsMeshEditingDelaunayTriangulation();

QString text() const override;

private:
QgsTopologicalMesh::Changes apply( QgsMeshEditor *meshEditor ) override;
};
Expand Down
2 changes: 1 addition & 1 deletion src/app/qgisapp.cpp
Expand Up @@ -15701,7 +15701,6 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer *layer )
mActionSelectByForm->setEnabled( false );
mActionOpenFieldCalc->setEnabled( false );
mActionSaveLayerEdits->setEnabled( false );
mUndoDock->widget()->setEnabled( false );
mActionSaveLayerDefinition->setEnabled( true );
mActionLayerSaveAs->setEnabled( false );
mActionAddFeature->setEnabled( false );
Expand Down Expand Up @@ -15740,6 +15739,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer *layer )
mActionToggleEditing->setChecked( canSupportEditing && isEditable );
mActionSaveLayerEdits->setEnabled( canSupportEditing && isEditable && mlayer->isModified() );
enableMeshEditingTools( isEditable );
mUndoDock->widget()->setEnabled( canSupportEditing && isEditable );
mActionUndo->setEnabled( canSupportEditing && isEditable );
mActionRedo->setEnabled( canSupportEditing && isEditable );
updateUndoActions();
Expand Down
15 changes: 15 additions & 0 deletions src/core/mesh/qgsmeshadvancedediting.cpp
Expand Up @@ -57,6 +57,11 @@ bool QgsMeshAdvancedEditing::isFinished() const
return mIsFinished;
}

QString QgsMeshAdvancedEditing::text() const
{
return QString();
}

static int vertexPositionInFace( int vertexIndex, const QgsMeshFace &face )
{
return face.indexOf( vertexIndex );
Expand Down Expand Up @@ -604,6 +609,11 @@ bool QgsMeshEditRefineFaces::createNewBorderFaces( QgsMeshEditor *meshEditor,
return true;
}

QString QgsMeshEditRefineFaces::text() const
{
return QObject::tr( "Refine %n faces", nullptr, mInputFaces.count() );
}

bool QgsMeshTransformVerticesByExpression::calculate( QgsMeshLayer *layer )
{
if ( !layer || !layer->meshEditor() || !layer->nativeMesh() )
Expand Down Expand Up @@ -742,6 +752,11 @@ bool QgsMeshTransformVerticesByExpression::calculate( QgsMeshLayer *layer )
return layer->meshEditor()->canBeTransformed( mNativeFacesIndexesGeometryChanged, transformFunction );
}

QString QgsMeshTransformVerticesByExpression::text() const
{
return QObject::tr( "Transform %n vertices by expression", nullptr, mInputVertices.count() );
}

void QgsMeshTransformVerticesByExpression::setExpressions( const QString &expressionX, const QString &expressionY, const QString &expressionZ )
{
mExpressionX = expressionX;
Expand Down
7 changes: 7 additions & 0 deletions src/core/mesh/qgsmeshadvancedediting.h
Expand Up @@ -62,6 +62,9 @@ class CORE_EXPORT QgsMeshAdvancedEditing : protected QgsTopologicalMesh::Changes
*/
virtual bool isFinished() const;

//! Returns a short text string describing what this advanced edit does. Default implementation return a void string.
virtual QString text() const;

protected:
QList<int> mInputVertices;
QList<int> mInputFaces;
Expand Down Expand Up @@ -97,6 +100,8 @@ class CORE_EXPORT QgsMeshEditRefineFaces : public QgsMeshAdvancedEditing
//! Constructor
QgsMeshEditRefineFaces();

QString text() const override;

private:
QgsTopologicalMesh::Changes apply( QgsMeshEditor *meshEditor ) override;

Expand Down Expand Up @@ -161,6 +166,8 @@ class CORE_EXPORT QgsMeshTransformVerticesByExpression : public QgsMeshAdvancedE
//! Constructor
QgsMeshTransformVerticesByExpression() = default;

QString text() const override;

/**
* Sets the expressions for the coordinates transformation.
*
Expand Down
44 changes: 33 additions & 11 deletions src/core/mesh/qgsmesheditor.cpp
Expand Up @@ -776,7 +776,9 @@ QgsMeshLayerUndoCommandAddVertices::QgsMeshLayerUndoCommandAddVertices( QgsMeshE
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mVertices( vertices )
, mTolerance( tolerance )
{}
{
setText( QObject::tr( "Add %n vertices", nullptr, mVertices.count() ) );
}

void QgsMeshLayerUndoCommandAddVertices::redo()
{
Expand Down Expand Up @@ -804,7 +806,9 @@ QgsMeshLayerUndoCommandRemoveVertices::QgsMeshLayerUndoCommandRemoveVertices( Qg
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mVerticesToRemoveIndexes( verticesToRemoveIndexes )
, mFillHole( fillHole )
{}
{
setText( QObject::tr( "Remove %n vertices", nullptr, verticesToRemoveIndexes.count() ) ) ;
}

void QgsMeshLayerUndoCommandRemoveVertices::redo()
{
Expand Down Expand Up @@ -837,7 +841,9 @@ void QgsMeshLayerUndoCommandRemoveVertices::redo()
QgsMeshLayerUndoCommandAddFaces::QgsMeshLayerUndoCommandAddFaces( QgsMeshEditor *meshEditor, QgsTopologicalMesh::TopologicalFaces &faces )
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mFaces( faces )
{}
{
setText( QObject::tr( "Add %n faces", nullptr, faces.meshFaces().count() ) );
}

void QgsMeshLayerUndoCommandAddFaces::redo()
{
Expand All @@ -859,7 +865,9 @@ void QgsMeshLayerUndoCommandAddFaces::redo()
QgsMeshLayerUndoCommandRemoveFaces::QgsMeshLayerUndoCommandRemoveFaces( QgsMeshEditor *meshEditor, const QList<int> &facesToRemoveIndexes )
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mfacesToRemoveIndexes( facesToRemoveIndexes )
{}
{
setText( QObject::tr( "Remove %n faces", nullptr, facesToRemoveIndexes.count() ) );
}

void QgsMeshLayerUndoCommandRemoveFaces::redo()
{
Expand Down Expand Up @@ -953,7 +961,9 @@ QgsMeshLayerUndoCommandChangeZValue::QgsMeshLayerUndoCommandChangeZValue( QgsMes
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mVerticesIndexes( verticesIndexes )
, mNewValues( newValues )
{}
{
setText( QObject::tr( "Change %n vertices Z Value", nullptr, verticesIndexes.count() ) );
}

void QgsMeshLayerUndoCommandChangeZValue::redo()
{
Expand All @@ -976,7 +986,9 @@ QgsMeshLayerUndoCommandChangeXYValue::QgsMeshLayerUndoCommandChangeXYValue( QgsM
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mVerticesIndexes( verticesIndexes )
, mNewValues( newValues )
{}
{
setText( QObject::tr( "Move %n vertices", nullptr, verticesIndexes.count() ) );
}

void QgsMeshLayerUndoCommandChangeXYValue::redo()
{
Expand All @@ -1000,7 +1012,9 @@ QgsMeshLayerUndoCommandChangeCoordinates::QgsMeshLayerUndoCommandChangeCoordinat
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mVerticesIndexes( verticesIndexes )
, mNewCoordinates( newCoordinates )
{}
{
setText( QObject::tr( "Transform %n vertices coordinates", nullptr, verticesIndexes.count() ) );
}

void QgsMeshLayerUndoCommandChangeCoordinates::redo()
{
Expand Down Expand Up @@ -1039,7 +1053,9 @@ QgsMeshLayerUndoCommandFlipEdge::QgsMeshLayerUndoCommandFlipEdge( QgsMeshEditor
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mVertexIndex1( vertexIndex1 )
, mVertexIndex2( vertexIndex2 )
{}
{
setText( QObject::tr( "Flip edge" ) );
}

void QgsMeshLayerUndoCommandFlipEdge::redo()
{
Expand All @@ -1062,7 +1078,9 @@ QgsMeshLayerUndoCommandMerge::QgsMeshLayerUndoCommandMerge( QgsMeshEditor *meshE
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mVertexIndex1( vertexIndex1 )
, mVertexIndex2( vertexIndex2 )
{}
{
setText( QObject::tr( "Merge faces" ) );
}

void QgsMeshLayerUndoCommandMerge::redo()
{
Expand All @@ -1084,7 +1102,9 @@ void QgsMeshLayerUndoCommandMerge::redo()
QgsMeshLayerUndoCommandSplitFaces::QgsMeshLayerUndoCommandSplitFaces( QgsMeshEditor *meshEditor, const QList<int> &faceIndexes )
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mFaceIndexes( faceIndexes )
{}
{
setText( QObject::tr( "Split %n faces", nullptr, faceIndexes.count() ) );
}

void QgsMeshLayerUndoCommandSplitFaces::redo()
{
Expand All @@ -1108,7 +1128,9 @@ void QgsMeshLayerUndoCommandSplitFaces::redo()
QgsMeshLayerUndoCommandAdvancedEditing::QgsMeshLayerUndoCommandAdvancedEditing( QgsMeshEditor *meshEditor, QgsMeshAdvancedEditing *advancdEdit )
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
, mAdvancedEditing( advancdEdit )
{}
{
setText( advancdEdit->text() );
}

void QgsMeshLayerUndoCommandAdvancedEditing::redo()
{
Expand Down
5 changes: 5 additions & 0 deletions src/core/mesh/qgsmeshforcebypolylines.cpp
Expand Up @@ -1095,6 +1095,11 @@ bool QgsMeshEditForceByLine::finishForcingLine()
}


QString QgsMeshEditForceByPolylines::text() const
{
return QObject::tr( "Force mesh by polyline" );
}

bool QgsMeshEditForceByPolylines::isFinished() const
{
return mCurrentPolyline >= mPolylines.count() && QgsMeshEditForceByLine::isFinished();
Expand Down
1 change: 1 addition & 0 deletions src/core/mesh/qgsmeshforcebypolylines.h
Expand Up @@ -148,6 +148,7 @@ class CORE_EXPORT QgsMeshEditForceByPolylines : public QgsMeshEditForceByLine
//! Constructor
QgsMeshEditForceByPolylines() = default;

QString text() const override;
bool isFinished() const override;

/**
Expand Down

0 comments on commit 56b9d80

Please sign in to comment.