return sizeHint() + QSize(ViewItem::HighlightRadius, 0);
}
-shared_ptr<RowItem> Header::get_mouse_over_row_item(const QPoint &pt)
+shared_ptr<RowItem> Header::get_mouse_over_item(const QPoint &pt)
{
const QRect r(0, 0, width() - BaselineOffset, height());
for (auto &i : view_)
update();
}
-void Header::show_popup(const shared_ptr<RowItem> &item)
-{
- using pv::widgets::Popup;
-
- Popup *const p = item->create_popup(&view_);
- if (!p)
- return;
-
- const QPoint pt(width() - BaselineOffset, item->get_visual_y());
- p->set_position(mapToGlobal(pt), Popup::Right);
- p->show();
-}
-
void Header::paintEvent(QPaintEvent*)
{
// The trace labels are not drawn with the arrows exactly on the
assert(event);
mouse_down_point_ = event->pos();
- mouse_down_item_ = get_mouse_over_row_item(event->pos());
+ mouse_down_item_ = get_mouse_over_item(event->pos());
if (event->button() & Qt::LeftButton)
mouseLeftPressEvent(event);
// Unselect everything if control is not pressed
const shared_ptr<RowItem> mouse_over =
- get_mouse_over_row_item(event->pos());
+ get_mouse_over_item(event->pos());
for (auto &r : view_)
r->drag_release();
// Do the drag
dragging_ = true;
- const int delta = event->pos().y() - mouse_down_point_.y();
+ const QPoint delta = event->pos() - mouse_down_point_;
for (std::shared_ptr<RowItem> r : view_)
if (r->dragging()) {
- r->force_to_v_offset(r->drag_point().y() + delta);
+ r->drag_by(delta);
// Ensure the trace is selected
r->select();
void Header::contextMenuEvent(QContextMenuEvent *event)
{
- const shared_ptr<RowItem> r = get_mouse_over_row_item(mouse_point_);
+ const shared_ptr<RowItem> r = get_mouse_over_item(mouse_point_);
if (!r)
return;