* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef PV_VIEW_HEADER_H
-#define PV_VIEW_HEADER_H
+#ifndef PULSEVIEW_PV_VIEW_HEADER_H
+#define PULSEVIEW_PV_VIEW_HEADER_H
+
+#include <boost/shared_ptr.hpp>
+
+#include <map>
#include <QWidget>
namespace pv {
namespace view {
+class Signal;
class View;
class Header : public QWidget
public:
Header(View &parent);
+private:
+ boost::shared_ptr<pv::view::Signal> get_mouse_over_signal(
+ const QPoint &pt);
+
private:
void paintEvent(QPaintEvent *event);
+private:
+ void mousePressEvent(QMouseEvent * event);
+
+ void mouseReleaseEvent(QMouseEvent *event);
+
+ void mouseMoveEvent(QMouseEvent *event);
+
+ void leaveEvent(QEvent *event);
+
+ void contextMenuEvent(QContextMenuEvent *event);
+
+private slots:
+ void on_action_set_name_triggered();
+
+ void on_action_set_colour_triggered();
+
+signals:
+ void signals_moved();
+
private:
View &_view;
+
+ QPoint _mouse_point;
+ QPoint _mouse_down_point;
+
+ std::map<const Signal*, int> _mouse_down_signal_offsets;
+
+ boost::shared_ptr<Signal> _context_signal;
+ QAction *_action_set_name;
+ QAction *_action_set_colour;
};
} // namespace view
} // namespace pv
-#endif // PV_VIEW_HEADER_H
+#endif // PULSEVIEW_PV_VIEW_HEADER_H