Correction de la facon dont la zValue des conducteurs est geree.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@811 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier
2009-12-07 22:33:32 +00:00
parent 17a3dcd92b
commit 0764e6a4de
2 changed files with 22 additions and 5 deletions

View File

@@ -595,15 +595,11 @@ void Conductor::mousePressEvent(QGraphicsSceneMouseEvent *e) {
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 @@ void Conductor::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
saveProfile();
has_to_save_profile = false;
}
setZValue(previous_z_value);
if (!(e -> modifiers() & Qt::ControlModifier)) {
QGraphicsPathItem::mouseReleaseEvent(e);
}
@@ -737,6 +732,27 @@ void Conductor::hoverMoveEvent(QGraphicsSceneHoverEvent *e) {
QGraphicsPathItem::hoverMoveEvent(e);
}
/**
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
*/

View File

@@ -93,6 +93,7 @@ class Conductor : public QObject, public QGraphicsPathItem {
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *);
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *);
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *);
virtual QVariant itemChange(GraphicsItemChange, const QVariant &);
private:
/// caracteristiques du conducteur