Mercurial > hg > orthanc-stone
comparison Framework/Widgets/LayerWidget.cpp @ 380:ba5ad93f935a
ILayerSource::LayerErrorMessage
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 06 Nov 2018 14:59:20 +0100 |
parents | 2308fe0b0b05 |
children | 19bd222283ae |
comparison
equal
deleted
inserted
replaced
379:2308fe0b0b05 | 380:ba5ad93f935a |
---|---|
385 layer.RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::GeometryReadyMessage>(*this, &LayerWidget::OnGeometryReady)); | 385 layer.RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::GeometryReadyMessage>(*this, &LayerWidget::OnGeometryReady)); |
386 // currently ignore errors layer->RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::GeometryErrorMessage>(*this, &LayerWidget::...)); | 386 // currently ignore errors layer->RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::GeometryErrorMessage>(*this, &LayerWidget::...)); |
387 layer.RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::SliceChangedMessage>(*this, &LayerWidget::OnSliceChanged)); | 387 layer.RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::SliceChangedMessage>(*this, &LayerWidget::OnSliceChanged)); |
388 layer.RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::ContentChangedMessage>(*this, &LayerWidget::OnContentChanged)); | 388 layer.RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::ContentChangedMessage>(*this, &LayerWidget::OnContentChanged)); |
389 layer.RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::LayerReadyMessage>(*this, &LayerWidget::OnLayerReady)); | 389 layer.RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::LayerReadyMessage>(*this, &LayerWidget::OnLayerReady)); |
390 layer.RegisterObserverCallback(new Callable<LayerWidget, ILayerSource::LayerErrorMessage>(*this, &LayerWidget::OnLayerError)); | |
390 } | 391 } |
391 | 392 |
392 | 393 |
393 size_t LayerWidget::AddLayer(ILayerSource* layer) // Takes ownership | 394 size_t LayerWidget::AddLayer(ILayerSource* layer) // Takes ownership |
394 { | 395 { |
585 void LayerWidget::OnLayerReady(const ILayerSource::LayerReadyMessage& message) | 586 void LayerWidget::OnLayerReady(const ILayerSource::LayerReadyMessage& message) |
586 { | 587 { |
587 size_t index; | 588 size_t index; |
588 if (LookupLayer(index, message.GetOrigin())) | 589 if (LookupLayer(index, message.GetOrigin())) |
589 { | 590 { |
590 if (message.IsError()) | 591 LOG(INFO) << "Renderer ready for layer " << index; |
591 { | |
592 LOG(ERROR) << "Using error renderer on layer " << index; | |
593 } | |
594 else | |
595 { | |
596 LOG(INFO) << "Renderer ready for layer " << index; | |
597 } | |
598 | 592 |
599 // TODO -- REMOVE THIS UGLY STUFF | 593 // TODO -- REMOVE THIS UGLY STUFF |
600 ILayerSource::LayerReadyMessage& ugly = const_cast<ILayerSource::LayerReadyMessage&>(message); | 594 ILayerSource::LayerReadyMessage& ugly = const_cast<ILayerSource::LayerReadyMessage&>(message); |
601 | 595 |
602 if (ugly.GetRendererRaw().get() != NULL) | 596 if (ugly.GetRendererRaw().get() == NULL) |
603 { | 597 { |
604 UpdateLayer(index, ugly.GetRendererRaw().release(), message.GetSlice()); | 598 throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError); |
605 } | 599 } |
606 else if (message.IsError()) | 600 |
607 { | 601 UpdateLayer(index, ugly.GetRendererRaw().release(), message.GetSlice()); |
608 // TODO | 602 } |
609 //UpdateLayer(index, new SliceOutlineRenderer(slice), slice); | 603 |
610 } | |
611 } | |
612 EmitMessage(LayerWidget::ContentChangedMessage(*this)); | 604 EmitMessage(LayerWidget::ContentChangedMessage(*this)); |
613 } | 605 } |
614 | 606 |
615 | 607 |
608 void LayerWidget::OnLayerError(const ILayerSource::LayerErrorMessage& message) | |
609 { | |
610 size_t index; | |
611 if (LookupLayer(index, message.GetOrigin())) | |
612 { | |
613 LOG(ERROR) << "Using error renderer on layer " << index; | |
614 | |
615 // TODO | |
616 //UpdateLayer(index, new SliceOutlineRenderer(slice), slice); | |
617 | |
618 EmitMessage(LayerWidget::ContentChangedMessage(*this)); | |
619 } | |
620 } | |
621 | |
622 | |
616 void LayerWidget::ResetChangedLayers() | 623 void LayerWidget::ResetChangedLayers() |
617 { | 624 { |
618 changedLayers_.resize(layers_.size()); | 625 changedLayers_.resize(layers_.size()); |
619 | 626 |
620 for (size_t i = 0; i < changedLayers_.size(); i++) | 627 for (size_t i = 0; i < changedLayers_.size(); i++) |