diff --git a/GUI/Model/Mask/MaskItems.cpp b/GUI/Model/Mask/MaskItems.cpp
index ed1482f5be23dde03f5c29f41a89c09c2f0ba563..c24025d8c41b1b95313832f5356ffd6ba2981264 100644
--- a/GUI/Model/Mask/MaskItems.cpp
+++ b/GUI/Model/Mask/MaskItems.cpp
@@ -195,22 +195,22 @@ void RectangleItem::readFrom(QXmlStreamReader* r)
 
             // x low
         } else if (tag == Tag::XLow) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_xLow);
+            m_xLow.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
             // y low
         } else if (tag == Tag::YLow) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_yLow);
+            m_yLow.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
             // x up
         } else if (tag == Tag::XUp) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_xUp);
+            m_xUp.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
             // y up
         } else if (tag == Tag::YUp) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_yUp);
+            m_yUp.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
         } else
@@ -407,7 +407,7 @@ void VerticalLineItem::readFrom(QXmlStreamReader* r)
 
             // x position
         } else if (tag == Tag::XPosition) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_posX);
+            m_posX.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
         } else
@@ -463,7 +463,7 @@ void HorizontalLineItem::readFrom(QXmlStreamReader* r)
 
             // y position
         } else if (tag == Tag::YPosition) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_posY);
+            m_posY.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
         } else
@@ -565,27 +565,27 @@ void EllipseItem::readFrom(QXmlStreamReader* r)
 
             // x center
         } else if (tag == Tag::XCenter) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_xCenter);
+            m_xCenter.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
             // y center
         } else if (tag == Tag::YCenter) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_yCenter);
+            m_yCenter.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
             // x radius
         } else if (tag == Tag::XRadius) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_xRadius);
+            m_xRadius.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
             // y radius
         } else if (tag == Tag::YRadius) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_yRadius);
+            m_yRadius.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
             // rotation angle
         } else if (tag == Tag::Angle) {
-            XML::readAttribute(r, XML::Attrib::xvalue, &m_angle);
+            m_angle.readFrom(r);
             XML::gotoEndElementOfTag(r, tag);
 
         } else