#3805 Measurement. Double click in view to reset measurement

This commit is contained in:
Bjørn Erik Jensen committed 2018-12-21 09:23:53 +01:00
1 parent d6f4962ed7
commit 21403f4161
8 files changed
+170 -3

No files matched your search

@@ -20,9 +20,13 @@
#include "RiaApplication.h"
#include "Rim3dView.h"
#include "RimProject.h"
#include "RimMeasurement.h"
#include "RiuMeasurementViewEventFilter.h"
#include "RiuViewer.h"
#include "cafPdmUiPropertyViewDialog.h"
#include "cafSelectionManager.h"
#include "cvfAssert.h"
@@ -56,6 +60,16 @@ void RicToggleMeasurementModeFeature::onActionTriggered(bool isChecked)
auto meas = measurement();
meas->setMeasurementMode(!meas->isInMeasurementMode());
refreshActionLook();
auto* view = activeView();
if (meas->isInMeasurementMode())
{
view->viewer()->installEventFilter(eventFilter(this));
}
else
{
view->viewer()->removeEventFilter(eventFilter(this));
}
}
//--------------------------------------------------------------------------------------------------
@@ -88,3 +102,12 @@ Rim3dView* RicToggleMeasurementModeFeature::activeView() const
auto view = RiaApplication::instance()->activeReservoirView();
return view;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiuMeasurementViewEventFilter* RicToggleMeasurementModeFeature::eventFilter(QObject* parent)
{
static auto* filter = new RiuMeasurementViewEventFilter(parent);
return filter;
}
@@ -22,6 +22,9 @@
class RimMeasurement;
class Rim3dView;
class QObject;
class RiuMeasurementViewEventFilter;
//==================================================================================================
///
@@ -42,4 +45,6 @@ protected:
private:
RimMeasurement* measurement() const;
Rim3dView* activeView() const;
static RiuMeasurementViewEventFilter* eventFilter(QObject* parent);
};