void TriggerPoint::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { Q_UNUSED(option); Q_UNUSED(widget); QRectF rect = boundingRect(); painter->save(); BasicBox *box = NULL; if (_abstract->boxID() != NO_ID) { if ((box = _scene->getBox(_abstract->boxID())) != NULL) { QPen pen = painter->pen(); QBrush brush = painter->brush(); pen.setColor(box->color().darker()); pen.setWidth(isSelected() ? 1.5 * BasicBox::LINE_WIDTH : BasicBox::LINE_WIDTH / 2); painter->setPen(pen); if (_scene->playing()) { if (!isWaiting()) { drawFlag(painter, QColor("red")); } else { if(!_scene->triggersQueueList()->isEmpty()) if (_scene->triggersQueueList()->first() == this) { drawFlag(painter, QColor("green")); this->setFocus(); } else { // brush.setColor(QColor("orange")); // painter->setBrush(brush); drawFlag(painter, QColor("orange")); } } if (_abstract->waiting()) { BasicBox *box = _scene->getBox(_abstract->boxID()); box->update(); switch (_abstract->boxExtremity()) { case BOX_START: painter->drawText(rect.topRight() + QPointF(0, rect.height() / 2), QString::fromStdString(_abstract->message())); break; case BOX_END: painter->drawText(rect.topLeft() + QPointF(-QString::fromStdString(_abstract->message()).length() * 7, rect.height() / 2), QString::fromStdString(_abstract->message())); break; default: break; } } } else { drawFlag(painter, QColor(Qt::darkGray)); } } } painter->restore(); }
void AttributesEditor::updateWidgets(bool boxModified) { Q_UNUSED(boxModified); BasicBox * box = _scene->getBox(_boxEdited); if (box != NULL) { box->update(); box->centerWidget(); _boxStartValue->setValue(box->beginPos() * MaquetteScene::MS_PER_PIXEL / S_TO_MS); _boxLengthValue->setValue(box->width() * MaquetteScene::MS_PER_PIXEL / S_TO_MS); _boxName->setText(box->name()); _colorButtonPixmap->fill(box->currentColor()); _generalColorButton->setIcon(QIcon(*_colorButtonPixmap)); } update(); }