diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2009-03-19 13:11:38 -0400 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2009-03-19 13:11:38 -0400 |
commit | 8565c5b6a579cba2ee55c782c531625a1751dac9 (patch) | |
tree | 04b163203246675f3018177e70fab34d73685116 /sigmodr | |
parent | 2d2000bfe59fe20c140d892a874b29475b3e7121 (diff) | |
download | sigen-8565c5b6a579cba2ee55c782c531625a1751dac9.tar.gz sigen-8565c5b6a579cba2ee55c782c531625a1751dac9.tar.xz sigen-8565c5b6a579cba2ee55c782c531625a1751dac9.zip |
Have MapItem deal with the label and tag
Diffstat (limited to 'sigmodr')
-rw-r--r-- | sigmodr/widgets/EffectItem.cpp | 5 | ||||
-rw-r--r-- | sigmodr/widgets/EffectItem.h | 1 | ||||
-rw-r--r-- | sigmodr/widgets/MapItem.cpp | 13 | ||||
-rw-r--r-- | sigmodr/widgets/MapItem.h | 5 | ||||
-rw-r--r-- | sigmodr/widgets/TileItem.cpp | 5 | ||||
-rw-r--r-- | sigmodr/widgets/TileItem.h | 1 | ||||
-rw-r--r-- | sigmodr/widgets/TrainerItem.cpp | 5 | ||||
-rw-r--r-- | sigmodr/widgets/TrainerItem.h | 1 | ||||
-rw-r--r-- | sigmodr/widgets/WarpItem.cpp | 5 | ||||
-rw-r--r-- | sigmodr/widgets/WarpItem.h | 1 |
10 files changed, 18 insertions, 24 deletions
diff --git a/sigmodr/widgets/EffectItem.cpp b/sigmodr/widgets/EffectItem.cpp index 66e9d7f4..21f29c94 100644 --- a/sigmodr/widgets/EffectItem.cpp +++ b/sigmodr/widgets/EffectItem.cpp @@ -35,10 +35,7 @@ EffectItem::EffectItem(MapEffect* effect, QGraphicsScene* parent) : { connect(m_effect, SIGNAL(changed()), this, SLOT(effectChanged())); setZValue(INT_MAX); - QGraphicsSimpleTextItem* item = new QGraphicsSimpleTextItem(QString::number(m_effect->id()), this); - QSizeF size = item->boundingRect().size() / 2; - item->setPos(-size.width(), -size.height()); - m_label = new QGraphicsSimpleTextItem(this); + m_tag->setText(QString::number(m_effect->id())); effectChanged(); } diff --git a/sigmodr/widgets/EffectItem.h b/sigmodr/widgets/EffectItem.h index aedbc80e..14228908 100644 --- a/sigmodr/widgets/EffectItem.h +++ b/sigmodr/widgets/EffectItem.h @@ -50,7 +50,6 @@ class SIGMODRWIDGETS_NO_EXPORT EffectItem : public MapItem void resetLabel(); Sigmod::MapEffect* m_effect; - QGraphicsSimpleTextItem* m_label; }; } } diff --git a/sigmodr/widgets/MapItem.cpp b/sigmodr/widgets/MapItem.cpp index 57965ef3..4dcc7aa8 100644 --- a/sigmodr/widgets/MapItem.cpp +++ b/sigmodr/widgets/MapItem.cpp @@ -24,6 +24,7 @@ // Qt includes #include <QtGui/QGraphicsScene> #include <QtGui/QGraphicsSceneMouseEvent> +#include <QtGui/QGraphicsSimpleTextItem> #include <QtGui/QPainter> #include <QtGui/QStyleOptionGraphicsItem> @@ -31,10 +32,14 @@ using namespace Sigmodr::Widgets; MapItem::MapItem(const bool resizable, QGraphicsScene* parent) : QObject(parent), - m_resizable(resizable) + m_resizable(resizable), + m_tag(new QGraphicsSimpleTextItem(this)), + m_label(new QGraphicsSimpleTextItem(this)) { setAcceptHoverEvents(true); setFlags(ItemIsMovable | ItemIsSelectable | ItemDoesntPropagateOpacityToChildren); + m_tag->setPos(-5, -8); + m_label->hide(); } void MapItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) @@ -58,14 +63,16 @@ void MapItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, Q void MapItem::hoverEnterEvent(QGraphicsSceneHoverEvent* event) { - emit(hovered(true)); + m_label->show(); QGraphicsItem::hoverEnterEvent(event); + update(); } void MapItem::hoverLeaveEvent(QGraphicsSceneHoverEvent* event) { - emit(hovered(false)); + m_label->hide(); QGraphicsItem::hoverLeaveEvent(event); + update(); } void MapItem::mouseMoveEvent(QGraphicsSceneMouseEvent* event) diff --git a/sigmodr/widgets/MapItem.h b/sigmodr/widgets/MapItem.h index fa6783b7..537d66dd 100644 --- a/sigmodr/widgets/MapItem.h +++ b/sigmodr/widgets/MapItem.h @@ -44,7 +44,6 @@ class SIGMODRWIDGETS_NO_EXPORT MapItem : public QObject, public QGraphicsItem virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget); signals: void changed(); - void hovered(const bool hovering); protected: virtual void hoverEnterEvent(QGraphicsSceneHoverEvent* event); virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent* event); @@ -53,7 +52,11 @@ class SIGMODRWIDGETS_NO_EXPORT MapItem : public QObject, public QGraphicsItem virtual void resizeBy(const QPointF& size); virtual void moveTo(const QPoint& point) = 0; + virtual void resetLabel() = 0; + const bool m_resizable; + QGraphicsSimpleTextItem* m_tag; + QGraphicsSimpleTextItem* m_label; }; } } diff --git a/sigmodr/widgets/TileItem.cpp b/sigmodr/widgets/TileItem.cpp index 3fa6d410..faa967c4 100644 --- a/sigmodr/widgets/TileItem.cpp +++ b/sigmodr/widgets/TileItem.cpp @@ -39,10 +39,7 @@ TileItem::TileItem(MapTile* tile, QGraphicsScene* parent) : { connect(m_tile, SIGNAL(changed()), this, SLOT(tileChanged())); setZValue(m_tile->zIndex()); - QGraphicsSimpleTextItem* item = new QGraphicsSimpleTextItem(QString::number(m_tile->id()), this); - QSizeF size = item->boundingRect().size() / 2; - item->setPos(-size.width(), -size.height()); - m_label = new QGraphicsSimpleTextItem(this); + m_tag->setText(QString::number(m_tile->id())); tileChanged(); } diff --git a/sigmodr/widgets/TileItem.h b/sigmodr/widgets/TileItem.h index e062805d..c11c2189 100644 --- a/sigmodr/widgets/TileItem.h +++ b/sigmodr/widgets/TileItem.h @@ -55,7 +55,6 @@ class SIGMODRWIDGETS_NO_EXPORT TileItem : public MapItem Sigmod::MapTile* m_tile; int m_tileIndex; QPixmap m_pixmap; - QGraphicsSimpleTextItem* m_label; }; } } diff --git a/sigmodr/widgets/TrainerItem.cpp b/sigmodr/widgets/TrainerItem.cpp index 6edaaae1..339276bf 100644 --- a/sigmodr/widgets/TrainerItem.cpp +++ b/sigmodr/widgets/TrainerItem.cpp @@ -35,10 +35,7 @@ TrainerItem::TrainerItem(MapTrainer* trainer, QGraphicsScene* parent) : { connect(m_trainer, SIGNAL(changed()), this, SLOT(trainerChanged())); setZValue(INT_MAX); - QGraphicsSimpleTextItem* item = new QGraphicsSimpleTextItem(QString::number(m_trainer->id()), this); - QSizeF size = item->boundingRect().size() / 2; - item->setPos(-size.width(), -size.height()); - m_label = new QGraphicsSimpleTextItem(this); + m_tag->setText(QString::number(m_trainer->id())); trainerChanged(); } diff --git a/sigmodr/widgets/TrainerItem.h b/sigmodr/widgets/TrainerItem.h index 86e38080..d0fd3daf 100644 --- a/sigmodr/widgets/TrainerItem.h +++ b/sigmodr/widgets/TrainerItem.h @@ -49,7 +49,6 @@ class SIGMODRWIDGETS_NO_EXPORT TrainerItem : public MapItem void resetLabel(); Sigmod::MapTrainer* m_trainer; - QGraphicsSimpleTextItem* m_label; }; } } diff --git a/sigmodr/widgets/WarpItem.cpp b/sigmodr/widgets/WarpItem.cpp index 5be869c4..756b2d90 100644 --- a/sigmodr/widgets/WarpItem.cpp +++ b/sigmodr/widgets/WarpItem.cpp @@ -35,10 +35,7 @@ WarpItem::WarpItem(MapWarp* warp, QGraphicsScene* parent) : { connect(m_warp, SIGNAL(changed()), this, SLOT(warpChanged())); setZValue(INT_MAX); - QGraphicsSimpleTextItem* item = new QGraphicsSimpleTextItem(QString::number(m_warp->id()), this); - QSizeF size = item->boundingRect().size() / 2; - item->setPos(-size.width(), -size.height()); - m_label = new QGraphicsSimpleTextItem(this); + m_tag->setText(QString::number(m_warp->id())); warpChanged(); } diff --git a/sigmodr/widgets/WarpItem.h b/sigmodr/widgets/WarpItem.h index 5c51c384..9f682715 100644 --- a/sigmodr/widgets/WarpItem.h +++ b/sigmodr/widgets/WarpItem.h @@ -50,7 +50,6 @@ class SIGMODRWIDGETS_NO_EXPORT WarpItem : public MapItem void resetLabel(); Sigmod::MapWarp* m_warp; - QGraphicsSimpleTextItem* m_label; }; } } |