Mercurial > hg > orthanc-stone
diff Applications/Samples/SimpleViewerApplication.h @ 281:300d8b8c48b3 am-2
mouse tracker tuning
author | am@osimis.io |
---|---|
date | Tue, 28 Aug 2018 10:01:31 +0200 |
parents | 8f5d7495076d |
children | 3c190e2bb3af |
line wrap: on
line diff
--- a/Applications/Samples/SimpleViewerApplication.h Mon Aug 27 16:22:08 2018 +0200 +++ b/Applications/Samples/SimpleViewerApplication.h Tue Aug 28 10:01:31 2018 +0200 @@ -24,6 +24,7 @@ #include "SampleApplicationBase.h" #include "../../Framework/Layers/OrthancFrameLayerSource.h" +#include "../../Framework/Layers/LineMeasureTracker.h" #include "../../Framework/Widgets/LayerWidget.h" #include "../../Framework/Widgets/LayoutWidget.h" #include "../../Framework/Messages/IObserver.h" @@ -53,6 +54,7 @@ virtual IWorldSceneMouseTracker* CreateMouseTracker(WorldSceneWidget& widget, const ViewportGeometry& view, MouseButton button, + KeyboardModifiers modifiers, double x, double y, IStatusBar* statusBar) @@ -83,17 +85,17 @@ char key, KeyboardModifiers modifiers, IStatusBar* statusBar) - {}; + {} }; - class Interactor : public IWorldSceneInteractor + class MainWidgetInteractor : public IWorldSceneInteractor { private: SimpleViewerApplication& application_; public: - Interactor(SimpleViewerApplication& application) : + MainWidgetInteractor(SimpleViewerApplication& application) : application_(application) { } @@ -101,10 +103,15 @@ virtual IWorldSceneMouseTracker* CreateMouseTracker(WorldSceneWidget& widget, const ViewportGeometry& view, MouseButton button, + KeyboardModifiers modifiers, double x, double y, IStatusBar* statusBar) { + if (button == MouseButton_Left) + { + return new LineMeasureTracker(statusBar, dynamic_cast<LayerWidget&>(widget).GetSlice(), x, y, 255, 0, 0, 10); + } return NULL; } @@ -166,7 +173,7 @@ }; - std::unique_ptr<Interactor> interactor_; + std::unique_ptr<MainWidgetInteractor> mainWidgetInteractor_; std::unique_ptr<ThumbnailInteractor> thumbnailInteractor_; LayoutWidget* mainLayout_; LayoutWidget* thumbnailsLayout_; @@ -248,8 +255,8 @@ smartLoader_->SetImageQuality(SliceImageQuality_FullPam); mainLayout_->SetTransmitMouseOver(true); - interactor_.reset(new Interactor(*this)); - mainWidget_->SetInteractor(*interactor_); + mainWidgetInteractor_.reset(new MainWidgetInteractor(*this)); + mainWidget_->SetInteractor(*mainWidgetInteractor_); thumbnailInteractor_.reset(new ThumbnailInteractor(*this)); }