void MyTreeZoneModel::switchEtat(Groupe_selection *zones){ if(zones == NULL){ Projet *pro = mainwindow->getCurent_projet(); zones = pro->getZones(); } Zone * child; QVector<Zone*> childs = zones->getZones(); foreach(child, childs){ if(child->getType() == Zone::composite){ switchEtat((Groupe_selection *)child); } else{ child->switchEtat(); emit layoutChanged(); } } }
Groupe_selection * MyTreeZoneModel::addGroup(QModelIndex item){ Groupe_selection *main_composite; Projet *pro = mainwindow->getCurent_projet(); if(item.isValid() == false) main_composite = pro->getZones(); else main_composite = nodeFromIndex(item); if(main_composite->getType() != Zone::composite) main_composite = main_composite->getParent(); Groupe_selection *group = new Groupe_selection(main_composite); emit beginResetModel(); main_composite->appendChild(group); emit endResetModel(); return group; }
Rectangle * MyTreeZoneModel::addRect(QModelIndex item){ Groupe_selection *main_composite; Projet *pro = mainwindow->getCurent_projet(); if(item.isValid() == false) main_composite = pro->getZones(); else main_composite = nodeFromIndex(item); if(main_composite->getType() != Zone::composite) main_composite = main_composite->getParent(); Rectangle *polygone = new Rectangle(main_composite); emit beginResetModel(); main_composite->appendChild(polygone); emit endResetModel(); return polygone; }