/* * * modifyGroup :modify the number of nb_* parameter * modifyValue :modify a parameter value */ #include "Tools/Viewer/Bdd/include/BaseV.h" #include "qstring.h" namespace morpheo{ namespace tools{ namespace viewer{ namespace bdd{ int BaseV::modifyGroup(string namegroup,int step) { int i,level,position_tab_init,position_tab; Group *g; Param *p; QList p2;LimitParam lp; if(listgroup->indexOf(namegroup)==-1) return -1; switch (step){ case 1: position_tab_init=listgroup->lastIndexOf(namegroup); level=(groups->operator[](position_tab_init)).getLevel(); //search the position to add a group if(level>=groups->operator[](position_tab_init+1).getLevel()) position_tab=position_tab_init; else for(position_tab=position_tab_init ;position_tab+1size()&&leveloperator[](position_tab+1).getLevel();position_tab++); cout << position_tab << " " << position_tab_init<=position_tab_init;i--) { g=new Group(groups->operator[](i).getName(),groups->operator[](i).getLevel()); p2=groups->operator[](i).getParam(); for(QList::iterator it=p2.begin();it!=p2.end();++it) { if(it->getName() == "id") { p=new Param(it->getName(),it->getValue()+1,g->getName()); g->addParam(p); } else if(QString::fromStdString(it->getName()).contains("link",Qt::CaseInsensitive)) { p=new Param(it->getName(),it->getValue(),g->getName()); g->addParam(p); } else { lp=searchLimitParam(it->getName()); p=new Param(lp.getName(),lp.getDefault(),g->getName()); g->addParam(p); } } groups->insert(position_tab+1,*g); listgroup->insert(position_tab+1,g->getName()); delete g; } break; case -1: if(nbGroup(namegroup)==1) break; else { groups->removeAt(listgroup->lastIndexOf(namegroup)); listgroup->removeAt(listgroup->lastIndexOf(namegroup)); } break; default: return -1; } return 0; } void BaseV::modifyValue(string nomgroup,string nameparam,int value) { Group g=searchGroup(nomgroup); Param *np=new Param(nameparam,value,nomgroup); g.addParam(nameparam,np); delete np; } };//end bdd };//end viewer };//end tools };//end morpheo