diff --git a/sources/diagram.cpp b/sources/diagram.cpp index 0c419722f..85242dcc8 100644 --- a/sources/diagram.cpp +++ b/sources/diagram.cpp @@ -750,12 +750,11 @@ QDomDocument Diagram::toXml(bool whole_content) { } // table de correspondance entre les adresses des bornes et leurs ids - QHash table_adr_id; if (!list_elements.isEmpty()) { auto dom_elements = document.createElement("elements"); for (auto elmt : list_elements) { - dom_elements.appendChild(elmt->toXml(document, table_adr_id)); + dom_elements.appendChild(elmt->toXml(document)); } dom_root.appendChild(dom_elements); } @@ -763,7 +762,6 @@ QDomDocument Diagram::toXml(bool whole_content) { if (!list_conductors.isEmpty()) { auto dom_conductors = document.createElement("conductors"); for (auto cond : list_conductors) { - //dom_conductors.appendChild(cond->toXml(document, table_adr_id)); dom_conductors.appendChild(cond->toXml(document)); } dom_root.appendChild(dom_conductors); diff --git a/sources/elementtextpattern.cpp b/sources/elementtextpattern.cpp index b1253f948..826c5af64 100644 --- a/sources/elementtextpattern.cpp +++ b/sources/elementtextpattern.cpp @@ -108,8 +108,7 @@ QDomDocument ExportElementTextPattern::xmlConf() const root.setAttribute("name", m_name); doc.appendChild(root); - QHash H; - QDomElement elmt = m_element->toXml(doc, H); + QDomElement elmt = m_element->toXml(doc); QDomElement texts = elmt.firstChildElement("dynamic_texts"); QDomElement groups = elmt.firstChildElement("texts_groups"); diff --git a/sources/qetgraphicsitem/element.cpp b/sources/qetgraphicsitem/element.cpp index 59a158174..ed36696ed 100644 --- a/sources/qetgraphicsitem/element.cpp +++ b/sources/qetgraphicsitem/element.cpp @@ -1023,7 +1023,7 @@ bool Element::fromXml(QDomElement &e, QHash &table_id_adr, bool methode @return L'element XML representant cet element electrique */ -QDomElement Element::toXml(QDomDocument &document, QHash &table_adr_id) const +QDomElement Element::toXml(QDomDocument &document) const { QDomElement element = document.createElement("element"); @@ -1050,25 +1050,16 @@ QDomElement Element::toXml(QDomDocument &document, QHash &table element.setAttribute("z", QString::number(this->zValue())); element.setAttribute("orientation", QString::number(orientation())); - /* recupere le premier id a utiliser pour les bornes de cet element */ - int id_terminal = 0; - if (!table_adr_id.isEmpty()) { - // trouve le plus grand id - int max_id_t = -1; - foreach (int id_t, table_adr_id.values()) { - if (id_t > max_id_t) max_id_t = id_t; - } - id_terminal = max_id_t + 1; - } - // enregistrement des bornes de l'appareil QDomElement xml_terminals = document.createElement("terminals"); // pour chaque enfant de l'element foreach(Terminal *t, terminals()) { // alors on enregistre la borne QDomElement terminal = t -> toXml(document); - terminal.setAttribute("id", id_terminal); // for backward compatibility - table_adr_id.insert(t, id_terminal ++); + if (t->ID() > 0) { + // for backward compatibility + terminal.setAttribute("id", t->ID()); // for backward compatibility + } xml_terminals.appendChild(terminal); } element.appendChild(xml_terminals); diff --git a/sources/qetgraphicsitem/element.h b/sources/qetgraphicsitem/element.h index 2c3d55ffb..a5f2c9689 100644 --- a/sources/qetgraphicsitem/element.h +++ b/sources/qetgraphicsitem/element.h @@ -113,7 +113,7 @@ class Element : public QetGraphicsItem // TODO: derive from propertiesInterface! void editProperty() override; static bool valideXml(QDomElement &); virtual bool fromXml(QDomElement &, QHash &, bool = false); - virtual QDomElement toXml(QDomDocument &, QHash &) const; + virtual QDomElement toXml(QDomDocument &) const; QUuid uuid() const; int orientation() const;