-
- connect(&_view.session(), SIGNAL(signals_changed()),
- this, SLOT(on_signals_changed()));
-
- connect(&_view, SIGNAL(signals_moved()),
- this, SLOT(on_signals_moved()));
-
- // Trigger the initial event manually. The default device has signals
- // which were created before this object came into being
- on_signals_changed();
-}
-
-int Viewport::get_total_height() const
-{
- int h = 0;
- const vector< shared_ptr<Trace> > traces(_view.get_traces());
- for (const shared_ptr<Trace> t : traces) {
- assert(t);
- h = max(t->get_v_offset() + View::SignalHeight, h);
- }
-
- return h;
-}
-
-void Viewport::paintEvent(QPaintEvent*)
-{
- const vector< shared_ptr<Trace> > traces(_view.get_traces());
-
- QPainter p(this);
- p.setRenderHint(QPainter::Antialiasing);
-
- if (_view.cursors_shown())
- _view.cursors().draw_viewport_background(p, rect());
-
- // Plot the signal
- for (const shared_ptr<Trace> t : traces)
- {
- assert(t);
- t->paint_back(p, 0, width());
- }
-
- for (const shared_ptr<Trace> t : traces)
- t->paint_mid(p, 0, width());
-
- for (const shared_ptr<Trace> t : traces)
- t->paint_fore(p, 0, width());
-
- if (_view.cursors_shown())
- _view.cursors().draw_viewport_foreground(p, rect());
-
- p.end();