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