X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Ftrace.cpp;h=91fde4725cbbf6f142644174a7e1103be26ff5fa;hb=5ecf957f9f58abc2372b0214333d3491477c1b4d;hp=774351c6ea91c53b60f3e803c36cf71a7925b99b;hpb=a3d5a7c7682ebb991718b49ae916c5840b3b6b51;p=pulseview.git diff --git a/pv/views/trace/trace.cpp b/pv/views/trace/trace.cpp index 774351c..91fde47 100644 --- a/pv/views/trace/trace.cpp +++ b/pv/views/trace/trace.cpp @@ -50,6 +50,9 @@ const QColor Trace::DarkGrayBGColour = QColor(0, 0, 0, 15 * 255 / 100); Trace::Trace(shared_ptr channel) : base_(channel), + axis_pen_(AxisPen), + segment_display_mode_(ShowLastSegmentOnly), // Will be overwritten by View + current_segment_(0), popup_(nullptr), popup_form_(nullptr) { @@ -159,6 +162,16 @@ QRectF Trace::label_rect(const QRectF &rect) const label_size.height()); } +void Trace::set_current_segment(const int segment) +{ + current_segment_ = segment; +} + +int Trace::get_current_segment() const +{ + return current_segment_; +} + void Trace::paint_back(QPainter &p, ViewItemPaintParams &pp) { const View *view = owner_->view(); @@ -180,7 +193,7 @@ void Trace::paint_axis(QPainter &p, ViewItemPaintParams &pp, int y) { p.setRenderHint(QPainter::Antialiasing, false); - p.setPen(AxisPen); + p.setPen(axis_pen_); p.drawLine(QPointF(pp.left(), y), QPointF(pp.right(), y)); p.setRenderHint(QPainter::Antialiasing, true); @@ -241,6 +254,14 @@ void Trace::set_colour(QColor colour) base_->set_colour(colour); } +void Trace::set_segment_display_mode(SegmentDisplayMode mode) +{ + segment_display_mode_ = mode; + + if (owner_) + owner_->row_item_appearance_changed(true, true); +} + void Trace::on_name_changed(const QString &text) { /* This event handler is called by SignalBase when the name was changed there */