diff Framework/Scene2DViewport/MeasureTrackers.cpp @ 722:28b9e3a54200

Undo mechanism implemented (not connected to UI yet). Undo stack and measuring tools are now handled by the ViewportController. Multi-touch does not crash trackers anymore.
author Benjamin Golinvaux <bgo@osimis.io>
date Tue, 21 May 2019 10:27:54 +0200
parents 059e1fd05fd6
children 8e31b174ab26
line wrap: on
line diff
--- a/Framework/Scene2DViewport/MeasureTrackers.cpp	Mon May 20 12:49:29 2019 +0200
+++ b/Framework/Scene2DViewport/MeasureTrackers.cpp	Tue May 21 10:27:54 2019 +0200
@@ -26,14 +26,9 @@
 namespace OrthancStone
 {
 
-  CreateMeasureTracker::CreateMeasureTracker(
-    ViewportControllerWPtr          controllerW,
-    std::vector<TrackerCommandPtr>& undoStack,
-    std::vector<MeasureToolPtr>&    measureTools)
+  CreateMeasureTracker::CreateMeasureTracker(ViewportControllerWPtr controllerW)
     : controllerW_(controllerW)
     , alive_(true)
-    , undoStack_(undoStack)
-    , measureTools_(measureTools)
     , commitResult_(true)
   {
   }
@@ -56,12 +51,11 @@
 
     // otherwise, we simply undo it
     if (commitResult_)
-      undoStack_.push_back(command_);
+      controllerW_.lock()->PushCommand(command_);
     else
       command_->Undo();
   }
 
-
   OrthancStone::Scene2DPtr CreateMeasureTracker::GetScene()
   {
     return controllerW_.lock()->GetScene();