diff --git a/sources/ElementsCollection/xmlelementcollection.cpp b/sources/ElementsCollection/xmlelementcollection.cpp index 9fd85e1e2..bafa6d658 100644 --- a/sources/ElementsCollection/xmlelementcollection.cpp +++ b/sources/ElementsCollection/xmlelementcollection.cpp @@ -79,6 +79,8 @@ XmlElementCollection::XmlElementCollection(const QDomElement &dom_element, QObje /** * @brief XmlElementCollection::root + * The root is the beginning of the xml collection, the tag name + * of the dom element is : collection * @return The root QDomElement of the collection */ QDomElement XmlElementCollection::root() const { diff --git a/sources/diagram.cpp b/sources/diagram.cpp index 874fa5c3d..c18ae5fa1 100644 --- a/sources/diagram.cpp +++ b/sources/diagram.cpp @@ -49,7 +49,7 @@ QColor Diagram::background_color = Qt::white; */ Diagram::Diagram(QETProject *project) : QGraphicsScene (project), - project_ (nullptr), + m_project (nullptr), diagram_qet_version_ (-1), draw_grid_ (true), use_border_ (true), @@ -638,7 +638,7 @@ bool Diagram::fromXml(QDomElement &document, QPointF position, bool consider_inf qreal project_qet_version = declaredQElectroTechVersion(true); bool handle_inputs_rotation = ( project_qet_version != -1 && project_qet_version < 0.3 && - project_ -> state() == QETProject::ProjectParsingRunning + m_project -> state() == QETProject::ProjectParsingRunning ); //Load all elements from the XML @@ -650,8 +650,13 @@ bool Diagram::fromXml(QDomElement &document, QPointF position, bool consider_inf // cree un element dont le type correspond a l'id type QString type_id = element_xml.attribute("type"); - ElementsLocation element_location = ElementsLocation(type_id); - if (type_id.startsWith("embed://")) element_location.setProject(project_); + ElementsLocation element_location; + if (type_id.startsWith("embed://")) { + element_location = ElementsLocation(type_id, m_project); + } + else { + element_location = ElementsLocation(type_id); + } int state = 0; Element *nvel_elmt = ElementFactory::Instance() -> createElement(element_location, 0, &state); @@ -932,7 +937,7 @@ void Diagram::titleBlockTemplateChanged(const QString &template_name) { void Diagram::titleBlockTemplateRemoved(const QString &template_name, const QString &new_template) { if (border_and_titleblock.titleBlockTemplateName() != template_name) return; - const TitleBlockTemplate *final_template = project_->embeddedTitleBlockTemplatesCollection()->getTemplate(new_template); + const TitleBlockTemplate *final_template = m_project->embeddedTitleBlockTemplatesCollection()->getTemplate(new_template); border_and_titleblock.titleBlockTemplateRemoved(template_name, final_template); update(); } @@ -943,10 +948,10 @@ void Diagram::titleBlockTemplateRemoved(const QString &template_name, const QStr */ void Diagram::setTitleBlockTemplate(const QString &template_name) { - if (!project_) return; + if (!m_project) return; QString current_name = border_and_titleblock.titleBlockTemplateName(); - const TitleBlockTemplate *titleblock_template = project_->embeddedTitleBlockTemplatesCollection()->getTemplate(template_name); + const TitleBlockTemplate *titleblock_template = m_project->embeddedTitleBlockTemplatesCollection()->getTemplate(template_name); border_and_titleblock.titleBlockTemplateRemoved(current_name, titleblock_template); if (template_name != current_name) @@ -1266,7 +1271,7 @@ bool Diagram::clipboardMayContainDiagram() { independant. */ QETProject *Diagram::project() const { - return(project_); + return(m_project); } /** @@ -1276,19 +1281,19 @@ QETProject *Diagram::project() const { */ void Diagram::setProject(QETProject *project) { - if (project_ == project) return; + if (m_project == project) return; - if (project_) + if (m_project) { - disconnect (project_, SIGNAL(reportPropertiesChanged(QString)), this, SIGNAL(reportPropertiesChanged(QString))); - disconnect (project_, SIGNAL(XRefPropertiesChanged()), this, SIGNAL(XRefPropertiesChanged())); + disconnect (m_project, SIGNAL(reportPropertiesChanged(QString)), this, SIGNAL(reportPropertiesChanged(QString))); + disconnect (m_project, SIGNAL(XRefPropertiesChanged()), this, SIGNAL(XRefPropertiesChanged())); } - project_ = project; + m_project = project; setParent (project); - connect (project_, SIGNAL(reportPropertiesChanged(QString)), this, SIGNAL(reportPropertiesChanged(QString))); - connect (project_, SIGNAL(XRefPropertiesChanged()), this, SIGNAL(XRefPropertiesChanged())); + connect (m_project, SIGNAL(reportPropertiesChanged(QString)), this, SIGNAL(reportPropertiesChanged(QString))); + connect (m_project, SIGNAL(XRefPropertiesChanged()), this, SIGNAL(XRefPropertiesChanged())); } /** @@ -1296,8 +1301,8 @@ void Diagram::setProject(QETProject *project) if it is has no parent project */ int Diagram::folioIndex() const { - if (!project_) return(-1); - return(project_ -> folioIndex(this)); + if (!m_project) return(-1); + return(m_project -> folioIndex(this)); } /** @@ -1310,8 +1315,8 @@ qreal Diagram::declaredQElectroTechVersion(bool fallback_to_project) const { if (diagram_qet_version_ != -1) { return diagram_qet_version_; } - if (fallback_to_project && project_) { - return(project_ -> declaredQElectroTechVersion()); + if (fallback_to_project && m_project) { + return(m_project -> declaredQElectroTechVersion()); } return(-1); } @@ -1323,7 +1328,7 @@ qreal Diagram::declaredQElectroTechVersion(bool fallback_to_project) const { */ bool Diagram::isReadOnly() const { - return project_ -> isReadOnly(); + return m_project -> isReadOnly(); } /** diff --git a/sources/diagram.h b/sources/diagram.h index f7001524e..f11d0e66e 100644 --- a/sources/diagram.h +++ b/sources/diagram.h @@ -89,7 +89,7 @@ class Diagram : public QGraphicsScene ElementsMover *elements_mover_; ElementTextsMover *element_texts_mover_; QGIManager *qgi_manager_; - QETProject *project_; + QETProject *m_project; QDomDocument xml_document_; @@ -119,8 +119,8 @@ class Diagram : public QGraphicsScene void setEventInterface (DiagramEventInterface *event_interface); //methods related to xref properties - QString defaultReportProperties () const {return project_ -> defaultReportProperties();} - XRefProperties defaultXRefProperties (const QString &str) const {return project_ -> defaultXRefProperties(str);} + QString defaultReportProperties () const {return m_project -> defaultReportProperties();} + XRefProperties defaultXRefProperties (const QString &str) const {return m_project -> defaultXRefProperties(str);} //methods related to autonum QString conductorsAutonumName() const; diff --git a/sources/elementslocation.cpp b/sources/elementslocation.cpp index bab77dca3..a63b7077a 100644 --- a/sources/elementslocation.cpp +++ b/sources/elementslocation.cpp @@ -79,7 +79,11 @@ ElementsLocation::ElementsLocation(const QMimeData *data) */ ElementsLocation &ElementsLocation::operator=(const ElementsLocation &other) { m_collection_path = other.m_collection_path; + m_file_system_path = other.m_file_system_path; m_project = other.m_project; + m_xml = other.m_xml; + m_uuid = other.m_uuid; + m_icon = other.m_icon; return(*this); }