connect(&_session, SIGNAL(signals_changed()),
this, SLOT(signals_changed()));
+ connect(&_session, SIGNAL(capture_state_changed(int)),
+ this, SLOT(data_updated()));
connect(&_session, SIGNAL(data_received()),
this, SLOT(data_updated()));
connect(&_session, SIGNAL(frame_ended()),
connect(_cursorheader, SIGNAL(selection_changed()),
this, SIGNAL(selection_changed()));
+ connect(this, SIGNAL(hover_point_changed()),
+ this, SLOT(on_hover_point_changed()));
+
setViewport(_viewport);
_viewport->installEventFilter(this);
// which were created before this object came into being
signals_changed();
- // make sure the cursorheader is over the ruler
+ // make sure the transparent widgets are on the top
_cursorheader->raise();
+ _header->raise();
}
SigSession& View::session()
return _session;
}
+Viewport* View::viewport()
+{
+ return _viewport;
+}
+
+const Viewport* View::viewport() const
+{
+ return _viewport;
+}
+
double View::scale() const
{
return _scale;
void View::update_layout()
{
- setViewportMargins(_header->sizeHint().width(),
+ setViewportMargins(
+ _header->sizeHint().width() - pv::view::Header::BaselineOffset,
_ruler->sizeHint().height(), 0, 0);
_ruler->setGeometry(_viewport->x(), 0,
_viewport->width(), _viewport->y());
_ruler->sizeHint().height() - _cursorheader->sizeHint().height() / 2,
_viewport->width(), _cursorheader->sizeHint().height());
_header->setGeometry(0, _viewport->y(),
- _viewport->x(), _viewport->height());
+ _header->sizeHint().width(), _viewport->height());
update_scroll();
}
case QEvent::MouseButtonDblClick:
case QEvent::MouseMove:
case QEvent::Wheel:
+ case QEvent::TouchBegin:
+ case QEvent::TouchUpdate:
+ case QEvent::TouchEnd:
return false;
default:
update_layout();
}
+void View::on_hover_point_changed()
+{
+ const vector< shared_ptr<Trace> > traces(get_traces());
+ for (shared_ptr<Trace> t : traces)
+ t->hover_point_changed();
+}
+
} // namespace view
} // namespace pv