222
|
1 #pragma once
|
|
2
|
|
3 #include <Framework/dev.h>
|
|
4 #include <Framework/Viewport/WidgetViewport.h>
|
|
5 #include <Framework/Widgets/LayerWidget.h>
|
|
6 #include <Framework/Widgets/LayoutWidget.h>
|
|
7
|
|
8 #ifdef __cplusplus
|
|
9 extern "C" {
|
|
10 #endif
|
|
11
|
|
12 extern void ScheduleRedraw();
|
|
13
|
|
14 #ifdef __cplusplus
|
|
15 }
|
|
16 #endif
|
|
17
|
|
18
|
|
19 namespace OrthancStone {
|
|
20
|
|
21 class ChangeObserver :
|
|
22 public OrthancStone::IViewport::IObserver
|
|
23 {
|
|
24 private:
|
|
25 // Flag to avoid flooding JavaScript with redundant Redraw requests
|
|
26 bool isScheduled_;
|
|
27
|
|
28 public:
|
|
29 ChangeObserver() :
|
|
30 isScheduled_(false)
|
|
31 {
|
|
32 }
|
|
33
|
|
34 void Reset()
|
|
35 {
|
|
36 isScheduled_ = false;
|
|
37 }
|
|
38
|
|
39 virtual void NotifyChange(const OrthancStone::IViewport &scene)
|
|
40 {
|
|
41 if (!isScheduled_)
|
|
42 {
|
|
43 ScheduleRedraw();
|
|
44 isScheduled_ = true;
|
|
45 }
|
|
46 }
|
|
47 };
|
|
48
|
|
49
|
|
50 class StatusBar : public OrthancStone::IStatusBar
|
|
51 {
|
|
52 public:
|
|
53 virtual void ClearMessage()
|
|
54 {
|
|
55 }
|
|
56
|
|
57 virtual void SetMessage(const std::string& message)
|
|
58 {
|
|
59 printf("%s\n", message.c_str());
|
|
60 }
|
|
61 };
|
|
62 } |