X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fheader.hpp;h=e249264330a074c65cbe51559d9fbde54844c412;hp=ae39bc847490357877ed380ec99456073f849a1f;hb=bc01bb31fb03f69c8ceef57676b3399d7a08dcd9;hpb=f4433aa958fb9c85ce82ef5545d722625cb64f9e diff --git a/pv/view/header.hpp b/pv/view/header.hpp index ae39bc84..e2492643 100644 --- a/pv/view/header.hpp +++ b/pv/view/header.hpp @@ -32,6 +32,7 @@ namespace view { class RowItem; class View; +class ViewItem; class Header : public MarginWidget { @@ -45,6 +46,13 @@ public: 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. @@ -52,13 +60,17 @@ public: static const int BaselineOffset; private: - std::shared_ptr get_mouse_over_row_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 get_mouse_over_item( const QPoint &pt); void clear_selection(); - void show_popup(const std::shared_ptr &item); - private: void paintEvent(QPaintEvent *event); @@ -71,8 +83,6 @@ private: void mouseMoveEvent(QMouseEvent *event); - void leaveEvent(QEvent *event); - void contextMenuEvent(QContextMenuEvent *event); void keyPressEvent(QKeyEvent *e); @@ -86,9 +96,6 @@ private Q_SLOTS: Q_SIGNALS: void signals_moved(); - -private: - std::shared_ptr mouse_down_item_; }; } // namespace view