Mercurial > hg > orthanc-stone
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,