comparison UnitTestsSources/UnitTestsMain.cpp @ 66:298f375dcb68 wasm

LayerWidget
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 17 May 2017 22:03:09 +0200
parents 885932a893de
children acb60cbb8301
comparison
equal deleted inserted replaced
65:885932a893de 66:298f375dcb68
22 #include "gtest/gtest.h" 22 #include "gtest/gtest.h"
23 23
24 #include "../Resources/Orthanc/Core/Logging.h" 24 #include "../Resources/Orthanc/Core/Logging.h"
25 #include "../Framework/Toolbox/OrthancWebService.h" 25 #include "../Framework/Toolbox/OrthancWebService.h"
26 #include "../Framework/Layers/OrthancFrameLayerSource.h" 26 #include "../Framework/Layers/OrthancFrameLayerSource.h"
27 #include "../Framework/Widgets/LayerWidget.h"
27 28
28 29
29 namespace OrthancStone 30 namespace OrthancStone
30 { 31 {
31 class Tata : public ILayerSource::IObserver 32 class Tata : public ILayerSource::IObserver
58 virtual void NotifyLayerError(ILayerSource& source, 59 virtual void NotifyLayerError(ILayerSource& source,
59 const SliceGeometry& viewportSlice) 60 const SliceGeometry& viewportSlice)
60 { 61 {
61 } 62 }
62 }; 63 };
64
65
66
67 /*class OrthancInstanceLoader : public IWebService::ICallback
68 {
69 public:
70 class ICallback : public boost::noncopyable
71 {
72 public:
73 virtual ~ICallback()
74 {
75 }
76
77 virtual void NotifyInstanceLoaded(const std::string& instanceId,
78 const OrthancPlugins::FullOrthancDataset& dicom) = 0;
79
80 virtual void NotifyInstanceError(const std::string& instanceId) = 0;
81 };
82
83 private:
84 class Operation : public Orthanc::IDynamicObject
85 {
86 private:
87 ICallback& callback_;
88 std::string instanceId_;
89
90 public:
91 Operation(ICallback& callback,
92 const std::string& instanceId) :
93 callback_(callback),
94 instanceId_(instanceId)
95 {
96 }
97
98 ICallback& GetCallback()
99 {
100 return callback_;
101 }
102
103 const std::string& GetInstanceId() const
104 {
105 return instanceId_;
106 }
107 };
108
109 IWebService& orthanc_;
110
111 public:
112 OrthancInstanceLoader(IWebService& orthanc) :
113 orthanc_(orthanc)
114 {
115 }
116
117 void ScheduleLoadInstance(ICallback& callback,
118 const std::string& instanceId)
119 {
120 orthanc_.ScheduleGetRequest(*this,
121 "/instances/" + instanceId + "/tags",
122 new Operation(callback, instanceId));
123 }
124
125 void NotifySuccess(const std::string& uri,
126 const void* answer,
127 size_t answerSize,
128 Orthanc::IDynamicObject* payload)
129 {
130 std::auto_ptr<Operation> operation(reinterpret_cast<Operation*>(payload));
131
132 try
133 {
134 OrthancPlugins::FullOrthancDataset dataset(answer, answerSize);
135 operation->GetCallback().NotifyInstanceLoaded(operation->GetInstanceId(), dataset);
136 }
137 catch (Orthanc::OrthancException&)
138 {
139 operation->GetCallback().NotifyInstanceError(operation->GetInstanceId());
140 }
141 }
142
143 void NotifyError(const std::string& uri,
144 Orthanc::IDynamicObject* payload)
145 {
146 std::auto_ptr<Operation> operation(reinterpret_cast<Operation*>(payload));
147
148 LOG(ERROR) << "Cannot download " << uri;
149 operation->GetCallback().NotifyInstanceError(operation->GetInstanceId());
150 }
151 };*/
152
153
154
63 } 155 }
64 156
65 157
66 158
67 TEST(Toto, Tutu) 159 TEST(Toto, Tutu)
73 OrthancStone::Tata tata; 165 OrthancStone::Tata tata;
74 source.SetObserver(tata); 166 source.SetObserver(tata);
75 167
76 OrthancStone::SliceGeometry slice; 168 OrthancStone::SliceGeometry slice;
77 source.ScheduleLayerCreation(slice); 169 source.ScheduleLayerCreation(slice);
170
171
172 OrthancStone::LayerWidget widget;
173 printf(">> %d\n", widget.AddLayer(new OrthancStone::OrthancFrameLayerSource(orthanc, "befb52a6-b4b04954-b5a019c3-fdada9d7-dddc9430", 0)));
78 } 174 }
79 175
80 176
81 177
82 int main(int argc, char **argv) 178 int main(int argc, char **argv)