Mercurial > hg > orthanc-stone
comparison Framework/Viewport/WidgetViewport.h @ 61:ca644004d2ee wasm
MAJOR - removal of Start/Stop and observers in IWidget
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 10 May 2017 17:55:13 +0200 |
parents | c2dc924f1a63 |
children | 298f375dcb68 |
comparison
equal
deleted
inserted
replaced
60:288c948199e5 | 61:ca644004d2ee |
---|---|
27 | 27 |
28 #include <memory> | 28 #include <memory> |
29 | 29 |
30 namespace OrthancStone | 30 namespace OrthancStone |
31 { | 31 { |
32 class WidgetViewport : | 32 class WidgetViewport : public IViewport |
33 public IViewport, | |
34 public IWidget::IChangeObserver | |
35 { | 33 { |
36 private: | 34 private: |
37 std::auto_ptr<IWidget> centralWidget_; | 35 std::auto_ptr<IWidget> centralWidget_; |
38 IStatusBar* statusBar_; | 36 IStatusBar* statusBar_; |
39 ObserversRegistry<IViewport> observers_; | 37 ObserversRegistry<IViewport> observers_; |
41 bool isMouseOver_; | 39 bool isMouseOver_; |
42 int lastMouseX_; | 40 int lastMouseX_; |
43 int lastMouseY_; | 41 int lastMouseY_; |
44 CairoSurface background_; | 42 CairoSurface background_; |
45 bool backgroundChanged_; | 43 bool backgroundChanged_; |
46 bool started_; | |
47 | |
48 void UnregisterCentralWidget(); | |
49 | 44 |
50 public: | 45 public: |
51 WidgetViewport(); | 46 WidgetViewport(); |
52 | 47 |
53 virtual ~WidgetViewport() | 48 virtual void SetDefaultView(); |
54 { | |
55 UnregisterCentralWidget(); | |
56 } | |
57 | 49 |
58 virtual void SetStatusBar(IStatusBar& statusBar); | 50 virtual void SetStatusBar(IStatusBar& statusBar); |
59 | |
60 virtual void ResetStatusBar(); | |
61 | 51 |
62 IWidget& SetCentralWidget(IWidget* widget); // Takes ownership | 52 IWidget& SetCentralWidget(IWidget* widget); // Takes ownership |
63 | 53 |
64 virtual void NotifyChange(const IWidget& widget); | 54 virtual void NotifyChange(const IWidget& widget); |
65 | 55 |
66 virtual void Register(IViewport::IChangeObserver& observer) | 56 virtual void Register(IViewport::IChangeObserver& observer) |
67 { | 57 { |
68 observers_.Register(observer); | 58 observers_.Register(observer); |
69 } | 59 } |
70 | |
71 virtual void Unregister(IViewport::IChangeObserver& observer) | |
72 { | |
73 observers_.Unregister(observer); | |
74 } | |
75 | |
76 virtual void Start(); | |
77 | |
78 virtual void Stop(); | |
79 | 60 |
80 virtual void SetSize(unsigned int width, | 61 virtual void SetSize(unsigned int width, |
81 unsigned int height); | 62 unsigned int height); |
82 | 63 |
83 virtual bool Render(Orthanc::ImageAccessor& surface); | 64 virtual bool Render(Orthanc::ImageAccessor& surface); |