+//------------------------------------------------------------------------------
+void vvReadState::ReadTool(const std::string & toolname)
+{
+ // Find name into vvToolManager::GetInstance()->GetListOfTools();
+ vvToolCreatorBase * v = vvToolManager::GetInstance()->GetToolCreatorFromName(toolname.c_str());
+ if (v == NULL) {
+ std::cerr << "Error, I do not know the tool named '" << toolname << "' ; ignored." << std::endl;
+ std::string value="";
+ while (!m_XmlReader->isEndElement() || value != toolname) {
+ m_XmlReader->readNext();
+ value = m_XmlReader->qualifiedName().toString().toStdString();
+ if (m_XmlReader->hasError()) {
+ std::cout << "Error " << m_XmlReader->error() << " XML " << std::endl;
+ return;
+ }
+ }
+ return;
+ }
+
+ // CreateTool
+ // std::vector<vvToolBaseBase*> & tools = v->GetListOfTool();
+ v->m_XmlReader = m_XmlReader;
+ v->mReadStateFlag = true;
+ v->mImageIndex = m_TreeItemCount;
+ v->MenuSpecificToolSlot();
+ v->mReadStateFlag = false;
+ m_XmlReader = v->m_XmlReader; // Need because auto_ptr operator= release on the right.
+}
+//------------------------------------------------------------------------------