Amelioration du rendu des conducteurs lors du deplacement d'elements

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@37 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2006-11-30 18:05:02 +00:00
parent f1bfb71f1e
commit 4cb641fa2b
7 changed files with 124 additions and 19 deletions

View File

@@ -334,10 +334,19 @@ void Borne::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
/**
Met a jour l'eventuel conducteur relie a la Borne.
@param newpos Position de l'element parent a prendre en compte
*/
void Borne::updateConducteur() {
if (scene()) {
foreach (Conducteur *conducteur, liste_conducteurs) if (!conducteur -> isDestroyed()) conducteur -> update(QRectF()/*scene()->sceneRect()*/);
void Borne::updateConducteur(QPointF newpos) {
if (!scene() || !parentItem()) return;
foreach (Conducteur *conducteur, liste_conducteurs) {
if (conducteur -> isDestroyed()) continue;
if (newpos == QPointF()) conducteur -> update(QRectF());
else {
// determine la translation subie par l'element parent
QPointF translation = newpos - parentItem() -> pos();
// rafraichit le conducteur en tenant compte de la translation
conducteur -> updateWithNewPos(QRectF(), this, amarrageConducteur() + translation);
}
}
}
@@ -409,3 +418,4 @@ bool Borne::fromXml(QDomElement &borne) {
borne.attribute("orientation").toInt() == sens
);
}