summaryrefslogtreecommitdiffstats
path: root/sigmodr
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-03-19 13:08:51 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-03-19 13:08:51 -0400
commite254eec0870ff84ec974be43e024c1d521c5eb19 (patch)
treef3360bf7c011056e2bec91ae65575bc006228a2e /sigmodr
parentf07c442c50fe4da6fa076a45f321f7ac70bf6389 (diff)
downloadsigen-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.cpp23
-rw-r--r--sigmodr/widgets/EffectItem.h5
-rw-r--r--sigmodr/widgets/MapItem.cpp9
-rw-r--r--sigmodr/widgets/MapItem.h1
-rw-r--r--sigmodr/widgets/TileItem.cpp17
-rw-r--r--sigmodr/widgets/TileItem.h4
-rw-r--r--sigmodr/widgets/TrainerItem.cpp17
-rw-r--r--sigmodr/widgets/TrainerItem.h4
-rw-r--r--sigmodr/widgets/WarpItem.cpp23
-rw-r--r--sigmodr/widgets/WarpItem.h5
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: