本文整理汇总了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();
}
}
示例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;
}