class RowItem;
class View;
+class ViewItem;
class Header : public MarginWidget
{
QSize sizeHint() const;
+ /**
+ * The extended area that the header widget would like to be sized to.
+ * @remarks This area is the area specified by sizeHint, extended by
+ * the area to overlap the viewport.
+ */
+ QSize extended_size_hint() const;
+
/**
* The horizontal offset, relative to the left edge of the widget,
* where the arrows of the trace labels end.
static const int BaselineOffset;
private:
- std::shared_ptr<pv::view::RowItem> get_mouse_over_row_item(
- const QPoint &pt);
-
- void clear_selection();
+ /**
+ * Gets the row items.
+ */
+ std::vector< std::shared_ptr<pv::view::ViewItem> > items();
- void show_popup(const std::shared_ptr<RowItem> &item);
+ /**
+ * Gets the first view item which has a label that contains @c pt .
+ * @param pt the point to search with.
+ * @return the view item that has been found, or and empty
+ * @c shared_ptr if no item was found.
+ */
+ std::shared_ptr<pv::view::ViewItem> get_mouse_over_item(
+ const QPoint &pt);
private:
void paintEvent(QPaintEvent *event);
void mouseMoveEvent(QMouseEvent *event);
- void leaveEvent(QEvent *event);
-
void contextMenuEvent(QContextMenuEvent *event);
void keyPressEvent(QKeyEvent *e);
Q_SIGNALS:
void signals_moved();
-
-private:
- QPoint mouse_point_;
- QPoint mouse_down_point_;
- std::shared_ptr<RowItem> mouse_down_item_;
- bool dragging_;
};
} // namespace view