X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fview.cpp;h=eca6b8eabce92c05575cbefeb1473ea95e424028;hb=58864c5c5dffac4254f199356aaeb5eabd608630;hp=95b8a5bec9e9f1fde845898ee5ed7a0cf1bfcc58;hpb=b4ef7f2aaa12450d4e8e6b1efce5e9755d579685;p=pulseview.git diff --git a/pv/view/view.cpp b/pv/view/view.cpp index 95b8a5b..eca6b8e 100644 --- a/pv/view/view.cpp +++ b/pv/view/view.cpp @@ -72,8 +72,7 @@ View::View(SigSession &session, QWidget *parent) : _v_offset(0), _updating_scroll(false), _show_cursors(false), - _cursors(pair(Cursor(*this, 0.0), - Cursor(*this, 1.0))), + _cursors(*this), _hover_point(-1, -1) { connect(horizontalScrollBar(), SIGNAL(valueChanged(int)), @@ -86,14 +85,24 @@ View::View(SigSession &session, QWidget *parent) : connect(&_session, SIGNAL(data_updated()), this, SLOT(data_updated())); - connect(&_cursors.first, SIGNAL(time_changed()), + connect(_cursors.first().get(), SIGNAL(time_changed()), this, SLOT(marker_time_changed())); - connect(&_cursors.second, SIGNAL(time_changed()), + connect(_cursors.second().get(), SIGNAL(time_changed()), this, SLOT(marker_time_changed())); connect(_header, SIGNAL(signals_moved()), this, SLOT(on_signals_moved())); + connect(_header, SIGNAL(selection_changed()), + _ruler, SLOT(clear_selection())); + connect(_ruler, SIGNAL(selection_changed()), + _header, SLOT(clear_selection())); + + connect(_header, SIGNAL(selection_changed()), + this, SIGNAL(selection_changed())); + connect(_ruler, SIGNAL(selection_changed()), + this, SIGNAL(selection_changed())); + setViewportMargins(LabelMarginWidth, RulerHeight, 0, 0); setViewport(_viewport); @@ -162,7 +171,21 @@ void View::show_cursors(bool show) _viewport->update(); } -std::pair& View::cursors() +void View::centre_cursors() +{ + const double time_width = _scale * _viewport->width(); + _cursors.first()->set_time(_offset + time_width * 0.4); + _cursors.second()->set_time(_offset + time_width * 0.6); + _ruler->update(); + _viewport->update(); +} + +CursorPair& View::cursors() +{ + return _cursors; +} + +const CursorPair& View::cursors() const { return _cursors; }