Exemple #1
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();
}