setFocusPolicy(Qt::ClickFocus);
setMouseTracking(true);
- connect(&_view.session(), SIGNAL(signals_changed()),
- this, SLOT(on_signals_changed()));
-
connect(&_view, SIGNAL(signals_moved()),
this, SLOT(on_signals_moved()));
}
QSize Header::sizeHint() const
{
- int max_width = 0;
-
+ QRectF max_rect(-Padding, 0, Padding, 0);
for (auto &i : _view)
if (i->enabled())
- max_width = max(max_width, (int)i->label_rect(0).width());
-
- return QSize(max_width + Padding + BaselineOffset, 0);
+ max_rect = max_rect.united(i->label_rect(0));
+ return QSize(max_rect.width() + Padding + BaselineOffset, 0);
}
shared_ptr<RowItem> Header::get_mouse_over_row_item(const QPoint &pt)
update();
}
+void Header::signals_updated()
+{
+ for (shared_ptr<RowItem> r : _view) {
+ assert(r);
+ connect(r.get(), SIGNAL(appearance_changed()),
+ this, SLOT(on_trace_changed()));
+ }
+}
+
void Header::show_popup(const shared_ptr<RowItem> &item)
{
using pv::widgets::Popup;
}
}
-void Header::on_signals_changed()
-{
- for (shared_ptr<RowItem> r : _view) {
- assert(r);
- connect(r.get(), SIGNAL(visibility_changed()),
- this, SLOT(on_trace_changed()));
- connect(r.get(), SIGNAL(text_changed()),
- this, SLOT(on_trace_changed()));
- connect(r.get(), SIGNAL(colour_changed()),
- this, SLOT(update()));
- }
-}
-
void Header::on_signals_moved()
{
update();