Skip to content

Commit 56b9d80

Browse files
authoredOct 10, 2021
add missing text for mesh editing undo/redo
1 parent 24a61fa commit 56b9d80

File tree

11 files changed

+86
-13
lines changed

11 files changed

+86
-13
lines changed
 

‎python/analysis/auto_generated/mesh/qgsmeshtriangulation.sip.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,9 @@ a Delaunay triangulation on provided existing vertex.
139139
Constructor
140140
%End
141141

142+
virtual QString text() const;
143+
144+
142145
};
143146

144147
/************************************************************************

‎python/core/auto_generated/mesh/qgsmeshadvancedediting.sip.in

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ Removes all data provided to the editing or created by the editing
5656
%Docstring
5757
Returns whether the advanced edit is finished,
5858
if not, this edit has to be applied again with :py:func:`QgsMeshEditor.advancedEdit()` until is finished returns ``True``
59+
%End
60+
61+
virtual QString text() const;
62+
%Docstring
63+
Returns a short text string describing what this advanced edit does. Default implementation return a void string.
5964
%End
6065

6166
protected:
@@ -86,6 +91,9 @@ Neighboring faces are triangulated to take account of the new vertex in the shar
8691
Constructor
8792
%End
8893

94+
virtual QString text() const;
95+
96+
8997
};
9098

9199

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

134+
virtual QString text() const;
135+
136+
126137
void setExpressions( const QString &expressionX, const QString &expressionY, const QString &expressionZ );
127138
%Docstring
128139
Sets the expressions for the coordinates transformation.

‎python/core/auto_generated/mesh/qgsmeshforcebypolylines.sip.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ before applying the edition with :py:func:`QgsMeshEditor.advancedEdit()`
8888
Constructor
8989
%End
9090

91+
virtual QString text() const;
92+
9193
virtual bool isFinished() const;
9294

9395

‎src/analysis/mesh/qgsmeshtriangulation.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,11 @@ int QgsMeshZValueDataset::valuesCount() const
337337

338338
QgsMeshEditingDelaunayTriangulation::QgsMeshEditingDelaunayTriangulation() = default;
339339

340+
QString QgsMeshEditingDelaunayTriangulation::text() const
341+
{
342+
return QObject::tr( "Delaunay triangulation" );
343+
}
344+
340345
QgsTopologicalMesh::Changes QgsMeshEditingDelaunayTriangulation::apply( QgsMeshEditor *meshEditor )
341346
{
342347
//use only vertices that are on boundary or free, if boundary
@@ -431,7 +436,7 @@ QgsTopologicalMesh::Changes QgsMeshEditingDelaunayTriangulation::apply( QgsMeshE
431436
Q_ASSERT( meshEditor->topologicalMesh().checkConsistency() == QgsMeshEditingError() );
432437

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

436441
mIsFinished = true;
437442

‎src/analysis/mesh/qgsmeshtriangulation.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,8 @@ class ANALYSIS_EXPORT QgsMeshEditingDelaunayTriangulation : public QgsMeshAdvanc
181181
//! Constructor
182182
QgsMeshEditingDelaunayTriangulation();
183183

184+
QString text() const override;
185+
184186
private:
185187
QgsTopologicalMesh::Changes apply( QgsMeshEditor *meshEditor ) override;
186188
};

‎src/app/qgisapp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15701,7 +15701,6 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer *layer )
1570115701
mActionSelectByForm->setEnabled( false );
1570215702
mActionOpenFieldCalc->setEnabled( false );
1570315703
mActionSaveLayerEdits->setEnabled( false );
15704-
mUndoDock->widget()->setEnabled( false );
1570515704
mActionSaveLayerDefinition->setEnabled( true );
1570615705
mActionLayerSaveAs->setEnabled( false );
1570715706
mActionAddFeature->setEnabled( false );
@@ -15740,6 +15739,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer *layer )
1574015739
mActionToggleEditing->setChecked( canSupportEditing && isEditable );
1574115740
mActionSaveLayerEdits->setEnabled( canSupportEditing && isEditable && mlayer->isModified() );
1574215741
enableMeshEditingTools( isEditable );
15742+
mUndoDock->widget()->setEnabled( canSupportEditing && isEditable );
1574315743
mActionUndo->setEnabled( canSupportEditing && isEditable );
1574415744
mActionRedo->setEnabled( canSupportEditing && isEditable );
1574515745
updateUndoActions();

‎src/core/mesh/qgsmeshadvancedediting.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ bool QgsMeshAdvancedEditing::isFinished() const
5757
return mIsFinished;
5858
}
5959

60+
QString QgsMeshAdvancedEditing::text() const
61+
{
62+
return QString();
63+
}
64+
6065
static int vertexPositionInFace( int vertexIndex, const QgsMeshFace &face )
6166
{
6267
return face.indexOf( vertexIndex );
@@ -604,6 +609,11 @@ bool QgsMeshEditRefineFaces::createNewBorderFaces( QgsMeshEditor *meshEditor,
604609
return true;
605610
}
606611

612+
QString QgsMeshEditRefineFaces::text() const
613+
{
614+
return QObject::tr( "Refine %n faces", nullptr, mInputFaces.count() );
615+
}
616+
607617
bool QgsMeshTransformVerticesByExpression::calculate( QgsMeshLayer *layer )
608618
{
609619
if ( !layer || !layer->meshEditor() || !layer->nativeMesh() )
@@ -742,6 +752,11 @@ bool QgsMeshTransformVerticesByExpression::calculate( QgsMeshLayer *layer )
742752
return layer->meshEditor()->canBeTransformed( mNativeFacesIndexesGeometryChanged, transformFunction );
743753
}
744754

755+
QString QgsMeshTransformVerticesByExpression::text() const
756+
{
757+
return QObject::tr( "Transform %n vertices by expression", nullptr, mInputVertices.count() );
758+
}
759+
745760
void QgsMeshTransformVerticesByExpression::setExpressions( const QString &expressionX, const QString &expressionY, const QString &expressionZ )
746761
{
747762
mExpressionX = expressionX;

‎src/core/mesh/qgsmeshadvancedediting.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ class CORE_EXPORT QgsMeshAdvancedEditing : protected QgsTopologicalMesh::Changes
6262
*/
6363
virtual bool isFinished() const;
6464

65+
//! Returns a short text string describing what this advanced edit does. Default implementation return a void string.
66+
virtual QString text() const;
67+
6568
protected:
6669
QList<int> mInputVertices;
6770
QList<int> mInputFaces;
@@ -97,6 +100,8 @@ class CORE_EXPORT QgsMeshEditRefineFaces : public QgsMeshAdvancedEditing
97100
//! Constructor
98101
QgsMeshEditRefineFaces();
99102

103+
QString text() const override;
104+
100105
private:
101106
QgsTopologicalMesh::Changes apply( QgsMeshEditor *meshEditor ) override;
102107

@@ -161,6 +166,8 @@ class CORE_EXPORT QgsMeshTransformVerticesByExpression : public QgsMeshAdvancedE
161166
//! Constructor
162167
QgsMeshTransformVerticesByExpression() = default;
163168

169+
QString text() const override;
170+
164171
/**
165172
* Sets the expressions for the coordinates transformation.
166173
*

‎src/core/mesh/qgsmesheditor.cpp

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -776,7 +776,9 @@ QgsMeshLayerUndoCommandAddVertices::QgsMeshLayerUndoCommandAddVertices( QgsMeshE
776776
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
777777
, mVertices( vertices )
778778
, mTolerance( tolerance )
779-
{}
779+
{
780+
setText( QObject::tr( "Add %n vertices", nullptr, mVertices.count() ) );
781+
}
780782

781783
void QgsMeshLayerUndoCommandAddVertices::redo()
782784
{
@@ -804,7 +806,9 @@ QgsMeshLayerUndoCommandRemoveVertices::QgsMeshLayerUndoCommandRemoveVertices( Qg
804806
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
805807
, mVerticesToRemoveIndexes( verticesToRemoveIndexes )
806808
, mFillHole( fillHole )
807-
{}
809+
{
810+
setText( QObject::tr( "Remove %n vertices", nullptr, verticesToRemoveIndexes.count() ) ) ;
811+
}
808812

809813
void QgsMeshLayerUndoCommandRemoveVertices::redo()
810814
{
@@ -837,7 +841,9 @@ void QgsMeshLayerUndoCommandRemoveVertices::redo()
837841
QgsMeshLayerUndoCommandAddFaces::QgsMeshLayerUndoCommandAddFaces( QgsMeshEditor *meshEditor, QgsTopologicalMesh::TopologicalFaces &faces )
838842
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
839843
, mFaces( faces )
840-
{}
844+
{
845+
setText( QObject::tr( "Add %n faces", nullptr, faces.meshFaces().count() ) );
846+
}
841847

842848
void QgsMeshLayerUndoCommandAddFaces::redo()
843849
{
@@ -859,7 +865,9 @@ void QgsMeshLayerUndoCommandAddFaces::redo()
859865
QgsMeshLayerUndoCommandRemoveFaces::QgsMeshLayerUndoCommandRemoveFaces( QgsMeshEditor *meshEditor, const QList<int> &facesToRemoveIndexes )
860866
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
861867
, mfacesToRemoveIndexes( facesToRemoveIndexes )
862-
{}
868+
{
869+
setText( QObject::tr( "Remove %n faces", nullptr, facesToRemoveIndexes.count() ) );
870+
}
863871

864872
void QgsMeshLayerUndoCommandRemoveFaces::redo()
865873
{
@@ -953,7 +961,9 @@ QgsMeshLayerUndoCommandChangeZValue::QgsMeshLayerUndoCommandChangeZValue( QgsMes
953961
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
954962
, mVerticesIndexes( verticesIndexes )
955963
, mNewValues( newValues )
956-
{}
964+
{
965+
setText( QObject::tr( "Change %n vertices Z Value", nullptr, verticesIndexes.count() ) );
966+
}
957967

958968
void QgsMeshLayerUndoCommandChangeZValue::redo()
959969
{
@@ -976,7 +986,9 @@ QgsMeshLayerUndoCommandChangeXYValue::QgsMeshLayerUndoCommandChangeXYValue( QgsM
976986
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
977987
, mVerticesIndexes( verticesIndexes )
978988
, mNewValues( newValues )
979-
{}
989+
{
990+
setText( QObject::tr( "Move %n vertices", nullptr, verticesIndexes.count() ) );
991+
}
980992

981993
void QgsMeshLayerUndoCommandChangeXYValue::redo()
982994
{
@@ -1000,7 +1012,9 @@ QgsMeshLayerUndoCommandChangeCoordinates::QgsMeshLayerUndoCommandChangeCoordinat
10001012
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
10011013
, mVerticesIndexes( verticesIndexes )
10021014
, mNewCoordinates( newCoordinates )
1003-
{}
1015+
{
1016+
setText( QObject::tr( "Transform %n vertices coordinates", nullptr, verticesIndexes.count() ) );
1017+
}
10041018

10051019
void QgsMeshLayerUndoCommandChangeCoordinates::redo()
10061020
{
@@ -1039,7 +1053,9 @@ QgsMeshLayerUndoCommandFlipEdge::QgsMeshLayerUndoCommandFlipEdge( QgsMeshEditor
10391053
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
10401054
, mVertexIndex1( vertexIndex1 )
10411055
, mVertexIndex2( vertexIndex2 )
1042-
{}
1056+
{
1057+
setText( QObject::tr( "Flip edge" ) );
1058+
}
10431059

10441060
void QgsMeshLayerUndoCommandFlipEdge::redo()
10451061
{
@@ -1062,7 +1078,9 @@ QgsMeshLayerUndoCommandMerge::QgsMeshLayerUndoCommandMerge( QgsMeshEditor *meshE
10621078
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
10631079
, mVertexIndex1( vertexIndex1 )
10641080
, mVertexIndex2( vertexIndex2 )
1065-
{}
1081+
{
1082+
setText( QObject::tr( "Merge faces" ) );
1083+
}
10661084

10671085
void QgsMeshLayerUndoCommandMerge::redo()
10681086
{
@@ -1084,7 +1102,9 @@ void QgsMeshLayerUndoCommandMerge::redo()
10841102
QgsMeshLayerUndoCommandSplitFaces::QgsMeshLayerUndoCommandSplitFaces( QgsMeshEditor *meshEditor, const QList<int> &faceIndexes )
10851103
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
10861104
, mFaceIndexes( faceIndexes )
1087-
{}
1105+
{
1106+
setText( QObject::tr( "Split %n faces", nullptr, faceIndexes.count() ) );
1107+
}
10881108

10891109
void QgsMeshLayerUndoCommandSplitFaces::redo()
10901110
{
@@ -1108,7 +1128,9 @@ void QgsMeshLayerUndoCommandSplitFaces::redo()
11081128
QgsMeshLayerUndoCommandAdvancedEditing::QgsMeshLayerUndoCommandAdvancedEditing( QgsMeshEditor *meshEditor, QgsMeshAdvancedEditing *advancdEdit )
11091129
: QgsMeshLayerUndoCommandMeshEdit( meshEditor )
11101130
, mAdvancedEditing( advancdEdit )
1111-
{}
1131+
{
1132+
setText( advancdEdit->text() );
1133+
}
11121134

11131135
void QgsMeshLayerUndoCommandAdvancedEditing::redo()
11141136
{

‎src/core/mesh/qgsmeshforcebypolylines.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1095,6 +1095,11 @@ bool QgsMeshEditForceByLine::finishForcingLine()
10951095
}
10961096

10971097

1098+
QString QgsMeshEditForceByPolylines::text() const
1099+
{
1100+
return QObject::tr( "Force mesh by polyline" );
1101+
}
1102+
10981103
bool QgsMeshEditForceByPolylines::isFinished() const
10991104
{
11001105
return mCurrentPolyline >= mPolylines.count() && QgsMeshEditForceByLine::isFinished();

‎src/core/mesh/qgsmeshforcebypolylines.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ class CORE_EXPORT QgsMeshEditForceByPolylines : public QgsMeshEditForceByLine
148148
//! Constructor
149149
QgsMeshEditForceByPolylines() = default;
150150

151+
QString text() const override;
151152
bool isFinished() const override;
152153

153154
/**

0 commit comments

Comments
 (0)
Please sign in to comment.