Mercurial > hg > orthanc-stone
comparison Framework/Widgets/LayerWidget.cpp @ 219:26e3bfe30e66 am
ReplaceLayer()
author | am@osimis.io |
---|---|
date | Fri, 08 Jun 2018 14:41:45 +0200 |
parents | 5412adf19980 |
children | 3d523c9a8f0d 192e6e349e69 |
comparison
equal
deleted
inserted
replaced
218:c2f0077bb5b8 | 219:26e3bfe30e66 |
---|---|
393 ResetChangedLayers(); | 393 ResetChangedLayers(); |
394 | 394 |
395 return index; | 395 return index; |
396 } | 396 } |
397 | 397 |
398 | 398 void LayerWidget::ReplaceLayer(size_t index, ILayerSource* layer) // Takes ownership |
399 { | |
400 if (layer == NULL) | |
401 { | |
402 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); | |
403 } | |
404 | |
405 if (index >= layers_.size()) | |
406 { | |
407 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); | |
408 } | |
409 | |
410 delete layers_[index]; | |
411 layers_[index] = layer; | |
412 layersIndex_[layer] = index; | |
413 | |
414 ResetPendingScene(); | |
415 layer->Register(*this); | |
416 | |
417 InvalidateLayer(index); | |
418 } | |
419 | |
420 | |
399 const RenderStyle& LayerWidget::GetLayerStyle(size_t layer) const | 421 const RenderStyle& LayerWidget::GetLayerStyle(size_t layer) const |
400 { | 422 { |
401 if (layer >= layers_.size()) | 423 if (layer >= layers_.size()) |
402 { | 424 { |
403 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); | 425 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); |