X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fheader.h;h=7759652e402d5cbc38b4f760d675a5a8d0359006;hp=504011b6a63a348763be0495c9f5b305b4339c66;hb=a77dac4e7ab85ac97f7ff63862d28948ae4dec61;hpb=c23b29d67ed68c1a899000bf0049056fe9f51a62 diff --git a/pv/view/header.h b/pv/view/header.h index 504011b6..7759652e 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,20 +30,33 @@ namespace pv { namespace view { -class Signal; +class Trace; 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_signal( + std::shared_ptr get_mouse_over_trace( const QPoint &pt); + void clear_selection(); + private: void paintEvent(QPaintEvent *event); @@ -60,26 +71,25 @@ private: void contextMenuEvent(QContextMenuEvent *event); -private slots: - void on_action_set_name_triggered(); + void keyPressEvent(QKeyEvent *e); - void on_action_set_colour_triggered(); +private Q_SLOTS: + void on_signals_changed(); void on_signals_moved(); -signals: + void on_trace_changed(); + +Q_SIGNALS: void signals_moved(); private: QPoint _mouse_point; QPoint _mouse_down_point; + bool _dragging; - std::list, int> > - _drag_sigs; - - boost::shared_ptr _context_signal; - QAction *_action_set_name; - QAction *_action_set_colour; + std::list, int> > + _drag_traces; }; } // namespace view