diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2009-03-19 13:08:51 -0400 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2009-03-19 13:08:51 -0400 |
commit | e254eec0870ff84ec974be43e024c1d521c5eb19 (patch) | |
tree | f3360bf7c011056e2bec91ae65575bc006228a2e /sigmodr | |
parent | f07c442c50fe4da6fa076a45f321f7ac70bf6389 (diff) | |
download | sigen-e254eec0870ff84ec974be43e024c1d521c5eb19.tar.gz sigen-e254eec0870ff84ec974be43e024c1d521c5eb19.tar.xz sigen-e254eec0870ff84ec974be43e024c1d521c5eb19.zip |
Clean up mouse events in MapItem and derived
Diffstat (limited to 'sigmodr')
-rw-r--r-- | sigmodr/widgets/EffectItem.cpp | 23 | ||||
-rw-r--r-- | sigmodr/widgets/EffectItem.h | 5 | ||||
-rw-r--r-- | sigmodr/widgets/MapItem.cpp | 9 | ||||
-rw-r--r-- | sigmodr/widgets/MapItem.h | 1 | ||||
-rw-r--r-- | sigmodr/widgets/TileItem.cpp | 17 | ||||
-rw-r--r-- | sigmodr/widgets/TileItem.h | 4 | ||||
-rw-r--r-- | sigmodr/widgets/TrainerItem.cpp | 17 | ||||
-rw-r--r-- | sigmodr/widgets/TrainerItem.h | 4 | ||||
-rw-r--r-- | sigmodr/widgets/WarpItem.cpp | 23 | ||||
-rw-r--r-- | sigmodr/widgets/WarpItem.h | 5 |
10 files changed, 24 insertions, 84 deletions
diff --git a/sigmodr/widgets/EffectItem.cpp b/sigmodr/widgets/EffectItem.cpp index dbcc1047..66e9d7f4 100644 --- a/sigmodr/widgets/EffectItem.cpp +++ b/sigmodr/widgets/EffectItem.cpp @@ -56,32 +56,19 @@ void EffectItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option painter->drawRect(m_effect->area()); } -void EffectItem::mousePressEvent(QGraphicsSceneMouseEvent* event) -{ - QGraphicsItem::mousePressEvent(event); - update(); -} - -void EffectItem::mouseMoveEvent(QGraphicsSceneMouseEvent* event) +void EffectItem::resizeBy(const QPointF& size) { - QGraphicsItem::mouseMoveEvent(event); QRect area = m_effect->area(); - area.setTopLeft(scenePos().toPoint()); + area.setBottomRight(area.bottomRight() + size.toPoint()); m_effect->setArea(area); + MapItem::resizeBy(size); } -void EffectItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) -{ - QGraphicsItem::mouseReleaseEvent(event); - update(); -} - -void EffectItem::resizeBy(const QPointF& size) +void EffectItem::moveTo(const QPoint& point) { QRect area = m_effect->area(); - area.setBottomRight(area.bottomRight() + size.toPoint()); + area.setTopLeft(point); m_effect->setArea(area); - MapItem::resizeBy(size); } void EffectItem::effectChanged() diff --git a/sigmodr/widgets/EffectItem.h b/sigmodr/widgets/EffectItem.h index d8cd986a..aedbc80e 100644 --- a/sigmodr/widgets/EffectItem.h +++ b/sigmodr/widgets/EffectItem.h @@ -42,11 +42,8 @@ class SIGMODRWIDGETS_NO_EXPORT EffectItem : public MapItem void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); protected: - void mousePressEvent(QGraphicsSceneMouseEvent* event); - void mouseMoveEvent(QGraphicsSceneMouseEvent* event); - void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); - void resizeBy(const QPointF& size); + void moveTo(const QPoint& point); protected slots: void effectChanged(); private: diff --git a/sigmodr/widgets/MapItem.cpp b/sigmodr/widgets/MapItem.cpp index 37023268..a6bdb29c 100644 --- a/sigmodr/widgets/MapItem.cpp +++ b/sigmodr/widgets/MapItem.cpp @@ -81,13 +81,14 @@ void MapItem::hoverLeaveEvent(QGraphicsSceneHoverEvent* event) void MapItem::mouseMoveEvent(QGraphicsSceneMouseEvent* event) { - if (m_resizable && (event->button() & Qt::RightButton)) - { - event->accept(); + if (m_resizable && (event->modifiers() & Qt::ControlModifier)) resizeBy(event->pos() - event->lastPos()); - } else + { QGraphicsItem::mouseMoveEvent(event); + moveTo(scenePos().toPoint()); + } + update(); } void MapItem::resizeBy(const QPointF& size) diff --git a/sigmodr/widgets/MapItem.h b/sigmodr/widgets/MapItem.h index 18298fb2..bb6cb5f0 100644 --- a/sigmodr/widgets/MapItem.h +++ b/sigmodr/widgets/MapItem.h @@ -53,6 +53,7 @@ class SIGMODRWIDGETS_NO_EXPORT MapItem : public QObject, public QGraphicsItem virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event); virtual void resizeBy(const QPointF& size); + virtual void moveTo(const QPoint& point) = 0; const bool m_resizable; }; diff --git a/sigmodr/widgets/TileItem.cpp b/sigmodr/widgets/TileItem.cpp index 34ccc3c4..3fa6d410 100644 --- a/sigmodr/widgets/TileItem.cpp +++ b/sigmodr/widgets/TileItem.cpp @@ -72,22 +72,9 @@ void TileItem::setSprite(const int spriteId) m_tileIndex = spriteId; } -void TileItem::mousePressEvent(QGraphicsSceneMouseEvent* event) +void TileItem::moveTo(const QPoint& point) { - QGraphicsItem::mousePressEvent(event); - update(); -} - -void TileItem::mouseMoveEvent(QGraphicsSceneMouseEvent* event) -{ - QGraphicsItem::mouseMoveEvent(event); - m_tile->setPosition(scenePos().toPoint()); -} - -void TileItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) -{ - QGraphicsItem::mouseReleaseEvent(event); - update(); + m_tile->setPosition(point); } void TileItem::tileChanged() diff --git a/sigmodr/widgets/TileItem.h b/sigmodr/widgets/TileItem.h index 57065e16..e062805d 100644 --- a/sigmodr/widgets/TileItem.h +++ b/sigmodr/widgets/TileItem.h @@ -46,9 +46,7 @@ class SIGMODRWIDGETS_NO_EXPORT TileItem : public MapItem public slots: void setSprite(const int spriteId); protected: - void mousePressEvent(QGraphicsSceneMouseEvent* event); - void mouseMoveEvent(QGraphicsSceneMouseEvent* event); - void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); + void moveTo(const QPoint& point); protected slots: void tileChanged(); private: diff --git a/sigmodr/widgets/TrainerItem.cpp b/sigmodr/widgets/TrainerItem.cpp index 07814cf1..6edaaae1 100644 --- a/sigmodr/widgets/TrainerItem.cpp +++ b/sigmodr/widgets/TrainerItem.cpp @@ -56,22 +56,9 @@ void TrainerItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* optio painter->drawRect(boundingRect()); } -void TrainerItem::mousePressEvent(QGraphicsSceneMouseEvent* event) +void TrainerItem::moveTo(const QPoint& point) { - QGraphicsItem::mousePressEvent(event); - update(); -} - -void TrainerItem::mouseMoveEvent(QGraphicsSceneMouseEvent* event) -{ - QGraphicsItem::mouseMoveEvent(event); - m_trainer->setPosition(scenePos().toPoint()); -} - -void TrainerItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) -{ - QGraphicsItem::mouseReleaseEvent(event); - update(); + m_trainer->setPosition(point); } void TrainerItem::trainerChanged() diff --git a/sigmodr/widgets/TrainerItem.h b/sigmodr/widgets/TrainerItem.h index b454a22f..86e38080 100644 --- a/sigmodr/widgets/TrainerItem.h +++ b/sigmodr/widgets/TrainerItem.h @@ -42,9 +42,7 @@ class SIGMODRWIDGETS_NO_EXPORT TrainerItem : public MapItem void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); protected: - void mousePressEvent(QGraphicsSceneMouseEvent* event); - void mouseMoveEvent(QGraphicsSceneMouseEvent* event); - void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); + void moveTo(const QPoint& point); protected slots: void trainerChanged(); private: diff --git a/sigmodr/widgets/WarpItem.cpp b/sigmodr/widgets/WarpItem.cpp index e19637db..5be869c4 100644 --- a/sigmodr/widgets/WarpItem.cpp +++ b/sigmodr/widgets/WarpItem.cpp @@ -56,32 +56,19 @@ void WarpItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, painter->drawRect(m_warp->area()); } -void WarpItem::mousePressEvent(QGraphicsSceneMouseEvent* event) -{ - QGraphicsItem::mousePressEvent(event); - update(); -} - -void WarpItem::mouseMoveEvent(QGraphicsSceneMouseEvent* event) +void WarpItem::resizeBy(const QPointF& size) { - QGraphicsItem::mouseMoveEvent(event); QRect area = m_warp->area(); - area.setTopLeft(scenePos().toPoint()); + area.setBottomRight(area.bottomRight() + size.toPoint()); m_warp->setArea(area); + MapItem::resizeBy(size); } -void WarpItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) -{ - QGraphicsItem::mouseReleaseEvent(event); - update(); -} - -void WarpItem::resizeBy(const QPointF& size) +void WarpItem::moveTo(const QPoint& point) { QRect area = m_warp->area(); - area.setBottomRight(area.bottomRight() + size.toPoint()); + area.setTopLeft(point); m_warp->setArea(area); - MapItem::resizeBy(size); } void WarpItem::warpChanged() diff --git a/sigmodr/widgets/WarpItem.h b/sigmodr/widgets/WarpItem.h index 0b04acd0..5c51c384 100644 --- a/sigmodr/widgets/WarpItem.h +++ b/sigmodr/widgets/WarpItem.h @@ -42,11 +42,8 @@ class SIGMODRWIDGETS_NO_EXPORT WarpItem : public MapItem void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); protected: - void mousePressEvent(QGraphicsSceneMouseEvent* event); - void mouseMoveEvent(QGraphicsSceneMouseEvent* event); - void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); - void resizeBy(const QPointF& size); + void moveTo(const QPoint& point); protected slots: void warpChanged(); private: |