Minor improvement about using pugixml

This commit is contained in:
Claveau Joshua
2020-01-18 20:03:24 +01:00
parent dc32a4298b
commit ed2e72e995
5 changed files with 18 additions and 22 deletions

View File

@@ -40,9 +40,10 @@ Element * ElementFactory::createElement(const ElementsLocation &location, QGraph
return nullptr;
}
if (location.xml().hasAttribute("link_type"))
auto doc = location.pugiXml();
if (doc.document_element().attribute("link_type"))
{
QString link_type = location.xml().attribute("link_type");
QString link_type(doc.document_element().attribute("link_type").as_string());
if (link_type == "next_report" || link_type == "previous_report") return (new ReportElement(location, link_type, qgi, state));
if (link_type == "master") return (new MasterElement (location, qgi, state));
if (link_type == "slave") return (new SlaveElement (location, qgi, state));

View File

@@ -83,15 +83,15 @@ QPixmap ElementPictureFactory::pixmap(const ElementsLocation &location)
if(build(location))
{
QDomElement dom = location.xml();
auto doc = location.pugiXml();
//size
int w = dom.attribute("width").toInt();
int h = dom.attribute("height").toInt();
int w = doc.document_element().attribute("width").as_int();
int h = doc.document_element().attribute("height").as_int();
while (w % 10) ++ w;
while (h % 10) ++ h;
//hotspot
int hsx = qMin(dom.attribute("hotspot_x").toInt(), w);
int hsy = qMin(dom.attribute("hotspot_y").toInt(), h);
int hsx = qMin(doc.document_element().attribute("hotspot_x").as_int(), w);
int hsy = qMin(doc.document_element().attribute("hotspot_y").as_int(), h);
QPixmap pix(w, h);
pix.fill(QColor(255, 255, 255, 0));