[qet] [983] Retour arriere sur l'utilisation de QGraphicsItem:: ItemSceneHasChanged pour detecter les changements de QGraphicsScene.

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


Revision: 983
Author:   xavier
Date:     2010-05-03 00:21:53 +0200 (Mon, 03 May 2010)
Log Message:
-----------
Retour arriere sur l'utilisation de QGraphicsItem::ItemSceneHasChanged pour detecter les changements de QGraphicsScene.

Modified Paths:
--------------
    branches/0.3/sources/conductor.cpp
    branches/0.3/sources/conductor.h
    branches/0.3/sources/diagramtextitem.cpp
    branches/0.3/sources/diagramtextitem.h

Modified: branches/0.3/sources/conductor.cpp
===================================================================
--- branches/0.3/sources/conductor.cpp	2010-05-02 22:00:53 UTC (rev 982)
+++ branches/0.3/sources/conductor.cpp	2010-05-02 22:21:53 UTC (rev 983)
@@ -40,7 +40,6 @@
 	QGraphicsPathItem(0, parent_diagram),
 	terminal1(p1),
 	terminal2(p2),
-	parent_diagram_(parent_diagram),
 	destroyed(false),
 	text_item(0),
 	segments(NULL),
@@ -543,7 +542,7 @@
 
 /// @return le Diagram auquel ce conducteur appartient, ou 0 si ce conducteur est independant
 Diagram *Conductor::diagram() const {
-	return(parent_diagram_);
+	return(qobject_cast<Diagram *>(scene()));
 }
 
 /**
@@ -746,10 +745,6 @@
 			setZValue(previous_z_value);
 		}
 	} else if (change == QGraphicsItem::ItemSceneHasChanged) {
-		// prend en compte le changement de schema
-		QGraphicsScene *qgscene = value.value<QGraphicsScene *>();
-		parent_diagram_ = static_cast<Diagram *>(qgscene);
-		
 		// permet de positionner correctement le texte du conducteur lors de son ajout a un schema
 		calculateTextItemPosition();
 	} else if (change == QGraphicsItem::ItemVisibleHasChanged) {

Modified: branches/0.3/sources/conductor.h
===================================================================
--- branches/0.3/sources/conductor.h	2010-05-02 22:00:53 UTC (rev 982)
+++ branches/0.3/sources/conductor.h	2010-05-02 22:21:53 UTC (rev 983)
@@ -96,8 +96,6 @@
 	virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
 	
 	private:
-	/// Schema auquel ce conducteur est rattache
-	Diagram *parent_diagram_;
 	/// caracteristiques du conducteur
 	ConductorProperties properties_;
 	/// booleen indiquant si le fil est encore valide

Modified: branches/0.3/sources/diagramtextitem.cpp
===================================================================
--- branches/0.3/sources/diagramtextitem.cpp	2010-05-02 22:00:53 UTC (rev 982)
+++ branches/0.3/sources/diagramtextitem.cpp	2010-05-02 22:21:53 UTC (rev 983)
@@ -27,7 +27,6 @@
 */
 DiagramTextItem::DiagramTextItem(QGraphicsItem *parent, Diagram *parent_diagram) :
 	QGraphicsTextItem(parent, parent_diagram),
-	parent_diagram_(parent_diagram),
 	previous_text_(),
 	rotation_angle_(0.0)
 {
@@ -48,7 +47,6 @@
 */
 DiagramTextItem::DiagramTextItem(const QString &text, QGraphicsItem *parent, Diagram *parent_diagram) :
 	QGraphicsTextItem(text, parent, parent_diagram),
-	parent_diagram_(parent_diagram),
 	previous_text_(text),
 	rotation_angle_(0.0)
 {
@@ -70,7 +68,7 @@
 	rattache a aucun schema
 */
 Diagram *DiagramTextItem::diagram() const {
-	return(parent_diagram_);
+	return(qobject_cast<Diagram *>(scene()));
 }
 
 /**
@@ -181,19 +179,6 @@
 }
 
 /**
-	Gere les changements dont ce champ de texte est informe
-	@param change Type de changement
-	@param value  Valeur relative au changement
-*/
-QVariant DiagramTextItem::itemChange(GraphicsItemChange change, const QVariant &value) {
-	if (change == QGraphicsItem::ItemSceneHasChanged) {
-		QGraphicsScene *qgscene = value.value<QGraphicsScene *>();
-		parent_diagram_ = static_cast<Diagram *>(qgscene);
-	}
-	return(QGraphicsTextItem::itemChange(change, value));
-}
-
-/**
 	Gere la prise de focus du champ de texte
 	@param e Objet decrivant la prise de focus
 */

Modified: branches/0.3/sources/diagramtextitem.h
===================================================================
--- branches/0.3/sources/diagramtextitem.h	2010-05-02 22:00:53 UTC (rev 982)
+++ branches/0.3/sources/diagramtextitem.h	2010-05-02 22:21:53 UTC (rev 983)
@@ -58,7 +58,6 @@
 	QPointF mapMovementFromParent(const QPointF &) const;
 	
 	protected:
-	virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
 	virtual void focusInEvent(QFocusEvent *);
 	virtual void focusOutEvent(QFocusEvent *);
 	virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *);
@@ -80,8 +79,6 @@
 	
 	// attributs prives
 	private:
-	/// Schema auquel ce texte est rattache
-	Diagram *parent_diagram_;
 	/// Texte precedent
 	QString previous_text_;
 	/// angle de rotation du champ de texte


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