X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvReadState.cxx;h=dafcf3f4865f7f038d17f47820161a93d322bae4;hb=9794609d9607a3bc76aec1d10fb58bcb9aed4357;hp=83a7c5e17e4194e4c1474d519f5310da8db55969;hpb=1d616cc7be31f7195c8bba4142e02350cd2fb958;p=clitk.git diff --git a/vv/vvReadState.cxx b/vv/vvReadState.cxx index 83a7c5e..dafcf3f 100644 --- a/vv/vvReadState.cxx +++ b/vv/vvReadState.cxx @@ -1,5 +1,6 @@ #include "vvReadState.h" #include "vvMainWindow.h" +#include "vvSlicerManager.h" #include @@ -75,7 +76,7 @@ std::string vvReadState::ReadImage() } } else if (current_index >= 0) { - if (value == "Fusion") + if (value == "Fusion") value = ReadFusion(current_index); else if (value == "Overlay") value = ReadOverlay(current_index); @@ -94,6 +95,9 @@ std::string vvReadState::ReadImage() std::string vvReadState::ReadFusion(int index) { std::string file, value; + int vali; + double vald; + vvSlicerManager* slicerManager = m_Window->GetSlicerManagers()[index]; while (!m_XmlReader->isEndElement() || value != "Fusion") { m_XmlReader->readNext(); value = m_XmlReader->qualifiedName().toString().toStdString(); @@ -103,14 +107,43 @@ std::string vvReadState::ReadFusion(int index) if (!m_XmlReader->hasError()) m_Window->AddFusionImage(index, file.c_str()); } + if (value == "FusionOpacity") { + vali = m_XmlReader->readElementText().toInt(); + if (!m_XmlReader->hasError()) + slicerManager->SetFusionOpacity(vali); + } + if (value == "FusionThresholdOpacity") { + vali = m_XmlReader->readElementText().toInt(); + if (!m_XmlReader->hasError()) + slicerManager->SetFusionThresholdOpacity(vali); + } + if (value == "FusionColorMap") { + vali = m_XmlReader->readElementText().toInt(); + if (!m_XmlReader->hasError()) + slicerManager->SetFusionColorMap(vali); + } + if (value == "FusionWindow") { + vald = m_XmlReader->readElementText().toDouble(); + if (!m_XmlReader->hasError()) + slicerManager->SetFusionWindow(vald); + } + if (value == "FusionLevel") { + vald = m_XmlReader->readElementText().toDouble(); + if (!m_XmlReader->hasError()) + slicerManager->SetFusionLevel(vald); + } } } + m_Window->ImageInfoChanged(); return value; } std::string vvReadState::ReadOverlay(int index) { std::string file, value; + int vali; + double vald; + vvSlicerManager* slicerManager = m_Window->GetSlicerManagers()[index]; while (!m_XmlReader->isEndElement() || value != "Overlay") { m_XmlReader->readNext(); value = m_XmlReader->qualifiedName().toString().toStdString(); @@ -120,8 +153,29 @@ std::string vvReadState::ReadOverlay(int index) if (!m_XmlReader->hasError()) m_Window->AddOverlayImage(index, file.c_str()); } + if (value == "OverlayColorWindow") { + vald = m_XmlReader->readElementText().toDouble(); + if (!m_XmlReader->hasError()) + slicerManager->SetOverlayColorWindow(vald); + } + if (value == "OverlayColorLevel") { + vald = m_XmlReader->readElementText().toDouble(); + if (!m_XmlReader->hasError()) + slicerManager->SetOverlayColorLevel(vald); + } + if (value == "LinkOverlayWindowLevel") { + vali = m_XmlReader->readElementText().toInt(); + if (!m_XmlReader->hasError()) + slicerManager->SetLinkOverlayWindowLevel(vali); + } + if (value == "OverlayColor") { + vali = m_XmlReader->readElementText().toInt(); + if (!m_XmlReader->hasError()) + slicerManager->SetOverlayColor(vali); + } } } + m_Window->ImageInfoChanged(); return value; }