diff --git a/GUI/Model/Descriptor/VectorProperty.cpp b/GUI/Model/Descriptor/VectorProperty.cpp index a464032716ed4b4d83f114de19ef3b6add1a90fc..18b8f9b618eba08fed10f9f09311723a8cf6d8e7 100644 --- a/GUI/Model/Descriptor/VectorProperty.cpp +++ b/GUI/Model/Descriptor/VectorProperty.cpp @@ -20,9 +20,16 @@ using std::variant; void VectorProperty::init(const QString& label, const QString& tooltip, - const variant<QString, Unit>& unit, const QString& persistentTag) + const variant<QString, Unit>& unit, const QString& uidPrefix) { - m_persistentTag = persistentTag; + init(label, tooltip, R3(0.0, 0.0, 0.0), unit, 3 /*decimals*/, 0.01 /*step*/, RealLimits::limitless(), uidPrefix); +} + +void VectorProperty::init(const QString &label, const QString &tooltip, const R3 &value, + const std::variant<QString, Unit> &unit, uint decimals, double step, + const RealLimits &limits, const QString &uidPrefix) +{ + m_persistentTag = uidPrefix; m_uid = QUuid::createUuid().toString(); m_descriptor.init(label, tooltip, &x, &y, &z, unit); @@ -31,7 +38,7 @@ void VectorProperty::init(const QString& label, const QString& tooltip, bool VectorProperty::operator==(const VectorProperty& other) const { - return (get() == other.get()) && (m_uid == other.m_uid) + return (r3() == other.r3()) && (m_uid == other.m_uid) && (m_persistentTag == other.m_persistentTag); } @@ -39,7 +46,7 @@ void Serialize::rwProperty(Streamer& s, VectorProperty& d) { if (QXmlStreamWriter* w = s.xmlWriter()) { w->writeStartElement(d.persistentTag()); - GUI::Session::XML::writeAttribute(w, XML::Tags::Value, d.get()); + GUI::Session::XML::writeAttribute(w, XML::Tags::Value, d.r3()); GUI::Session::XML::writeUid(w, d.uid()); w->writeEndElement(); } else if (QXmlStreamReader* r = s.xmlReader()) { diff --git a/GUI/Model/Descriptor/VectorProperty.h b/GUI/Model/Descriptor/VectorProperty.h index b539e73c19e37e6ebb58d10a379f95ef0c9cccfc..094e4a9db3bc28d9b460fad30bd19ff1028fbc79 100644 --- a/GUI/Model/Descriptor/VectorProperty.h +++ b/GUI/Model/Descriptor/VectorProperty.h @@ -34,7 +34,9 @@ class Streamer; class VectorProperty { public: void init(const QString& label, const QString& tooltip, const std::variant<QString, Unit>& unit, - const QString& persistentTag); + const QString& uidPrefix); + void init(const QString& label, const QString& tooltip, const R3& value, const std::variant<QString, Unit>& unit, + uint decimals, double step, const RealLimits& limits, const QString& uidPrefix); VectorDescriptor descriptor() const { return m_descriptor; } operator VectorDescriptor() const { return m_descriptor; } @@ -45,7 +47,7 @@ public: void setY(double _y) { y.set(_y); } void setZ(double _z) { z.set(_z); } void set(const R3& d) { setX(d.x()); setY(d.y()); setZ(d.z());} - R3 get() const { return *this; } + R3 r3() const { return *this; } QString persistentTag() const { return m_persistentTag; } QString uid() const { return m_uid; } diff --git a/GUI/Model/Sample/MaterialItem.cpp b/GUI/Model/Sample/MaterialItem.cpp index 66647cd5898f27e051b348e449483e648c478478..0dced69e677d311667ceb9471401b200462bd941 100644 --- a/GUI/Model/Sample/MaterialItem.cpp +++ b/GUI/Model/Sample/MaterialItem.cpp @@ -172,7 +172,7 @@ R3 MaterialItem::magnetization() const void MaterialItem::setMagnetization(const R3& magnetization) { - if (m_magnetization.get() != magnetization) { + if (m_magnetization.r3() != magnetization) { m_magnetization.set(magnetization); emit dataChanged(); }