From bc995933cc89ebcc897241ca9bd270e4fbf5829a Mon Sep 17 00:00:00 2001 From: xavier Date: Sat, 13 Mar 2010 15:54:12 +0000 Subject: [PATCH] Correction du positionnement des textes des conducteurs multifilaires lors du chargement d'un schema. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@890 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/conductor.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sources/conductor.cpp b/sources/conductor.cpp index a9a615b41..e8d89b1e6 100644 --- a/sources/conductor.cpp +++ b/sources/conductor.cpp @@ -42,6 +42,7 @@ Conductor::Conductor(Terminal *p1, Terminal* p2, Element *parent, QGraphicsScene terminal1(p1), terminal2(p2), destroyed(false), + text_item(0), segments(NULL), moving_point(false), moving_segment(false), @@ -749,6 +750,9 @@ QVariant Conductor::itemChange(GraphicsItemChange change, const QVariant &value) // le conducteur vient de se faire deselectionner setZValue(previous_z_value); } + } else if (change == QGraphicsItem::ItemSceneHasChanged || change == QGraphicsItem::ItemVisibleHasChanged) { + // permet de positionner correctement le texte du conducteur lors de son ajout a un schema + calculateTextItemPosition(); } return(QGraphicsPathItem::itemChange(change, value)); } @@ -1070,6 +1074,7 @@ ConductorSegment *Conductor::middleSegment() { */ void Conductor::calculateTextItemPosition() { if (properties_.type != ConductorProperties::Multi) return; + if (!text_item) return; text_item -> setPos(middleSegment() -> middle()); }