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);
{
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();
}
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)
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 =
// 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)
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);
}
}
}
+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