X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fviewport.cpp;h=83abb7b6cbd5273f699a204d2720e4404f6c00e2;hp=d426a133717596a8c8d396b9f6e4f08e146cef13;hb=3782d8609d2f4bd66855dc4f72c0f74d9bc11c23;hpb=4deee4de1660cd5cdc100f3130a3e68af97212d9 diff --git a/pv/views/trace/viewport.cpp b/pv/views/trace/viewport.cpp index d426a133..83abb7b6 100644 --- a/pv/views/trace/viewport.cpp +++ b/pv/views/trace/viewport.cpp @@ -37,7 +37,7 @@ using std::abs; using std::back_inserter; using std::copy; using std::dynamic_pointer_cast; -using std::none_of; // Used in assert()s. +using std::none_of; // NOLINT. Used in assert()s. using std::shared_ptr; using std::stable_sort; using std::vector; @@ -64,9 +64,9 @@ shared_ptr Viewport::get_mouse_over_item(const QPoint &pt) return nullptr; } -void Viewport::item_hover(const shared_ptr &item) +void Viewport::item_hover(const shared_ptr &item, QPoint pos) { - if (item && item->is_draggable()) + if (item && item->is_draggable(pos)) setCursor(dynamic_pointer_cast(item) ? Qt::SizeVerCursor : Qt::SizeHorCursor); else @@ -165,7 +165,7 @@ void Viewport::paintEvent(QPaintEvent*) stable_sort(row_items.begin(), row_items.end(), [](const shared_ptr &a, const shared_ptr &b) { - return a->point(QRect()).y() < b->point(QRect()).y(); }); + return a->drag_point(QRect()).y() < b->drag_point(QRect()).y(); }); const vector< shared_ptr > time_items(view_.time_items()); assert(none_of(time_items.begin(), time_items.end(), @@ -177,11 +177,11 @@ void Viewport::paintEvent(QPaintEvent*) for (LayerPaintFunc *paint_func = layer_paint_funcs; *paint_func; paint_func++) { ViewItemPaintParams time_pp(rect(), view_.scale(), view_.offset()); - for (const shared_ptr t : time_items) + for (const shared_ptr& t : time_items) (t.get()->*(*paint_func))(p, time_pp); ViewItemPaintParams row_pp(rect(), view_.scale(), view_.offset()); - for (const shared_ptr r : row_items) + for (const shared_ptr& r : row_items) (r.get()->*(*paint_func))(p, row_pp); }