From e8f0c642bb8e748aa20a3b7ce4822e10e48bb57f Mon Sep 17 00:00:00 2001 From: xavier Date: Sun, 27 Dec 2009 22:46:35 +0000 Subject: [PATCH] Corrections sur le calcul des positions des champs de texte dynamiques. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3@820 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/editor/parttextfield.cpp | 17 +++++++++-------- sources/elementtextitem.cpp | 6 +++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/sources/editor/parttextfield.cpp b/sources/editor/parttextfield.cpp index 41ffecb6b..990d1155d 100644 --- a/sources/editor/parttextfield.cpp +++ b/sources/editor/parttextfield.cpp @@ -111,10 +111,10 @@ QPointF PartTextField::pos() const { /** Specifie la position du champ de texte - @param left_corner_pos Nouvelle position + @param new_pos Nouvelle position */ -void PartTextField::setPos(const QPointF &left_corner_pos) { - QGraphicsTextItem::setPos(left_corner_pos - margin()); +void PartTextField::setPos(const QPointF &new_pos) { + QGraphicsTextItem::setPos(new_pos - margin()); } /** @@ -168,10 +168,11 @@ void PartTextField::setFollowParentRotations(bool fpr) { } /** - @return Les coordonnees du point situe en bas a gauche du texte. + @return le decalage entre l'origine du QGraphicsItem et l'origine du champ de + texte. */ QPointF PartTextField::margin() const { - return(QPointF(0.0, boundingRect().height() / 2.0)); + return(QPointF(0.0, boundingRect().bottom() / 2.0)); } /** @@ -256,9 +257,9 @@ void PartTextField::setProperty(const QString &property, const QVariant &value) */ QVariant PartTextField::property(const QString &property) { if (property == "x") { - return((scenePos() + margin()).x()); + return(pos().x()); } else if (property == "y") { - return((scenePos() + margin()).y()); + return(pos().y()); } else if (property == "size") { return(font().pointSize()); } else if (property == "text") { @@ -320,7 +321,7 @@ void PartTextField::paint(QPainter *painter, const QStyleOptionGraphicsItem *qso painter -> setPen(Qt::red); drawPoint(painter, QPointF(0, 0)); - painter -> setPen(Qt::green); + painter -> setPen(QColor("#800000")); drawPoint(painter, mapFromScene(pos())); #endif } diff --git a/sources/elementtextitem.cpp b/sources/elementtextitem.cpp index 55badf287..59a65ecae 100644 --- a/sources/elementtextitem.cpp +++ b/sources/elementtextitem.cpp @@ -66,7 +66,7 @@ ElementTextItem::~ElementTextItem() { */ void ElementTextItem::setPos(const QPointF &pos) { QPointF actual_pos = pos; - actual_pos -= QPointF(0.0, boundingRect().height() / 2.0); + actual_pos -= QPointF(0.0, boundingRect().bottom() / 2.0); QGraphicsTextItem::setPos(actual_pos); } @@ -84,7 +84,7 @@ void ElementTextItem::setPos(qreal x, qreal y) { */ QPointF ElementTextItem::pos() const { QPointF actual_pos = DiagramTextItem::pos(); - actual_pos += QPointF(0.0, boundingRect().height() / 2.0); + actual_pos += QPointF(0.0, boundingRect().bottom() / 2.0); return(actual_pos); } @@ -174,7 +174,7 @@ void ElementTextItem::adjustItemPosition(int new_block_count) { @param angle Angle de la rotation a effectuer */ void ElementTextItem::applyRotation(const qreal &angle) { - qreal origin_offset = boundingRect().height() / 2.0; + qreal origin_offset = boundingRect().bottom() / 2.0; QTransform rotation; rotation.translate(0.0, origin_offset);