dialog::dialog(QWidget *parent) : QDialog(parent), ui(new Ui::dialog) { ui->setupUi(this); ui->treeWidget->setColumnCount(2); ui->treeWidget->setHeaderLabels(QStringList()<<"ABC"<<"123"); addTreeRoot("A","Root_first"); addTreeRoot("B","Root_second"); addTreeRoot("C","Root_third"); }
void gererCategorie::displayTree() { TemplateManager<Categorie>& tCat=TemplateManager<Categorie>::getInstance(); std::vector<Categorie> rootCats=getOriginCat(); //ajout des catégories origines for(std::vector<Categorie>::iterator it= rootCats.begin();it != rootCats.end() ; it++) { tree[(*it)]=addTreeRoot(it->getCode(), it->getDescription()); } //ajout des sous catégories for(std::vector<Categorie>::iterator it=tCat.getIterator(); it!=tCat.end();it++) { if(tree.find(*it) == tree.end())//si on ne la pas encore ajoutée { std::map<Categorie, QTreeWidgetItem *>::iterator parent = tree.find(tCat.getElement(getParentCat(it->getCode()))); if( parent != tree.end())//si on a ajouté sa catégorie parente { tree[(*it)]=addTreeChild(parent->second,it->getCode(), it->getDescription()); } else { std::vector<QString> parentsToAdd; QString s = getParentCat(it->getCode()); QString s2 = it->getCode(); while(tree.find(tCat.getElement(s))==tree.end())//tant qu'on a pas trouvé un parent dans l'arbre { s2=s; s=getParentCat(s); parentsToAdd.push_back(s2); } for(unsigned int i =0; i<parentsToAdd.size();i++) { qDebug()<<"T :"<<parentsToAdd[i]; } while(parentsToAdd.size()>0) { qDebug()<<"Taille"<<parentsToAdd.size()<<" S : "<<s<<" S2 :"<<s2; tree[tCat.getElement(s2)]=addTreeChild(tree[tCat.getElement(s)],s2, tCat.getElement(s2).getDescription()); s=s2; parentsToAdd.pop_back(); if(parentsToAdd.size()>1) { s2=parentsToAdd.back(); } } } } } }
void fileList::initAll() { treeWidget = new QTreeWidget; treeWidget->setColumnCount(1); treeWidget->setHeaderLabels(QStringList()<<"File Navigator"); addTreeRoot("logo"); QVBoxLayout * vLayout = new QVBoxLayout; vLayout->addWidget(treeWidget); this->setLayout(vLayout); }
void MainWindow::MAJ_treeview_Composition() { ui->TreeWidget->clear(); ProjetManager& projetmanager = ProjetManager::getInstance(); vector<QTreeWidgetItem*> afficher; for(vector<Projet *>::const_iterator it_projets = projetmanager.getProjets().begin(); it_projets != projetmanager.getProjets().end(); ++it_projets){ QTreeWidgetItem *treeItem = addTreeRoot((*it_projets)->getId(), (*it_projets)->getTitre()); afficher.push_back(treeItem); vector<Tache*> A_afficher = (*it_projets)->getTaches(); vector<Tache*>::iterator it_taches = A_afficher.begin(); // Affichage des tâches directement reliées au projet while(it_taches != A_afficher.end()){ if((*it_taches)->getPere() == 0){ afficher.push_back(addTreeChild(treeItem, (*it_taches)->getIdentificateur(), (*it_taches)->getTitre())); it_taches = A_afficher.erase(it_taches); } else { ++it_taches; } } // Affichage des compositions it_taches = A_afficher.begin(); while(!A_afficher.empty()){ QTreeWidgetItem* item = trouver(afficher, (*it_taches)->getPere()->getIdentificateur()); if(item){ afficher.push_back(addTreeChild(item, (*it_taches)->getIdentificateur(), (*it_taches)->getTitre())); it_taches = A_afficher.erase(it_taches); } else { ++it_taches; } if(it_taches == A_afficher.end()) it_taches = A_afficher.begin(); } } }
void fileList::addPointCloudNameSlot(QString fullPath) { QFileInfo fileInfo(fullPath); QString fileName(fileInfo.fileName()); addTreeRoot(fileName); }