Exemple #1
0
void Agenda::ajouterProgrammation(const QString & nomDeLEventClassique, const QDate & d, const QTime & h, const Duree duree)
{
   EvenementClassique & evt = *(new EvenementClassique(duree, nomDeLEventClassique) );

   int minute_fin = h.minute() + duree.getMinute();
   int heure_fin = h.hour() + duree.getHeure() + (minute_fin / 60) ;
   minute_fin = minute_fin % 60;
   if ( !QTime::isValid(heure_fin, minute_fin, 0) ) {
      throw CalendarException("erreur ajouterProgrammation : une programmation ne peut pas être à cheval sur deux jours");
   }

   ajouterProgrammation(evt, d, h, *(new QTime(heure_fin, minute_fin)) );

}
Exemple #2
0
void Tache::writeOnto(QXmlStreamWriter* xmlStream){
    if(isTacheComposee()){
        xmlStream->writeStartElement("TacheComposee");
        xmlStream->writeAttribute("nom",getTitre().c_str());

        for(int i=0;i<dynamic_cast<TacheComposee*>(this)->getNbTaches();i++){
            dynamic_cast<TacheComposee*>(this)->getListeTaches()[i]->writeOnto(xmlStream);
        }
    } else {
        // TACHE UNITAIRE

        xmlStream->writeStartElement("TacheUnitaire");
        xmlStream->writeAttribute("nom",getTitre().c_str());
        TacheUnitaire* cast = dynamic_cast<TacheUnitaire*>(this);
        if (cast->EstPreemptable()) xmlStream->writeAttribute("preemptable","true");
        else xmlStream->writeAttribute("preemptable","false");
        Duree duree = dynamic_cast<TacheUnitaire*>(this)->GetDuree();
        xmlStream->writeAttribute("heures",to_string(duree.getHeure()).c_str());
        xmlStream->writeAttribute("minutes",to_string(duree.getMinute()).c_str());
        xmlStream->writeAttribute("secondes",to_string(duree.getSeconde()).c_str());


    }


    if (isDateDisp()){
        xmlStream->writeStartElement("dateDisponibilite");
        xmlStream->writeCharacters(dateDispo->getFormatedTime().c_str()
                    );
        xmlStream->writeEndElement();
    }
    if (isDateEcheance()){
        xmlStream->writeStartElement("dateEcheance");
        xmlStream->writeCharacters(dateEcheance->getFormatedTime().c_str()
                    );
        xmlStream->writeEndElement();
    }
    for (int i=0;i<nbPrecedences;i++){
        xmlStream->writeStartElement("precedence");
        xmlStream->writeCharacters(precedence[i]->getTitre().c_str()
                    );
        xmlStream->writeEndElement();
    }


    xmlStream->writeEndElement();
}