/* mapentity.cc This file is part of the Project::OSiRiON world editor and is distributed under the terms and conditions of the GNU General Public License version 2 */ #include #include #include #include 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) { entity_label = label; } void MapEntity::set_name(const QString &name) { entity_name = name; } void MapEntity::set_radius(const float radius) { entity_radius = radius; } void MapEntity::set_location(const float x, const float y, const float z) { entity_location[0] = x; entity_location[1] = y; entity_location[2] = z; } void MapEntity::set_properties(const QString &properties) { entity_properties = properties; } void MapEntity::add_property(const QString &key, const QString &value) { if (entity_properties.size()) { entity_properties += '\n'; } entity_properties += key; entity_properties += '='; entity_properties += value; } 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.setPen(pen); 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); } } }