Mercurial > hg > orthanc-stone
diff Framework/Scene2DViewport/MeasureCommands.h @ 1305:a5326ce4f24b broker
Trackers and measuring tools now use the viewport instead of ViewportController, so that proper locks can be used
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Wed, 04 Mar 2020 09:45:38 +0100 |
parents | 7ec8fea061b9 |
children | ab81ee8fce1f |
line wrap: on
line diff
--- a/Framework/Scene2DViewport/MeasureCommands.h Wed Mar 04 09:44:34 2020 +0100 +++ b/Framework/Scene2DViewport/MeasureCommands.h Wed Mar 04 09:45:38 2020 +0100 @@ -19,7 +19,7 @@ **/ #pragma once -#include "../Scene2D/Scene2D.h" +#include "../Viewport/IViewport.h" // to be moved into Stone #include "PredeclaredTypes.h" @@ -35,27 +35,21 @@ class MeasureCommand : public boost::noncopyable { public: - MeasureCommand(boost::weak_ptr<ViewportController> controllerW) - : controllerW_(controllerW) - { - - } + MeasureCommand(IViewport& viewport) : viewport_(viewport) + {} virtual void Undo() = 0; virtual void Redo() = 0; virtual ~MeasureCommand() {}; protected: - boost::shared_ptr<ViewportController> GetController(); - - private: - boost::weak_ptr<ViewportController> controllerW_; + IViewport& viewport_; }; class CreateMeasureCommand : public MeasureCommand { public: - CreateMeasureCommand(boost::weak_ptr<ViewportController> controllerW); + CreateMeasureCommand(IViewport& viewport); virtual ~CreateMeasureCommand(); virtual void Undo() ORTHANC_OVERRIDE; virtual void Redo() ORTHANC_OVERRIDE; @@ -67,7 +61,7 @@ class EditMeasureCommand : public MeasureCommand { public: - EditMeasureCommand(boost::shared_ptr<MeasureTool> measureTool, boost::weak_ptr<ViewportController> controllerW); + EditMeasureCommand(boost::shared_ptr<MeasureTool> measureTool, IViewport& viewport); virtual ~EditMeasureCommand(); virtual void Undo() ORTHANC_OVERRIDE; virtual void Redo() ORTHANC_OVERRIDE; @@ -88,7 +82,7 @@ class DeleteMeasureCommand : public MeasureCommand { public: - DeleteMeasureCommand(boost::shared_ptr<MeasureTool> measureTool, boost::weak_ptr<ViewportController> controllerW); + DeleteMeasureCommand(boost::shared_ptr<MeasureTool> measureTool, IViewport& viewport); virtual ~DeleteMeasureCommand(); virtual void Undo() ORTHANC_OVERRIDE; virtual void Redo() ORTHANC_OVERRIDE;