当前位置: 首页>>代码示例>>C++>>正文


C++ Projet::setDispo方法代码示例

本文整理汇总了C++中Projet::setDispo方法的典型用法代码示例。如果您正苦于以下问题:C++ Projet::setDispo方法的具体用法?C++ Projet::setDispo怎么用?C++ Projet::setDispo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Projet的用法示例。


在下文中一共展示了Projet::setDispo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: onTreeWidgetItemDoubleClicked

void MainWindow::onTreeWidgetItemDoubleClicked(QTreeWidgetItem * item, int column)
{
    if (column==1) { // nom
        QString id = item->text(1);
        edittitle* edittitre =  new edittitle(this);
        edittitre->setTitle(id);
        if (edittitre->exec() == QDialog::Accepted) {
            QString newTitre = edittitre->getTitle();
            if(item->text(0)=="Projet"){
                Projet* tmp = pm->trouverProjet(id);
                tmp->setNom(newTitre);
            }
            else{
                Tache* tmp = tm->trouverTache(id);
                tmp->setTitre(newTitre);
            }

        }
        delete edittitre;

    }
    if (column==2) { // date dispo
        QString id = item->text(1);
        popupdispo = new datedispo(this);
        popupdispo->setDate(QDate::fromString(item->text(2),Qt::TextDate));
        if (popupdispo->exec() == QDialog::Accepted) {
            QDate dateDisponible = popupdispo->getDate();
            if(item->text(0)=="Projet"){
                Projet* tmp = pm->trouverProjet(id);
                tmp->setDispo(dateDisponible);
            }
            else{
                Tache* tmp = tm->trouverTache(id);
                tmp->setDateDisponibilite(dateDisponible);
            }
        }
        delete popupdispo;

    }
    if (column==3 && item->text(0) != "Projet" && item->text(0) != "Tâche Composite") { //durée
        QString id = item->text(1);
        editduree* duree =  new editduree(this);
        if (duree->exec() == QDialog::Accepted) {
            TIME::Duree dur = duree->getDuree();
            TacheUnitaire* tmp = dynamic_cast<TacheUnitaire*>(tm->trouverTache(id));
            try{tmp->setDuree(dur);}catch(TacheException e){
               showError("Project Calendar", "\n Une tache unitaire non preemptable ne peut durer plus de 12h");
            }
        }
        delete duree;

    }
    if (column==4 && item->text(0) != "Projet") { // echeance
        QString id = item->text(1);
        editecheance* echeance =  new editecheance(this);
        echeance->setDate(QDate::fromString(item->text(4),Qt::TextDate));
        if (echeance->exec() == QDialog::Accepted) {
            QDate dateEcheance = echeance->getDate();
            Tache* tmp = tm->trouverTache(id);
            tmp->setEcheance(dateEcheance);
        }
        delete echeance;

    }
    if (column==5 && (item->text(0) == "Tâche unitaire" || item->text(0) == "Tâche unitaire préemptable") && item->text(0) != "Tâche Composite") { // etat
        QString id = item->text(1);
        editetat* etat =  new editetat(this);
        TacheUnitaire* tmp = dynamic_cast<TacheUnitaire*>(tm->trouverTache(id));
        etat->setTache(tmp);
        if (etat->exec() == QDialog::Accepted) {
            // do nothing
        }
        delete etat;
    }
    try {
        tm->saveToDB();
        pm->saveToDB();
    }catch (ProjetManagerException e) {
        showError("Project Calendar", e.getInfo()+"\nLes noms de projets doivent être uniques.");
        tm->clearAll();
        pm->clearAll();
        pm->loadProjets();
        tm->loadTaches();
        em->clearAll();
        em->loadEvents();
        displayEvents(this->current_debut,this->current_fin);
    }
    catch (TacheManagerException e) {
        showError("Project Calendar", e.getInfo()+"\nDeux tâches contenues dans la même tache ou le même projet ne peuvent avoir le même nom.");
        tm->clearAll();
        pm->clearAll();
        pm->loadProjets();
        tm->loadTaches();
        em->clearAll();
        em->loadEvents();
        displayEvents(this->current_debut,this->current_fin);
    }

    displayProjetsAndTasks();
}
开发者ID:Pauchpock,项目名称:UTC-GI,代码行数:100,代码来源:mainwindow.cpp


注:本文中的Projet::setDispo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。