Mercurial > hg > orthanc-stone
diff Applications/Samples/SimpleViewerApplication.h @ 318:3a4ca166fafa am-2
ImageAccessor refactoring + implemented Image Cache in SmartLoader
author | am@osimis.io |
---|---|
date | Mon, 08 Oct 2018 17:10:08 +0200 |
parents | b66d13708f40 |
children |
line wrap: on
line diff
--- a/Applications/Samples/SimpleViewerApplication.h Fri Oct 05 11:57:36 2018 +0200 +++ b/Applications/Samples/SimpleViewerApplication.h Mon Oct 08 17:10:08 2018 +0200 @@ -173,9 +173,12 @@ #if ORTHANC_ENABLE_WASM==1 class SimpleViewerApplicationAdapter : public WasmPlatformApplicationAdapter { + SimpleViewerApplication& viewerApplication_; + public: SimpleViewerApplicationAdapter(MessageBroker& broker, SimpleViewerApplication& application) - : WasmPlatformApplicationAdapter(broker, application) + : WasmPlatformApplicationAdapter(broker, application), + viewerApplication_(application) { } @@ -183,12 +186,12 @@ virtual void HandleMessageFromWeb(std::string& output, const std::string& input) { if (input == "select-tool:line-measure") { - application.currentTool_ = Tools_LineMeasure; + viewerApplication_.currentTool_ = Tools_LineMeasure; NotifyStatusUpdateFromCppToWeb("currentTool=line-measure"); } else if (input == "select-tool:circle-measure") { - application.currentTool_ = Tools_CircleMeasure; + viewerApplication_.currentTool_ = Tools_CircleMeasure; NotifyStatusUpdateFromCppToWeb("currentTool=circle-measure"); } @@ -350,7 +353,7 @@ // if this is the first thumbnail loaded, load the first instance in the mainWidget if (mainWidget_->GetLayerCount() == 0) { - mainWidget_->AddLayer(smartLoader_->GetFrame(instancesIdsPerSeriesId_[seriesId][0], 0)); + smartLoader_->SetFrameInWidget(*mainWidget_, 0, instancesIdsPerSeriesId_[seriesId][0], 0); } } } @@ -362,7 +365,7 @@ thumbnails_.push_back(thumbnailWidget); thumbnailsLayout_->AddWidget(thumbnailWidget); thumbnailWidget->RegisterObserverCallback(new Callable<SimpleViewerApplication, LayerWidget::GeometryChangedMessage>(*this, &SimpleViewerApplication::OnWidgetGeometryChanged)); - thumbnailWidget->AddLayer(smartLoader_->GetFrame(instanceId, 0)); + smartLoader_->SetFrameInWidget(*thumbnailWidget, 0, instanceId, 0); thumbnailWidget->SetInteractor(*thumbnailInteractor_); } @@ -378,10 +381,7 @@ void SelectSeriesInMainViewport(const std::string& seriesId) { - mainWidget_->ReplaceLayer(0, smartLoader_->GetFrame(instancesIdsPerSeriesId_[seriesId][0], 0)); -#if ORTHANC_ENABLE_WASM==1 - NotifyStatusUpdateFromCppToWeb("series-description=" + seriesTags_[seriesId]["MainDicomTags"]["SeriesDescription"].asString()); -#endif + smartLoader_->SetFrameInWidget(*mainWidget_, 0, instancesIdsPerSeriesId_[seriesId][0], 0); } virtual void OnPushButton1Clicked() {}