]> Creatis software - clitk.git/blobdiff - vv/vvReadState.cxx
remove tools (now in tests_dav)
[clitk.git] / vv / vvReadState.cxx
index 83a7c5e17e4194e4c1474d519f5310da8db55969..dafcf3f4865f7f038d17f47820161a93d322bae4 100644 (file)
@@ -1,5 +1,6 @@
 #include "vvReadState.h"
 #include "vvMainWindow.h"
+#include "vvSlicerManager.h"
 
 #include <qtreewidget.h>
 
@@ -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;
 }