diff options
author | Stijn Buys <ingar@osirion.org> | 2013-11-11 18:35:13 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2013-11-11 18:35:13 +0000 |
commit | e44fa0f1ca62fbcc640530abb2d085939f470d34 (patch) | |
tree | a7db2549b2d697e16e3f51d30c8570c9a0731e3c /src/entitywidget.cc | |
parent | 669abae48358e131e36fda99043c6bac291e74e7 (diff) |
Added box selection, deleted selected, duplicate selected, move selected.
Diffstat (limited to 'src/entitywidget.cc')
-rw-r--r-- | src/entitywidget.cc | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/src/entitywidget.cc b/src/entitywidget.cc index 6878b28..70be280 100644 --- a/src/entitywidget.cc +++ b/src/entitywidget.cc @@ -18,21 +18,21 @@ namespace editor EntityWidget::EntityWidget(QWidget *parent) : QWidget(parent) { - is_selected = false; + entitywidget_selected = SelectNone; is_dragging = false; } EntityWidget::EntityWidget(EntityWidget &entity_widget, QWidget *parent) : QWidget(parent) { - is_selected = false; + entitywidget_selected = SelectNone; is_dragging = false; assign(entity_widget); } -void EntityWidget::set_selected(const bool selected) +void EntityWidget::set_selected(const Selected selected) { - is_selected = selected; + entitywidget_selected = selected; update(); } @@ -47,13 +47,20 @@ void EntityWidget::paintEvent(QPaintEvent *event) QPen pen(Qt::black, 1, Qt::SolidLine); QPainter painter(this); - if (is_selected) { - pen.setColor(Qt::red); - painter.setPen(pen); - - painter.setClipping(false); - } else { - painter.setClipping(true); + switch (entitywidget_selected) { + case SelectNone: + painter.setClipping(true); + break; + case SelectHighlight: + pen.setColor(QColor(191, 0, 0)); + painter.setPen(pen); + painter.setClipping(false); + break; + case SelectActive: + pen.setColor(QColor(255, 0, 0)); + painter.setPen(pen); + painter.setClipping(false); + break; } painter.setPen(pen); @@ -81,7 +88,7 @@ void EntityWidget::mousePressEvent(QMouseEvent *event) if (event->button() == Qt::LeftButton) { //qDebug() << "clicked entity " << name(); event->accept(); - if (is_selected) { + if ((selected() == SelectHighlight) || (selected() == SelectActive)) { is_dragging = true; emit dragStart(); } |