Correction d'un bug lors du deplacement d'un element en maintenant Ctrl enfonce.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@305 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2008-03-01 17:39:44 +00:00
parent 943a9d348a
commit 91e3f9e2da
3 changed files with 14 additions and 1 deletions

View File

@@ -41,6 +41,8 @@ Conductor::Conductor(Terminal *p1, Terminal* p2, Element *parent, QGraphicsScene
terminal2(p2), terminal2(p2),
destroyed(false), destroyed(false),
segments(NULL), segments(NULL),
moving_point(false),
moving_segment(false),
previous_z_value(zValue()), previous_z_value(zValue()),
modified_path(false), modified_path(false),
has_to_save_profile(false) has_to_save_profile(false)

View File

@@ -258,11 +258,21 @@ void Element::setPos(qreal x, qreal y) {
setPos(QPointF(x, y)); setPos(QPointF(x, y));
} }
/**
Gere l'enfoncement d'un bouton de la souris
*/
void Element::mousePressEvent(QGraphicsSceneMouseEvent *e) {
if (!isSelected() && e -> modifiers() & Qt::ControlModifier) {
setSelected(true);
}
QGraphicsItem::mousePressEvent(e);
}
/** /**
Gere les mouvements de souris lies a l'element Gere les mouvements de souris lies a l'element
*/ */
void Element::mouseMoveEvent(QGraphicsSceneMouseEvent *e) { void Element::mouseMoveEvent(QGraphicsSceneMouseEvent *e) {
if (e -> buttons() & Qt::LeftButton) { if (isSelected() && e -> buttons() & Qt::LeftButton) {
QPointF oldPos = pos(); QPointF oldPos = pos();
setPos(mapToParent(e -> pos()) - matrix().map(e -> buttonDownPos(Qt::LeftButton))); setPos(mapToParent(e -> pos()) - matrix().map(e -> buttonDownPos(Qt::LeftButton)));
if (Diagram *diagram_ptr = diagram()) { if (Diagram *diagram_ptr = diagram()) {

View File

@@ -114,6 +114,7 @@ class Element : public QGraphicsItem {
protected: protected:
void drawAxes(QPainter *, const QStyleOptionGraphicsItem *); void drawAxes(QPainter *, const QStyleOptionGraphicsItem *);
void mousePressEvent(QGraphicsSceneMouseEvent *);
void mouseMoveEvent(QGraphicsSceneMouseEvent *); void mouseMoveEvent(QGraphicsSceneMouseEvent *);
void mouseReleaseEvent(QGraphicsSceneMouseEvent *); void mouseReleaseEvent(QGraphicsSceneMouseEvent *);