comparison Framework/Widgets/IWidget.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 f0f354a97581
children 885932a893de
comparison
equal deleted inserted replaced
60:288c948199e5 61:ca644004d2ee
22 #pragma once 22 #pragma once
23 23
24 #include "../Enumerations.h" 24 #include "../Enumerations.h"
25 #include "../Viewport/IMouseTracker.h" 25 #include "../Viewport/IMouseTracker.h"
26 #include "../Viewport/IStatusBar.h" 26 #include "../Viewport/IStatusBar.h"
27 #include "../Viewport/IViewport.h"
27 28
28 namespace OrthancStone 29 namespace OrthancStone
29 { 30 {
30 class IWidget : public boost::noncopyable 31 class IWidget : public boost::noncopyable
31 { 32 {
32 public: 33 public:
33 class IChangeObserver : public boost::noncopyable
34 {
35 public:
36 virtual ~IChangeObserver()
37 {
38 }
39
40 virtual void NotifyChange(const IWidget& widget) = 0;
41 };
42
43 virtual ~IWidget() 34 virtual ~IWidget()
44 { 35 {
45 } 36 }
46 37
38 virtual void SetDefaultView() = 0;
39
40 virtual void SetParent(IWidget& parent) = 0;
41
42 virtual void SetViewport(IViewport& viewport) = 0;
43
47 virtual void SetStatusBar(IStatusBar& statusBar) = 0; 44 virtual void SetStatusBar(IStatusBar& statusBar) = 0;
48
49 virtual void ResetStatusBar() = 0;
50
51 virtual void Register(IChangeObserver& observer) = 0;
52
53 virtual void Unregister(IChangeObserver& observer) = 0;
54
55 virtual void Start() = 0;
56
57 virtual void Stop() = 0;
58 45
59 virtual void SetSize(unsigned int width, 46 virtual void SetSize(unsigned int width,
60 unsigned int height) = 0; 47 unsigned int height) = 0;
61 48
62 virtual bool Render(Orthanc::ImageAccessor& surface) = 0; 49 virtual bool Render(Orthanc::ImageAccessor& surface) = 0;
81 KeyboardModifiers modifiers) = 0; 68 KeyboardModifiers modifiers) = 0;
82 69
83 virtual bool HasUpdateContent() const = 0; 70 virtual bool HasUpdateContent() const = 0;
84 71
85 virtual void UpdateContent() = 0; 72 virtual void UpdateContent() = 0;
73
74 virtual void NotifyChange() = 0;
86 }; 75 };
87 } 76 }