fix some issues

This commit is contained in:
Martin Marmsoler
2021-03-04 21:25:04 +01:00
parent 9d4b90da1a
commit 221773ea8a
6 changed files with 37 additions and 11 deletions

View File

@@ -65,8 +65,6 @@ BorderTitleBlock::BorderTitleBlock(QObject *parent) :
// contenu par defaut du cartouche // contenu par defaut du cartouche
importTitleBlock(TitleBlockProperties()); importTitleBlock(TitleBlockProperties());
display_titleblock_ = true;
display_border_ = true;
setFolioData(1, 1); setFolioData(1, 1);
updateRectangles(); updateRectangles();
} }
@@ -217,9 +215,23 @@ QDomElement BorderTitleBlock::titleBlockToXml(QDomDocument& doc) {
@param xml_elmt the XML element values will be read from @param xml_elmt the XML element values will be read from
*/ */
void BorderTitleBlock::titleBlockFromXml(const QDomElement &xml_elmt) { void BorderTitleBlock::titleBlockFromXml(const QDomElement &xml_elmt) {
TitleBlockProperties tbp;
tbp.fromXml(xml_elmt); TitleBlockProperties tbp;
importTitleBlock(tbp); QString tagname = tbp.tagName();
QDomElement titleBlockProperties = xml_elmt.firstChildElement(tagname);
if (!titleBlockProperties.isNull())
{
tbp.fromXml(titleBlockProperties);
importTitleBlock(tbp);
}
else
{
// legacy
// Remove this part in a later step
tbp.fromXml(xml_elmt);
importTitleBlock(tbp);
}
} }
/** /**

View File

@@ -286,10 +286,10 @@ class BorderTitleBlock : public QObject
QRectF diagram_rect_; QRectF diagram_rect_;
// display options // display options
bool display_titleblock_; bool display_titleblock_{true};
bool display_columns_; bool display_columns_;
bool display_rows_; bool display_rows_;
bool display_border_; bool display_border_{true};
TitleBlockTemplateRenderer *m_titleblock_template_renderer; TitleBlockTemplateRenderer *m_titleblock_template_renderer;
}; };
#endif #endif

View File

@@ -1196,6 +1196,7 @@ bool Diagram::fromXml(QDomElement &document,
if (consider_informations) if (consider_informations)
{ {
// Load border and titleblock // Load border and titleblock
border_and_titleblock.titleBlockFromXml(root); border_and_titleblock.titleBlockFromXml(root);
border_and_titleblock.borderFromXml(root); border_and_titleblock.borderFromXml(root);

View File

@@ -60,6 +60,11 @@ void PropertiesInterface::setTagName(const QString& tagname)
mTagName = tagname; mTagName = tagname;
} }
QString PropertiesInterface::tagName() const
{
return mTagName;
}
QDomElement PropertiesInterface::toXml (QDomDocument &xml_document) const QDomElement PropertiesInterface::toXml (QDomDocument &xml_document) const
{ {
QDomElement element = xml_document.createElement(mTagName); QDomElement element = xml_document.createElement(mTagName);
@@ -76,6 +81,8 @@ bool PropertiesInterface::fromXml (const QDomElement &xml_element)
if (!propertiesFromXml(xml_element)) if (!propertiesFromXml(xml_element))
return false; return false;
return true;
} }
bool PropertiesInterface::valideXml(QDomElement& element) { bool PropertiesInterface::valideXml(QDomElement& element) {
@@ -403,7 +410,10 @@ QString PropertiesInterface::orientationToString(Qet::Orientation o) {
* \param e * \param e
*/ */
void PropertiesInterface::propertiesToXml(QDomElement& e) const void PropertiesInterface::propertiesToXml(QDomElement& e) const
{ {
if (properties.count() == 0)
return;
QDomDocument doc = e.ownerDocument(); QDomDocument doc = e.ownerDocument();
auto up = doc.createElement(userPropertiesS); auto up = doc.createElement(userPropertiesS);
for (auto i = properties.begin(); i != properties.end(); ++i) for (auto i = properties.begin(); i != properties.end(); ++i)
@@ -418,9 +428,8 @@ void PropertiesInterface::propertiesToXml(QDomElement& e) const
up.appendChild(createXmlProperty(i.key(), i.value().toDouble())); break; up.appendChild(createXmlProperty(i.key(), i.value().toDouble())); break;
case QVariant::Type::Bool: case QVariant::Type::Bool:
up.appendChild(createXmlProperty(i.key(), i.value().toBool())); break; up.appendChild(createXmlProperty(i.key(), i.value().toBool())); break;
// case QVariant::Type::Color: case QVariant::Type::Color:
// // TODO: correct? up.appendChild(createXmlProperty(i.key(), QColor(i.value().value<QColor>()))); break;
// up.appendChild(createXmlProperty(i.key(), i.value().toString())); break;
default: default:
break; break;
} }
@@ -502,4 +511,6 @@ bool PropertiesInterface::propertiesFromXml(const QDomElement& e)
} }
} }
} }
return true;
} }

View File

@@ -154,6 +154,7 @@ class PropertiesInterface
QVariant XmlProperty(const QDomElement& element); QVariant XmlProperty(const QDomElement& element);
void setTagName(const QString& tagname); void setTagName(const QString& tagname);
QString tagName() const;
/** /**
Permet de convertir une chaine de caracteres ("n", "s", "e" ou "w") Permet de convertir une chaine de caracteres ("n", "s", "e" ou "w")

View File

@@ -25,6 +25,7 @@
*/ */
TitleBlockProperties::TitleBlockProperties() TitleBlockProperties::TitleBlockProperties()
{ {
setTagName("titleblock");
} }
/** /**