X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSaveState.cxx;h=894e8e4a3aefb67968e9452a67dcf3c707d8d2bd;hb=a0bcf3084e5092bb1beccdbed6b2710f839346d9;hp=71e22ef0cff854e7305484255b83e23a0e0deba1;hpb=f6ec1c5f4f1c2105b428fe2d87e794417897a4e8;p=clitk.git diff --git a/vv/vvSaveState.cxx b/vv/vvSaveState.cxx index 71e22ef..894e8e4 100644 --- a/vv/vvSaveState.cxx +++ b/vv/vvSaveState.cxx @@ -72,6 +72,13 @@ void vvSaveState::SaveTree() SaveImage(item, i); } m_XmlWriter->writeEndElement(); + + m_XmlWriter->writeStartElement("Links"); + for (int i = 0; i < tree->topLevelItemCount(); i++) { + const vvSlicerManager * slicerManager = m_Window->GetSlicerManagers()[i]; + SaveLink(slicerManager); + } + m_XmlWriter->writeEndElement(); } //------------------------------------------------------------------------------ @@ -82,14 +89,20 @@ void vvSaveState::SaveImage(const QTreeWidgetItem* item, int index) const vvSlicerManager * slicerManager = m_Window->GetSlicerManagers()[index]; m_XmlWriter->writeStartElement("Image"); - std::ostringstream indexStr; - indexStr.str(""); - indexStr << index; - m_XmlWriter->writeAttribute("Index", indexStr.str().c_str()); + std::ostringstream valueStr; + valueStr.str(""); + valueStr << index; + m_XmlWriter->writeAttribute("Index", valueStr.str().c_str()); std::string filename = item->data(0, Qt::UserRole).toString().toStdString(); m_XmlWriter->writeTextElement("FileName", QDir::current().absoluteFilePath(filename.c_str())); - + int preset = slicerManager->GetPreset(); + m_XmlWriter->writeTextElement("Preset", QString::number(preset)); + if (preset == 6) { + m_XmlWriter->writeTextElement("Window", QString::number(slicerManager->GetColorWindow())); + m_XmlWriter->writeTextElement("Level", QString::number(slicerManager->GetColorLevel())); + } + QTreeWidgetItem* item_child; std::string role; for (int i = 0; i < item->childCount(); i++) { @@ -150,6 +163,24 @@ void vvSaveState::SaveVector(const QTreeWidgetItem* item) } //------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +void vvSaveState::SaveLink(const vvSlicerManager* vvManager) +{ + typedef std::list LinkListType; + LinkListType links = vvManager->GetLinks(); + if (!links.empty()) { + std::string my_id = vvManager->GetId(); + m_XmlWriter->writeStartElement("LinkedFrom"); + m_XmlWriter->writeAttribute("Id", my_id.c_str()); + LinkListType::iterator i; + for (i = links.begin(); i != links.end(); i++) { + std::string link_id = *i; + m_XmlWriter->writeTextElement("LinkedTo", link_id.c_str()); + } + m_XmlWriter->writeEndElement(); + } +} +//------------------------------------------------------------------------------ //------------------------------------------------------------------------------ void vvSaveState::SaveGUI()