mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#4070 Add pick cursor to measurements
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
#include "RicMeasurementPickEventHandler.h"
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RiuViewerCommands.h"
|
||||
|
||||
#include "Rim3dView.h"
|
||||
#include "RimIntersection.h"
|
||||
@@ -43,6 +44,24 @@ RicMeasurementPickEventHandler* RicMeasurementPickEventHandler::instance()
|
||||
return singleton;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicMeasurementPickEventHandler::registerAsPickEventHandler()
|
||||
{
|
||||
RiaApplication::instance()->setOverrideCursor(Qt::CrossCursor);
|
||||
RiuViewerCommands::setPickEventHandler(RicMeasurementPickEventHandler::instance());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicMeasurementPickEventHandler::unregisterAsPickEventHandler()
|
||||
{
|
||||
RiaApplication::instance()->restoreOverrideCursor();
|
||||
RiuViewerCommands::removePickEventHandlerIfActive(RicMeasurementPickEventHandler::instance());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -28,6 +28,10 @@ class RicMeasurementPickEventHandler : public Ric3dViewPickEventHandler
|
||||
public:
|
||||
static RicMeasurementPickEventHandler* instance();
|
||||
|
||||
|
||||
void registerAsPickEventHandler() override;
|
||||
void unregisterAsPickEventHandler() override;
|
||||
|
||||
protected:
|
||||
RicMeasurementPickEventHandler();
|
||||
bool handle3dPickEvent(const Ric3dPickEvent& eventObject) override;
|
||||
|
||||
@@ -55,14 +55,13 @@ void RimMeasurement::setMeasurementMode(bool measurementMode)
|
||||
|
||||
if (m_isInMeasurementMode)
|
||||
{
|
||||
RiuViewerCommands::setPickEventHandler(RicMeasurementPickEventHandler::instance());
|
||||
|
||||
RicMeasurementPickEventHandler::instance()->registerAsPickEventHandler();
|
||||
m_eventFilter = new RiuMeasurementEventFilter(this);
|
||||
m_eventFilter->registerFilter();
|
||||
}
|
||||
else
|
||||
{
|
||||
RiuViewerCommands::removePickEventHandlerIfActive(RicMeasurementPickEventHandler::instance());
|
||||
RicMeasurementPickEventHandler::instance()->unregisterAsPickEventHandler();
|
||||
removeAllPoints();
|
||||
|
||||
if (m_eventFilter)
|
||||
|
||||
@@ -87,7 +87,7 @@ private:
|
||||
caf::PdmPointer<Rim3dView> m_reservoirView;
|
||||
QPointer<RiuViewer> m_viewer;
|
||||
|
||||
static Ric3dViewPickEventHandler* sm_overridingPickHandler;
|
||||
static Ric3dViewPickEventHandler* sm_overridingPickHandler;
|
||||
static std::vector<RicDefaultPickEventHandler*> sm_defaultPickEventHandlers;
|
||||
void handleTextPicking(int winPosX, int winPosY, cvf::HitItemCollection* hitItems);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user