X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSaveState.cxx;h=71e22ef0cff854e7305484255b83e23a0e0deba1;hb=218f969afcab817217d1cb456400ed9d88c742fc;hp=e7b6193df155720990debc2b51b61f966ffa75ac;hpb=13048c1469b7421804addb724efe87d7e1313a80;p=clitk.git diff --git a/vv/vvSaveState.cxx b/vv/vvSaveState.cxx index e7b6193..71e22ef 100644 --- a/vv/vvSaveState.cxx +++ b/vv/vvSaveState.cxx @@ -1,5 +1,7 @@ #include "vvSaveState.h" #include "vvMainWindow.h" +#include "vvToolCreatorBase.h" +#include "vvToolBaseBase.h" #include #include @@ -10,14 +12,20 @@ #include #include +//------------------------------------------------------------------------------ vvSaveState::vvSaveState() : m_XmlWriter(new QXmlStreamWriter), m_File(new QFile) { } +//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ vvSaveState::~vvSaveState() { } +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ void vvSaveState::Run(vvMainWindow* vvWindow, const std::string& file) { assert(vvWindow); @@ -36,16 +44,23 @@ void vvSaveState::Run(vvMainWindow* vvWindow, const std::string& file) SaveGlobals(); SaveGUI(); SaveTree(); + SaveTools(); m_XmlWriter->writeEndDocument(); m_XmlWriter->writeEndElement(); } +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ void vvSaveState::SaveGlobals() { m_XmlWriter->writeStartElement("Globals"); m_XmlWriter->writeEndElement(); } +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ void vvSaveState::SaveTree() { QTreeWidget* tree = m_Window->GetTree(); @@ -58,7 +73,10 @@ void vvSaveState::SaveTree() } m_XmlWriter->writeEndElement(); } +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ void vvSaveState::SaveImage(const QTreeWidgetItem* item, int index) { const vvSlicerManager * slicerManager = m_Window->GetSlicerManagers()[index]; @@ -80,14 +98,18 @@ void vvSaveState::SaveImage(const QTreeWidgetItem* item, int index) if (role == "fusion") SaveFusion(item_child, slicerManager); else if (role == "overlay") - SaveOverlay(item_child); + SaveOverlay(item_child, slicerManager); else if (role == "vector") SaveVector(item_child); } + // End m_XmlWriter->writeEndElement(); } +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ void vvSaveState::SaveFusion(const QTreeWidgetItem* item, const vvSlicerManager* vvManager) { m_XmlWriter->writeStartElement("Fusion"); @@ -100,15 +122,25 @@ void vvSaveState::SaveFusion(const QTreeWidgetItem* item, const vvSlicerManager* m_XmlWriter->writeTextElement("FusionLevel", QString::number(vvManager->GetFusionLevel())); m_XmlWriter->writeEndElement(); } +//------------------------------------------------------------------------------ + -void vvSaveState::SaveOverlay(QTreeWidgetItem* item) +//------------------------------------------------------------------------------ +void vvSaveState::SaveOverlay(const QTreeWidgetItem* item, const vvSlicerManager* vvManager) { m_XmlWriter->writeStartElement("Overlay"); std::string filename = item->data(0, Qt::UserRole).toString().toStdString(); m_XmlWriter->writeTextElement("FileName", QDir::current().absoluteFilePath(filename.c_str())); + m_XmlWriter->writeTextElement("OverlayColorWindow", QString::number(vvManager->GetOverlayColorWindow())); + m_XmlWriter->writeTextElement("OverlayColorLevel", QString::number(vvManager->GetOverlayColorLevel())); + m_XmlWriter->writeTextElement("LinkOverlayWindowLevel", QString::number(vvManager->GetLinkOverlayWindowLevel())); + m_XmlWriter->writeTextElement("OverlayColor", QString::number(vvManager->GetOverlayColor())); m_XmlWriter->writeEndElement(); } +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ void vvSaveState::SaveVector(const QTreeWidgetItem* item) { m_XmlWriter->writeStartElement("Vector"); @@ -116,10 +148,36 @@ void vvSaveState::SaveVector(const QTreeWidgetItem* item) m_XmlWriter->writeTextElement("FileName", QDir::current().absoluteFilePath(filename.c_str())); m_XmlWriter->writeEndElement(); } +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ void vvSaveState::SaveGUI() { m_XmlWriter->writeStartElement("GUI"); m_XmlWriter->writeEndElement(); } +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +void vvSaveState::SaveTools() +{ + m_XmlWriter->writeStartElement("Tools"); + // Check if a tool is open and need to be store + std::vector & v = vvToolManager::GetInstance()->GetListOfTools(); + for(uint i=0; i & t = v[i]->GetListOfTool(); + for(uint j=0; jmToolName.toStdString(); + m_XmlWriter->writeStartElement(name.c_str()); + m_XmlWriter->writeTextElement("ToolType_Index", QString::number(i)); + m_XmlWriter->writeTextElement("Tool_Index", QString::number(j)); + t[j]->SaveState(m_XmlWriter); + m_XmlWriter->writeEndElement(); + } + } + m_XmlWriter->writeEndElement(); +} +//------------------------------------------------------------------------------