Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/mapentity.cc')
-rw-r--r--src/mapentity.cc29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/mapentity.cc b/src/mapentity.cc
index 516b0b6..dd16379 100644
--- a/src/mapentity.cc
+++ b/src/mapentity.cc
@@ -8,12 +8,23 @@
#include <mapentity.h>
#include <QPainter>
+#include <QMouseEvent>
+#include <QDebug>
namespace editor
{
MapEntity::MapEntity(QWidget *parent) : QWidget(parent)
{
+ is_selected = false;
+
+ entity_radius = 0;
+}
+
+void MapEntity::set_selected(const bool selected)
+{
+ is_selected = selected;
+ update();
}
void MapEntity::set_label(const QString &label)
@@ -40,12 +51,26 @@ void MapEntity::set_location(const float x, const float y, const float z)
}
void MapEntity::paintEvent(QPaintEvent *event)
-{
+{
QPen pen(Qt::black, 1, Qt::SolidLine);
QPainter painter(this);
+ if (is_selected) {
+ pen.setColor(Qt::red);
+ }
+
painter.setPen(pen);
- painter.drawRect(0, 0, width() - 1 , height() - 1);
+ painter.drawEllipse(0, 0, width() - 1 , height() - 1);
+}
+
+void MapEntity::mousePressEvent(QMouseEvent *event)
+{
+ if (event->button() == Qt::LeftButton) {
+ qDebug() << "clicked entity " << name();
+ event->accept();
+
+ emit clicked(this);
+ }
}
}