/*save configuration file * name: file name * type: 0 ->user save a file * 1 ->function apply() temporary save * experimental function !!! */ #include "Tools/Viewer/Parser/include/parser.h" #include "qmessagebox.h" namespace morpheo{ namespace tools{ namespace viewer{ namespace parser{ // QDomElement Parse::createXMLNode( QDomDocument &d , morpheo::tools::viewer::bdd::Group &grp) // { // QDomElement cn; // cn= d.createElement( QString::fromStdString(grp.getName())); // QList p=grp.getParam(); // if(p.size()!=0) // { // for(QList::iterator it2=p.begin();it2!=p.end();++it2) // { // cn.setAttribute( QString::fromStdString(it2->getName()) ,it2->getValue() ); // } // } // return cn; // } int Parse::save_file(string name,int type){ // int level=0; // QDomDocument doc( "Viewercfg" ); // QDomElement root = doc.createElement("cpu"); // QDomNode child=root.setAttribute("name",toplevel); // doc.appendChild(root); // QList g=base->getGroups(); // for( QList::iterator it = g.begin(); it != g.end(); ++it ) // { // //3 cas // if(it->getLevel()==0) // save=root.appendChild(createXMLNode( doc , it)); // if(it->getLevel()>level){ // child=root.appendChild(createXMLNode( doc , it)); // root=(QDomElement)child; // } // if(it->getLevel()==level){ // root= createXMLNode( doc , it); // save=root; // } // if(it->getLevel()" <" < *g=base->getGroups(); for( QList::iterator it = g->begin(); it != g->end(); ++it ) { ecart = " "; if(it->getLevel() == 1) ecart.append(" "); if(it->getLevel() == 2) ecart.append(" "); if(it->getLevel() == 3) ecart.append(" "); if(it->getLevel() == 4) ecart.append(" "); if(it->getLevel() == 5) ecart.append(" "); ts << ecart << "<" << QString::fromStdString(it->getName()) ; QList p=it->getParam(); if(p.size()!=0) { for(QList::iterator it2=p.begin();it2!=p.end();++it2) { ts<< " " << QString::fromStdString(it2->getName()) << "=\"" << it2->getValue() << "\" " ; } if (it->getLevel()==0 ||it->getName()=="front_end" ||it->getName()=="prediction_unit"||\ it->getName()=="out_of_order_engine"||it->getName()=="execution_loop"||it->getName()=="reservation_station"||\ it->getName()=="writeback"||it->getName()=="memory_unit") ts << "> " < " <" <end() && (it+1)->getName()=="front_end" && (it)->getName()=="dcache") ts << " " <end() && (it+1)->getName()=="prediction_unit" && (it)->getName()=="ifetch") ts << " " <end() && (it+1)->getName()=="decod_unit" && (it)->getName()=="meta_predictor") ts << " " <end() && (it+1)->getName()=="out_of_order_engine" && (it)->getName()=="decod") { ts << " " <" <end() && (it+1)->getName()=="front_end" && (it)->getName()=="decod") { ts << " " <" <end() && (it+1)->getName()=="execution_loop" && (it)->getName()=="commit") ts << " " <end() && (it+1)->getName()=="memory_unit" && (it)->getName()=="link") { ts << " " <" <end() && (it+1)->getName()=="execution_unit" && (it)->getName()=="link") ts << " " <end() && (it+1)->getName()=="write_unit" && (it)->getName()=="execution") ts << " " <end() && (it+1)->getName()=="writeback" && (it)->getName()=="link") ts << " " <" <" <" <" <" <