]> sigrok.org Git - pulseview.git/blobdiff - pv/view/view.cpp
ViewItem: Moved in paint_fore, paint_mid and paint_back
[pulseview.git] / pv / view / view.cpp
index 3df87e540b986b0e08b1242c9139950f65f12a5b..6cd274b0dc8f74605f480baaadfb61e7a725cfd3 100644 (file)
@@ -198,6 +198,7 @@ const Viewport* View::viewport() const
 vector< shared_ptr<TimeItem> > View::time_items() const
 {
        vector< shared_ptr<TimeItem> > items;
+       items.push_back(cursors_);
        items.push_back(cursors_->first());
        items.push_back(cursors_->second());
        return items;
@@ -482,11 +483,11 @@ void View::update_scroll()
 
        // Set the vertical scrollbar
        verticalScrollBar()->setPageStep(areaSize.height());
+       verticalScrollBar()->setSingleStep(areaSize.height() / 8);
 
        const pair<int, int> extents = v_extents();
-       const int extra_scroll_height = (extents.second - extents.first) / 4;
-       verticalScrollBar()->setRange(extents.first - extra_scroll_height,
-               extents.first + extra_scroll_height);
+       verticalScrollBar()->setRange(extents.first - (areaSize.height() / 2),
+               extents.second - (areaSize.height() / 2));
 }
 
 void View::update_layout()
@@ -617,8 +618,8 @@ void View::appearance_changed(bool label, bool content)
 void View::extents_changed(bool horz, bool vert)
 {
        sticky_events_ |=
-               (horz ? SelectableItemHExtentsChanged : 0) |
-               (vert ? SelectableItemVExtentsChanged : 0);
+               (horz ? RowItemHExtentsChanged : 0) |
+               (vert ? RowItemVExtentsChanged : 0);
        lazy_event_handler_.start();
 }
 
@@ -741,9 +742,9 @@ void View::on_signals_moved()
 
 void View::process_sticky_events()
 {
-       if (sticky_events_ & SelectableItemHExtentsChanged)
+       if (sticky_events_ & RowItemHExtentsChanged)
                update_layout();
-       if (sticky_events_ & SelectableItemVExtentsChanged)
+       if (sticky_events_ & RowItemVExtentsChanged)
                restack_all_row_items();
 
        // Clear the sticky events