mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-21 16:50:53 +01:00
fix conductor properties xml load
This commit is contained in:
@@ -22,6 +22,10 @@
|
||||
#include <QtDebug>
|
||||
|
||||
#include "qetxml.h"
|
||||
|
||||
namespace {
|
||||
const QString conductorPropertiesXmlName = "conductorProperties";
|
||||
}
|
||||
/**
|
||||
Constructeur par defaut
|
||||
*/
|
||||
@@ -263,7 +267,7 @@ bool SingleLineProperties::valideXml(QDomElement& e) {
|
||||
multifilaire noir dont le texte est "_"
|
||||
*/
|
||||
ConductorProperties::ConductorProperties() :
|
||||
PropertiesInterface("defaultconductor")
|
||||
PropertiesInterface(xmlTagName())
|
||||
{}
|
||||
|
||||
/**
|
||||
@@ -413,6 +417,11 @@ bool ConductorProperties::valideXml(QDomElement& e) {
|
||||
return true;
|
||||
}
|
||||
|
||||
QString ConductorProperties::xmlTagName()
|
||||
{
|
||||
return conductorPropertiesXmlName;
|
||||
}
|
||||
|
||||
/**
|
||||
@param settings Parametres a ecrire
|
||||
@param prefix prefixe a ajouter devant les noms des parametres
|
||||
|
||||
@@ -121,9 +121,8 @@ class ConductorProperties: public PropertiesInterface
|
||||
SingleLineProperties singleLineProperties;
|
||||
|
||||
// methods
|
||||
void toXmlPriv(QDomElement&) const override;
|
||||
bool fromXmlPriv(const QDomElement &) override;
|
||||
static bool valideXml(QDomElement& element);
|
||||
static QString xmlTagName();
|
||||
void toSettings(QSettings &, const QString & = QString()) const override;
|
||||
void fromSettings(QSettings &, const QString & = QString()) override;
|
||||
static QString typeToString(ConductorType);
|
||||
@@ -135,6 +134,10 @@ class ConductorProperties: public PropertiesInterface
|
||||
bool operator==(const ConductorProperties &) const;
|
||||
bool operator!=(const ConductorProperties &) const;
|
||||
|
||||
private:
|
||||
void toXmlPriv(QDomElement&) const override;
|
||||
bool fromXmlPriv(const QDomElement &) override;
|
||||
|
||||
private:
|
||||
void readStyle(const QString &);
|
||||
QString writeStyle() const;
|
||||
|
||||
@@ -967,7 +967,6 @@ void Conductor::pointsToSegments(const QList<QPointF>& points_list) {
|
||||
*/
|
||||
bool Conductor::fromXmlPriv(const QDomElement &dom_element)
|
||||
{
|
||||
// TODO: seems to short!
|
||||
double x=0, y=0;
|
||||
QETXML::propertyDouble(dom_element, "x", &x);
|
||||
QETXML::propertyDouble(dom_element, "y", &y);
|
||||
@@ -976,8 +975,16 @@ bool Conductor::fromXmlPriv(const QDomElement &dom_element)
|
||||
bool return_ = pathFromXml(dom_element);
|
||||
|
||||
m_text_item -> fromXml(dom_element);
|
||||
|
||||
auto prs = QETXML::findInDomElement(dom_element, ConductorProperties::xmlTagName());
|
||||
ConductorProperties pr;
|
||||
if (!prs.isEmpty()) {
|
||||
pr.fromXml(prs.first());
|
||||
} else {
|
||||
// legacy
|
||||
// added in 0.9 remove in later version!
|
||||
pr.fromXml(dom_element);
|
||||
}
|
||||
|
||||
//Load Sequential Values
|
||||
if (dom_element.hasAttribute("sequ_1") || dom_element.hasAttribute("sequf_1") || dom_element.hasAttribute("seqt_1") || dom_element.hasAttribute("seqtf_1") || dom_element.hasAttribute("seqh_1") || dom_element.hasAttribute("sequf_1"))
|
||||
@@ -1044,7 +1051,7 @@ void Conductor::toXmlPriv(QDomElement& dom_element) const {
|
||||
dom_element.appendChild(dom_seq);
|
||||
|
||||
// Export the properties and text
|
||||
m_properties. toXml(doc);
|
||||
dom_element.appendChild(m_properties. toXml(doc));
|
||||
if(m_text_item->wasMovedByUser())
|
||||
{
|
||||
dom_element.setAttribute("userx", QString::number(m_text_item->pos().x()));
|
||||
|
||||
Reference in New Issue
Block a user