X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSaveState.cxx;h=894e8e4a3aefb67968e9452a67dcf3c707d8d2bd;hb=6edda2a8b31b7345623e363dc27efd202aa59c9f;hp=d4a76bd2d9a20010bd4e9df36f48aa651212749a;hpb=921642d767beba2442dacc8fdb40dc36396e1b7d;p=clitk.git diff --git a/vv/vvSaveState.cxx b/vv/vvSaveState.cxx index d4a76bd..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(); } //------------------------------------------------------------------------------ @@ -156,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()