+ connect(_action_set_colour, SIGNAL(triggered()),
+ this, SLOT(on_action_set_colour_triggered()));
+
+ connect(&_view.session(), SIGNAL(signals_changed()),
+ this, SLOT(on_signals_changed()));
+
+ connect(&_view, SIGNAL(signals_moved()),
+ this, SLOT(on_signals_moved()));
+}
+
+boost::shared_ptr<pv::view::Signal> Header::get_mouse_over_signal(
+ const QPoint &pt)
+{
+ const int w = width();
+ const vector< shared_ptr<Signal> > sigs(
+ _view.session().get_signals());
+
+ const int v_offset = _view.v_offset();
+ BOOST_FOREACH(const shared_ptr<Signal> s, sigs)
+ {
+ assert(s);
+
+ if (s->pt_in_label_rect(s->get_v_offset() - v_offset,
+ 0, w, pt))
+ return s;
+ }
+
+ return shared_ptr<Signal>();
+}
+
+void Header::clear_selection()
+{
+ const vector< shared_ptr<Signal> > sigs(
+ _view.session().get_signals());
+ BOOST_FOREACH(const shared_ptr<Signal> s, sigs) {
+ assert(s);
+ s->select(false);
+ }
+
+ update();