X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fsignal.cpp;h=ae180e19a47a228a35f8d1151658b3f1b14973c2;hp=9299e9326234b62fdc323009598f312fe14f5975;hb=d09674d4529828b6bd2cbaa027949b953d6bd96a;hpb=5ce37f0fcfb35a13d518406c33757a41a2454dba diff --git a/pv/view/signal.cpp b/pv/view/signal.cpp index 9299e932..ae180e19 100644 --- a/pv/view/signal.cpp +++ b/pv/view/signal.cpp @@ -20,6 +20,9 @@ #include +#include +#include + #include #include "signal.h" @@ -29,15 +32,15 @@ namespace pv { namespace view { const int Signal::LabelHitPadding = 2; -const int Signal::LabelHighlightRadius = 6; const QPen Signal::SignalAxisPen(QColor(128, 128, 128, 64)); -Signal::Signal(QString name) : - _name(name), - _v_offset(0), - _selected(false) +Signal::Signal(const sr_probe *const probe) : + _probe(probe), + _name(probe->name), + _v_offset(0) { + assert(_probe); } QString Signal::get_name() const @@ -70,20 +73,13 @@ void Signal::set_v_offset(int v_offset) _v_offset = v_offset; } -bool Signal::selected() const -{ - return _selected; -} - -void Signal::select(bool select) -{ - _selected = select; -} - void Signal::paint_label(QPainter &p, int y, int right, bool hover) { p.setBrush(_colour); + if (!_probe->enabled) + return; + const QColor colour = get_colour(); compute_text_size(p); @@ -106,10 +102,8 @@ void Signal::paint_label(QPainter &p, int y, int right, bool hover) QPointF(label_rect.left() + 1, label_rect.bottom() - 1) }; - if (_selected) { - p.setPen(QPen(QApplication::palette().brush( - QPalette::Highlight), LabelHighlightRadius, - Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); + if (selected()) { + p.setPen(highlight_pen()); p.setBrush(Qt::transparent); p.drawPolygon(points, countof(points)); } @@ -163,7 +157,7 @@ QRectF Signal::get_label_rect(int y, int right) const QSizeF label_size( _text_size.width() + View::LabelPadding.width() * 2, - _text_size.height() + View::LabelPadding.height() * 2); + ceilf((_text_size.height() + View::LabelPadding.height() * 2) / 2) * 2); const float label_arrow_length = label_size.height() / 2; return QRectF( right - label_arrow_length - label_size.width() - 0.5,