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

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3@983 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier
2010-05-02 22:21:53 +00:00
parent 78f79c92a7
commit b073351872
4 changed files with 2 additions and 27 deletions

View File

@@ -40,7 +40,6 @@ Conductor::Conductor(Terminal *p1, Terminal* p2, Diagram *parent_diagram) :
QGraphicsPathItem(0, parent_diagram),
terminal1(p1),
terminal2(p2),
parent_diagram_(parent_diagram),
destroyed(false),
text_item(0),
segments(NULL),
@@ -543,7 +542,7 @@ void Conductor::destroy() {
/// @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 @@ QVariant Conductor::itemChange(GraphicsItemChange change, const QVariant &value)
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) {

View File

@@ -96,8 +96,6 @@ class Conductor : public QObject, public QGraphicsPathItem {
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

View File

@@ -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(QGraphicsItem *parent, Diagram *parent_diagram)
*/
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 @@ DiagramTextItem::~DiagramTextItem() {
rattache a aucun schema
*/
Diagram *DiagramTextItem::diagram() const {
return(parent_diagram_);
return(qobject_cast<Diagram *>(scene()));
}
/**
@@ -180,19 +178,6 @@ QPointF DiagramTextItem::mapMovementFromParent(const QPointF &movement) const {
return(local_movement_point - local_origin);
}
/**
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

View File

@@ -58,7 +58,6 @@ class DiagramTextItem : public QGraphicsTextItem {
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 @@ class DiagramTextItem : public QGraphicsTextItem {
// attributs prives
private:
/// Schema auquel ce texte est rattache
Diagram *parent_diagram_;
/// Texte precedent
QString previous_text_;
/// angle de rotation du champ de texte