[qet] [811] Correction de la facon dont la zValue des conducteurs est geree.

[ Thread Index | Date Index | More lists.tuxfamily.org/qet Archives ]


Revision: 811
Author:   xavier
Date:     2009-12-07 23:33:32 +0100 (Mon, 07 Dec 2009)
Log Message:
-----------
Correction de la facon dont la zValue des conducteurs est geree.

Modified Paths:
--------------
    trunk/sources/conductor.cpp
    trunk/sources/conductor.h

Modified: trunk/sources/conductor.cpp
===================================================================
--- trunk/sources/conductor.cpp	2009-12-07 19:24:56 UTC (rev 810)
+++ trunk/sources/conductor.cpp	2009-12-07 22:33:32 UTC (rev 811)
@@ -595,15 +595,11 @@
 			if (hasClickedOn(press_point, segment -> secondPoint())) {
 				moving_point = true;
 				moving_segment = false;
-				previous_z_value = zValue();
-				setZValue(5000.0);
 				moved_segment = segment;
 				break;
 			} else if (hasClickedOn(press_point, segment -> middle())) {
 				moving_point = false;
 				moving_segment = true;
-				previous_z_value = zValue();
-				setZValue(5000.0);
 				moved_segment = segment;
 				break;
 			}
@@ -680,7 +676,6 @@
 		saveProfile();
 		has_to_save_profile = false;
 	}
-	setZValue(previous_z_value);
 	if (!(e -> modifiers() & Qt::ControlModifier)) {
 		QGraphicsPathItem::mouseReleaseEvent(e);
 	}
@@ -738,6 +733,27 @@
 }
 
 /**
+	Gere les changements relatifs au conducteur
+	Reimplemente ici pour :
+	  * positionner le conducteur en avant-plan lorsqu'il est selectionne
+	@param change 
+	@param value  
+*/
+QVariant Conductor::itemChange(GraphicsItemChange change, const QVariant &value) {
+	if (change == QGraphicsItem::ItemSelectedChange) {
+		if (value.toBool()) {
+			// le conducteur vient de se faire selectionner
+			previous_z_value = zValue();
+			setZValue(qAbs(previous_z_value) + 10000);
+		} else {
+			// le conducteur vient de se faire deselectionner
+			setZValue(previous_z_value);
+		}
+	}
+	return(QGraphicsPathItem::itemChange(change, value));
+}
+
+/**
 	@return Le rectangle delimitant l'espace de dessin du conducteur
 */
 QRectF Conductor::boundingRect() const {

Modified: trunk/sources/conductor.h
===================================================================
--- trunk/sources/conductor.h	2009-12-07 19:24:56 UTC (rev 810)
+++ trunk/sources/conductor.h	2009-12-07 22:33:32 UTC (rev 811)
@@ -93,6 +93,7 @@
 	virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *);
 	virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *);
 	virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *);
+	virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
 	
 	private:
 	/// caracteristiques du conducteur


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/