summaryrefslogtreecommitdiffstats
path: root/sigmodr
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-03-19 13:11:38 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-03-19 13:11:38 -0400
commit8565c5b6a579cba2ee55c782c531625a1751dac9 (patch)
tree04b163203246675f3018177e70fab34d73685116 /sigmodr
parent2d2000bfe59fe20c140d892a874b29475b3e7121 (diff)
downloadsigen-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.cpp5
-rw-r--r--sigmodr/widgets/EffectItem.h1
-rw-r--r--sigmodr/widgets/MapItem.cpp13
-rw-r--r--sigmodr/widgets/MapItem.h5
-rw-r--r--sigmodr/widgets/TileItem.cpp5
-rw-r--r--sigmodr/widgets/TileItem.h1
-rw-r--r--sigmodr/widgets/TrainerItem.cpp5
-rw-r--r--sigmodr/widgets/TrainerItem.h1
-rw-r--r--sigmodr/widgets/WarpItem.cpp5
-rw-r--r--sigmodr/widgets/WarpItem.h1
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;
};
}
}