diff Framework/Widgets/WorldSceneWidget.cpp @ 331:7ccf919faff0 am-2

simplify WorldSceneWidget
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 17 Oct 2018 15:18:48 +0200
parents 7a364e44fbb4
children 50e5ec1bdd46
line wrap: on
line diff
--- a/Framework/Widgets/WorldSceneWidget.cpp	Wed Oct 17 12:45:52 2018 +0200
+++ b/Framework/Widgets/WorldSceneWidget.cpp	Wed Oct 17 15:18:48 2018 +0200
@@ -176,7 +176,11 @@
 
     double sceneX, sceneY;
     MapMouseToScene(sceneX, sceneY, view, x, y);
-    RenderSceneMouseOver(context, view, sceneX, sceneY);
+
+    if (interactor_)
+    {
+      interactor_->MouseOver(context, *this, view, sceneX, sceneY, GetStatusBar());
+    }
   }
 
 
@@ -232,13 +236,18 @@
     MapMouseToScene(sceneX, sceneY, view_, x, y);
 
     // asks the Widget Interactor to provide a mouse tracker
-    std::auto_ptr<IWorldSceneMouseTracker> tracker
-        (CreateMouseSceneTracker(view_, button, sceneX, sceneY, modifiers));
+    std::auto_ptr<IWorldSceneMouseTracker> tracker;
 
+    if (interactor_)
+    {
+      tracker.reset(interactor_->CreateMouseTracker(*this, view_, button, modifiers, sceneX, sceneY, GetStatusBar()));
+    }
+    
     if (tracker.get() != NULL)
     {
       return new SceneMouseTracker(view_, tracker.release());
     }
+
     //TODO: allow Interactor to create Pan & Zoom
     switch (button)
     {
@@ -254,34 +263,6 @@
   }
 
 
-  void WorldSceneWidget::RenderSceneMouseOver(CairoContext& context,
-                                              const ViewportGeometry& view,
-                                              double x,
-                                              double y)
-  {
-    if (interactor_)
-    {
-      interactor_->MouseOver(context, *this, view, x, y, GetStatusBar());
-    }
-  }
-
-  IWorldSceneMouseTracker* WorldSceneWidget::CreateMouseSceneTracker(const ViewportGeometry& view,
-                                                                     MouseButton button,
-                                                                     double x,
-                                                                     double y,
-                                                                     KeyboardModifiers modifiers)
-  {
-    if (interactor_)
-    {
-      return interactor_->CreateMouseTracker(*this, view, button, modifiers, x, y, GetStatusBar());
-    }
-    else
-    {
-      return NULL;
-    }
-  }
-
-
   void WorldSceneWidget::MouseWheel(MouseWheelDirection direction,
                                     int x,
                                     int y,