diff options
Diffstat (limited to 'src/mapentity.cc')
-rw-r--r-- | src/mapentity.cc | 29 |
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); + } } } |