X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fheader.hpp;h=9ea1ff455d0e84d18d7ef2daf957698d03f163bc;hp=662e19f2ed5027d773d55a1badc9ff7a81a0c48e;hb=455bc29ab7bf8acb9b3520f8a59b8365309134ac;hpb=2acdb232d6bb452cfdfaea3ef5218fb4da592329 diff --git a/pv/view/header.hpp b/pv/view/header.hpp index 662e19f2..9ea1ff45 100644 --- a/pv/view/header.hpp +++ b/pv/view/header.hpp @@ -18,8 +18,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef PULSEVIEW_PV_VIEW_HEADER_H -#define PULSEVIEW_PV_VIEW_HEADER_H +#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_HEADER_HPP +#define PULSEVIEW_PV_VIEWS_TRACEVIEW_HEADER_HPP #include #include @@ -28,10 +28,12 @@ #include "marginwidget.hpp" namespace pv { -namespace view { +namespace views { +namespace TraceView { -class RowItem; +class TraceTreeItem; class View; +class ViewItem; class Header : public MarginWidget { @@ -45,6 +47,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,49 +61,35 @@ public: static const int BaselineOffset; private: - std::shared_ptr get_mouse_over_row_item( - const QPoint &pt); - - void clear_selection(); + /** + * Gets the row items. + */ + std::vector< std::shared_ptr > items(); - void show_popup(const std::shared_ptr &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); private: void paintEvent(QPaintEvent *event); private: - void mouseLeftPressEvent(QMouseEvent *event); - void mousePressEvent(QMouseEvent * event); - - void mouseLeftReleaseEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - - void mouseMoveEvent(QMouseEvent *event); - - void leaveEvent(QEvent *event); - void contextMenuEvent(QContextMenuEvent *event); - void keyPressEvent(QKeyEvent *e); + void keyPressEvent(QKeyEvent *event); private Q_SLOTS: - void on_signals_moved(); - void on_group(); void on_ungroup(); - -Q_SIGNALS: - void signals_moved(); - -private: - QPoint mouse_point_; - QPoint mouse_down_point_; - std::shared_ptr mouse_down_item_; - bool dragging_; }; -} // namespace view +} // namespace TraceView +} // namespace views } // namespace pv -#endif // PULSEVIEW_PV_VIEW_HEADER_H +#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_HEADER_HPP