]> sigrok.org Git - pulseview.git/blobdiff - pv/view/analogsignal.cpp
Random simplifications, cosmetics/whitespace/consistency fixes.
[pulseview.git] / pv / view / analogsignal.cpp
index 1cdea278dd38228c3c7a989f99ae0664528841fe..af979c0c2d8a6500358538138e2e89cc9adeccf6 100644 (file)
@@ -68,8 +68,8 @@ const QColor AnalogSignal::SignalColours[4] = {
        QColor(0x4E, 0x9A, 0x06)        // Green
 };
 
-const QColor AnalogSignal::GridMajorColor = QColor(0, 0, 0, 40*256/100);
-const QColor AnalogSignal::GridMinorColor = QColor(0, 0, 0, 20*256/100);
+const QColor AnalogSignal::GridMajorColor = QColor(0, 0, 0, 40 * 256 / 100);
+const QColor AnalogSignal::GridMinorColor = QColor(0, 0, 0, 20 * 256 / 100);
 
 const QColor AnalogSignal::SamplingPointColour(0x77, 0x77, 0x77);
 
@@ -157,16 +157,14 @@ int AnalogSignal::scale_handle_offset() const
 {
        const int h = (pos_vdivs_ + neg_vdivs_) * div_height_;
 
-       return ((scale_index_drag_offset_ - scale_index_) *
-               h / 4) - h / 2;
+       return ((scale_index_drag_offset_ - scale_index_) * h / 4) - h / 2;
 }
 
 void AnalogSignal::scale_handle_dragged(int offset)
 {
        const int h = (pos_vdivs_ + neg_vdivs_) * div_height_;
 
-       scale_index_ = scale_index_drag_offset_ -
-               (offset + h / 2) / (h / 4);
+       scale_index_ = scale_index_drag_offset_ - (offset + h / 2) / (h / 4);
 
        update_scale();
 }
@@ -243,20 +241,22 @@ void AnalogSignal::paint_fore(QPainter &p, const ViewItemPaintParams &pp)
        if (!enabled())
                return;
 
-       const int y = get_visual_y();
+       if ((display_type_ == DisplayAnalog) || (display_type_ == DisplayBoth)) {
+               const int y = get_visual_y();
 
-       // Show the info section on the right side of the trace
-       const QString infotext = QString("%1 V/div").arg(resolution_);
+               // Show the info section on the right side of the trace
+               const QString infotext = QString("%1 V/div").arg(resolution_);
 
-       p.setPen(base_->colour());
-       p.setFont(QApplication::font());
+               p.setPen(base_->colour());
+               p.setFont(QApplication::font());
 
-       const QRectF bounding_rect = QRectF(pp.left(),
-                       y + v_extents().first,
-                       pp.width() - InfoTextMarginRight,
-                       v_extents().second - v_extents().first - InfoTextMarginBottom);
+               const QRectF bounding_rect = QRectF(pp.left(),
+                               y + v_extents().first,
+                               pp.width() - InfoTextMarginRight,
+                               v_extents().second - v_extents().first - InfoTextMarginBottom);
 
-       p.drawText(bounding_rect, Qt::AlignRight | Qt::AlignBottom, infotext);
+               p.drawText(bounding_rect, Qt::AlignRight | Qt::AlignBottom, infotext);
+       }
 }
 
 void AnalogSignal::paint_grid(QPainter &p, int y, int left, int right)
@@ -369,7 +369,7 @@ void AnalogSignal::paint_envelope(QPainter &p,
        QRectF *const rects = new QRectF[e.length];
        QRectF *rect = rects;
 
-       for (uint64_t sample = 0; sample < e.length-1; sample++) {
+       for (uint64_t sample = 0; sample < e.length - 1; sample++) {
                const float x = ((e.scale * sample + e.start) /
                        samples_per_pixel - pixels_offset) + left;
                const AnalogSegment::EnvelopeSample *const s =
@@ -377,8 +377,8 @@ void AnalogSignal::paint_envelope(QPainter &p,
 
                // We overlap this sample with the next so that vertical
                // gaps do not appear during steep rising or falling edges
-               const float b = y - max(s->max, (s+1)->min) * scale_;
-               const float t = y - min(s->min, (s+1)->max) * scale_;
+               const float b = y - max(s->max, (s + 1)->min) * scale_;
+               const float t = y - min(s->min, (s + 1)->max) * scale_;
 
                float h = b - t;
                if (h >= 0.0f && h <= 1.0f)
@@ -675,6 +675,9 @@ void AnalogSignal::populate_popup_form(QWidget *parent, QFormLayout *form)
 
        layout->addRow(tr("Traces to show:"), display_type_cb_);
 
+       connect(display_type_cb_, SIGNAL(currentIndexChanged(int)),
+               this, SLOT(on_display_type_changed(int)));
+
        form->addRow(layout);
 }
 
@@ -752,6 +755,14 @@ void AnalogSignal::on_conversion_changed(int index)
        }
 }
 
+void AnalogSignal::on_display_type_changed(int index)
+{
+       display_type_ = (DisplayType)(display_type_cb_->itemData(index).toInt());
+
+       if (owner_)
+               owner_->row_item_appearance_changed(false, true);
+}
+
 } // namespace TraceView
 } // namespace views
 } // namespace pv