From d560883c6b1add8e1b54c7ec20baae9b302a2d20 Mon Sep 17 00:00:00 2001 From: xavierqet Date: Fri, 11 Jan 2008 20:01:27 +0000 Subject: [PATCH] Correction d'un bug lors de l'enregistrement d'un champ de texte sur element avec plusieurs lignes git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@269 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- customelement.cpp | 1 + elementtextitem.cpp | 19 +++++++++++++++++-- elementtextitem.h | 3 +++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/customelement.cpp b/customelement.cpp index a261f6d72..ca76c3bd9 100644 --- a/customelement.cpp +++ b/customelement.cpp @@ -420,6 +420,7 @@ bool CustomElement::parseInput(QDomElement &e) { ElementTextItem *eti = new ElementTextItem(e.attribute("text"), this); eti -> setFont(QFont(QETApp::diagramTextsFont(), size)); eti -> setPos(pos_x, pos_y); + eti -> setOriginalPos(QPointF(pos_x, pos_y)); if (e.attribute("rotate") == "true") eti -> setFollowParentRotations(true); return(true); } diff --git a/elementtextitem.cpp b/elementtextitem.cpp index b268318dc..df0bfb099 100644 --- a/elementtextitem.cpp +++ b/elementtextitem.cpp @@ -98,8 +98,23 @@ void ElementTextItem::fromXml(const QDomElement &e) { */ QDomElement ElementTextItem::toXml(QDomDocument &document) const { QDomElement result = document.createElement("input"); - result.setAttribute("x", pos().x()); - result.setAttribute("y", pos().y()); + result.setAttribute("x", originalPos().x()); + result.setAttribute("y", originalPos().y()); result.setAttribute("text", toPlainText()); return(result); } + +/** + @param p Position originale / de reference pour ce champ + Cette position est utilisee lors de l'export en XML +*/ +void ElementTextItem::setOriginalPos(const QPointF &p) { + original_position = p; +} + +/** + @return la position originale / de reference pour ce champ +*/ +QPointF ElementTextItem::originalPos() const { + return(original_position); +} diff --git a/elementtextitem.h b/elementtextitem.h index 9970d8067..e8009b7f5 100644 --- a/elementtextitem.h +++ b/elementtextitem.h @@ -38,6 +38,7 @@ class ElementTextItem : public DiagramTextItem { private: bool follow_parent_rotations; + QPointF original_position; // methodes public: @@ -51,6 +52,8 @@ class ElementTextItem : public DiagramTextItem { void setPos(const QPointF &); void setPos(qreal, qreal); QPointF pos() const; + void setOriginalPos(const QPointF &); + QPointF originalPos() const; }; /**