X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Fheader.h;h=319f234e255e532f4f3a016c1c78bb6c40d1c821;hb=8b4802fb79f2af703a8e140daf3f8aacb19644c9;hp=024227820b6635008216b38b290ec230fce528d8;hpb=728fcafc9897d3ffb4a109b6248d88b0945128f5;p=pulseview.git diff --git a/pv/view/header.h b/pv/view/header.h index 02422782..319f234e 100644 --- a/pv/view/header.h +++ b/pv/view/header.h @@ -21,10 +21,8 @@ #ifndef PULSEVIEW_PV_VIEW_HEADER_H #define PULSEVIEW_PV_VIEW_HEADER_H -#include -#include - #include +#include #include #include "marginwidget.h" @@ -32,22 +30,35 @@ namespace pv { namespace view { -class Trace; +class RowItem; class View; class Header : public MarginWidget { Q_OBJECT +private: + static const int Padding; + public: Header(View &parent); + QSize sizeHint() 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: - boost::shared_ptr get_mouse_over_trace( + std::shared_ptr get_mouse_over_row_item( const QPoint &pt); void clear_selection(); + void show_popup(const std::shared_ptr &item); + private: void paintEvent(QPaintEvent *event); @@ -62,12 +73,16 @@ private: void contextMenuEvent(QContextMenuEvent *event); -private slots: + void keyPressEvent(QKeyEvent *e); + +private Q_SLOTS: void on_signals_changed(); void on_signals_moved(); -signals: + void on_trace_changed(); + +Q_SIGNALS: void signals_moved(); private: @@ -75,8 +90,8 @@ private: QPoint _mouse_down_point; bool _dragging; - std::list, int> > - _drag_traces; + std::list, int> > + _drag_row_items; }; } // namespace view