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
This commit is contained in:
xavier
2009-12-27 22:46:35 +00:00
parent e6b98cb9c6
commit e8f0c642bb
2 changed files with 12 additions and 11 deletions

View File

@@ -111,10 +111,10 @@ QPointF PartTextField::pos() const {
/** /**
Specifie la position du champ de texte 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) { void PartTextField::setPos(const QPointF &new_pos) {
QGraphicsTextItem::setPos(left_corner_pos - margin()); 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 { 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) { QVariant PartTextField::property(const QString &property) {
if (property == "x") { if (property == "x") {
return((scenePos() + margin()).x()); return(pos().x());
} else if (property == "y") { } else if (property == "y") {
return((scenePos() + margin()).y()); return(pos().y());
} else if (property == "size") { } else if (property == "size") {
return(font().pointSize()); return(font().pointSize());
} else if (property == "text") { } else if (property == "text") {
@@ -320,7 +321,7 @@ void PartTextField::paint(QPainter *painter, const QStyleOptionGraphicsItem *qso
painter -> setPen(Qt::red); painter -> setPen(Qt::red);
drawPoint(painter, QPointF(0, 0)); drawPoint(painter, QPointF(0, 0));
painter -> setPen(Qt::green); painter -> setPen(QColor("#800000"));
drawPoint(painter, mapFromScene(pos())); drawPoint(painter, mapFromScene(pos()));
#endif #endif
} }

View File

@@ -66,7 +66,7 @@ ElementTextItem::~ElementTextItem() {
*/ */
void ElementTextItem::setPos(const QPointF &pos) { void ElementTextItem::setPos(const QPointF &pos) {
QPointF actual_pos = 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); QGraphicsTextItem::setPos(actual_pos);
} }
@@ -84,7 +84,7 @@ void ElementTextItem::setPos(qreal x, qreal y) {
*/ */
QPointF ElementTextItem::pos() const { QPointF ElementTextItem::pos() const {
QPointF actual_pos = DiagramTextItem::pos(); 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); return(actual_pos);
} }
@@ -174,7 +174,7 @@ void ElementTextItem::adjustItemPosition(int new_block_count) {
@param angle Angle de la rotation a effectuer @param angle Angle de la rotation a effectuer
*/ */
void ElementTextItem::applyRotation(const qreal &angle) { void ElementTextItem::applyRotation(const qreal &angle) {
qreal origin_offset = boundingRect().height() / 2.0; qreal origin_offset = boundingRect().bottom() / 2.0;
QTransform rotation; QTransform rotation;
rotation.translate(0.0, origin_offset); rotation.translate(0.0, origin_offset);