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


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

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


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

示例1: nouvelleTacheUnitairePreemptable

void MainWindow::nouvelleTacheUnitairePreemptable()
{
    QList<QTreeWidgetItem*> selected = projets->selectedItems();
    if (selected.size() != 0 && (selected.at(0)->text(0) == "Projet" || dynamic_cast<TacheComposite*>(tm->trouverTache(selected.at(0)->text(1))))) {
        Tache& tach = tm->ajouterTache("preemptable");
        if (selected.at(0)->text(0) == "Projet") {
            QString id = selected.at(0)->text(1);
            Projet* proj = pm->trouverProjet(id);
            try{proj->ajouterTache(&tach);}catch(ProjetException e){qDebug()<<e.get_info();}
            tach.setProjet_conteneur(proj);
        }
        else {
            TacheComposite* task = dynamic_cast<TacheComposite*>(tm->trouverTache(selected.at(0)->text(1)));
            task->ajouterTache(&tach);
            tach.setTache_conteneur(task);
        }

        try {
            tm->saveToDB();
        } catch (TacheManagerException e) {
            showError("Project Calendar", e.getInfo());
            tm->clearAll();
            pm->clearAll();
            pm->loadProjets();
            tm->loadTaches();
            em->clearAll();
            em->loadEvents();
            displayEvents(this->current_debut,this->current_fin);
        }
        displayProjetsAndTasks();
    }

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

示例2: CalendarException

Tache *ProjetManager::ajouterTache(const QString & id_projet, const QString & id, const QString & titre, const QDate & dispo, const QDate & deadline, const Duree & dur, const bool & pre)
{
   if (this->trouverTache(id)) {
      throw CalendarException("Erreur AjouterTache : l'id de la tache existe déjà");
   }
   Projet * p = this->trouverProjet(id_projet);
   if ( p == 0 ) {
      throw CalendarException("Erreur AjouterTache : l'id_projet n'existe pas");
   }

   Tache * t = 0;
   if(dur.getDureeEnMinutes() != 0 ) { // si une durée est fixée, la tâche est unitaire
      if (pre) {
         t = new TachePreemptable(id,titre,dispo,deadline,dur);
      } else {
         t= new TacheNonPreemptable(id, titre, dispo, deadline, dur);
      }
   } else {
      t = new TacheComposite(id,titre,dispo,deadline);
   }
   p->ajouterTache(*t);
   return t;
}
开发者ID:mlonguet,项目名称:Calendar_Project,代码行数:23,代码来源:projetManager.cpp


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