Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/entitywidget.cc')
-rw-r--r--src/entitywidget.cc31
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();
}