X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fview.cpp;h=eca6b8eabce92c05575cbefeb1473ea95e424028;hb=58864c5c5dffac4254f199356aaeb5eabd608630;hp=0f9edb3f39719d53a2d991f2a25383e89386e0e6;hpb=528bd8a194362b7e73d53360ec78ec22f06eecc2;p=pulseview.git diff --git a/pv/view/view.cpp b/pv/view/view.cpp index 0f9edb3..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; } @@ -209,7 +232,7 @@ void View::update_scroll() get_scroll_layout(length, offset); length = max(length - areaSize.width(), 0.0); - horizontalScrollBar()->setPageStep(areaSize.width()); + horizontalScrollBar()->setPageStep(areaSize.width() / 2); _updating_scroll = true;