MCPcopy Create free account
hub / github.com/OpenMS/OpenMS / paint

Method paint

src/openms_gui/source/VISUAL/TOPPASToolVertex.cpp:322–381  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

320 }
321
322 void TOPPASToolVertex::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
323 {
324 TOPPASVertex::paint(painter, option, widget, false);
325
326 QString draw_str = (type_.empty() ? name_ : name_ + " (" + type_ + ")").toQString();
327 for (int i = 0; i < 10; ++i)
328 {
329 QString prev_str = draw_str;
330 draw_str = toolnameWithWhitespacesForFancyWordWrapping_(painter, draw_str);
331 if (draw_str == prev_str)
332 {
333 break;
334 }
335 }
336
337 QRectF text_boundings = painter->boundingRect(QRectF(-65, -35, 130, 70), Qt::AlignCenter | Qt::TextWordWrap, draw_str);
338 painter->drawText(text_boundings, Qt::AlignCenter | Qt::TextWordWrap, draw_str);
339
340 if (status_ != TOOL_READY)
341 {
342 QString text = QString::number(round_counter_) + " / " + QString::number(round_total_);
343
344 QRectF text_boundings = painter->boundingRect(QRectF(0, 0, 0, 0), Qt::AlignCenter, text);
345 painter->drawText((int)(62.0 - text_boundings.width()), 48, text);
346 }
347
348 // progress light
349 painter->setPen(Qt::black);
350 QColor progress_color;
351 switch (status_)
352 {
353 case TOOL_READY:
354 progress_color = Qt::lightGray; break;
355
356 case TOOL_SCHEDULED:
357 progress_color = Qt::darkBlue; break;
358
359 case TOOL_RUNNING:
360 progress_color = Qt::yellow; break;
361
362 case TOOL_SUCCESS:
363 progress_color = Qt::green; break;
364
365 case TOOL_CRASH:
366 progress_color = Qt::red; break;
367
368 default:
369 progress_color = Qt::magenta; break; // signal weird status by color
370 }
371 painter->setBrush(progress_color);
372 painter->drawEllipse(46, -52, 14, 14);
373
374 // breakpoint set?
375 if (breakpoint_set_)
376 {
377 QSvgRenderer* svg_renderer = new QSvgRenderer(QString(":/stop_sign.svg"), nullptr);
378 painter->setOpacity(0.35);
379 svg_renderer->render(painter, QRectF(-60, -60, 120, 120));

Callers

nothing calls this directly

Calls 8

numberFunction · 0.85
drawTextMethod · 0.80
widthMethod · 0.80
QRectFClass · 0.50
QStringClass · 0.50
toQStringMethod · 0.45
emptyMethod · 0.45
boundingRectMethod · 0.45

Tested by

no test coverage detected