diff options
author | Stijn Buys <ingar@osirion.org> | 2012-02-19 11:54:26 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2012-02-19 11:54:26 +0000 |
commit | 96f17eaf3a1f66d7eefd66e51e2137ea404459f4 (patch) | |
tree | 4e85c02171ce0e90975bb690e19d44c00975e642 /src/mapentity.cc | |
parent | f7530ccf9ce71efcb00cda56ee9d71e7765e6f79 (diff) |
Read entity properties, added entity selection and scaling.
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); + } } } |