Mercurial > hg > orthanc-stone
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) |