Skip to content

Commit dcbf893

Browse files
committed
Pass distance area into field calc bar
1 parent c5bde9b commit dcbf893

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/app/qgsattributetabledialog.cpp

+6-5
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,13 @@ QgsAttributeTableDialog::QgsAttributeTableDialog( QgsVectorLayer *theLayer, QWid
7878

7979
QgsAttributeEditorContext context;
8080

81-
QgsDistanceArea myDa;
81+
myDa = new QgsDistanceArea();
8282

83-
myDa.setSourceCrs( mLayer->crs() );
84-
myDa.setEllipsoidalMode( QgisApp::instance()->mapCanvas()->mapSettings().hasCrsTransformEnabled() );
85-
myDa.setEllipsoid( QgsProject::instance()->readEntry( "Measure", "/Ellipsoid", GEO_NONE ) );
83+
myDa->setSourceCrs( mLayer->crs() );
84+
myDa->setEllipsoidalMode( QgisApp::instance()->mapCanvas()->mapSettings().hasCrsTransformEnabled() );
85+
myDa->setEllipsoid( QgsProject::instance()->readEntry( "Measure", "/Ellipsoid", GEO_NONE ) );
8686

87-
context.setDistanceArea( myDa );
87+
context.setDistanceArea( *myDa );
8888
context.setVectorLayerTools( QgisApp::instance()->vectorLayerTools() );
8989

9090
// Initialize dual view
@@ -303,6 +303,7 @@ void QgsAttributeTableDialog::updateFieldFromExpression()
303303
QString error;
304304

305305
QgsExpression exp( mUpdateExpressionText->text() );
306+
exp.setGeomCalculator( *myDa );
306307
bool useGeometry = exp.needsGeometry();
307308

308309
QgsFeatureRequest request;

src/app/qgsattributetabledialog.h

+1
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ class APP_EXPORT QgsAttributeTableDialog : public QDialog, private Ui::QgsAttrib
194194
QAction* mActionToggleEditing;
195195

196196
QDockWidget* mDock;
197+
QgsDistanceArea* myDa;
197198

198199
QMenu* mFilterColumnsMenu;
199200
QSignalMapper* mFilterActionMapper;

0 commit comments

Comments
 (0)