const Timestamp View::MinScale("1e-12");
const int View::MaxScrollValue = INT_MAX / 2;
-const int View::MaxViewAutoUpdateRate = 25; // No more than 25 Hz with sticky scrolling
const int View::ScaleUnits[3] = {1, 2, 5};
this, SLOT(process_sticky_events()));
lazy_event_handler_.setSingleShot(true);
- connect(&delayed_view_updater_, SIGNAL(timeout()),
- this, SLOT(perform_delayed_view_update()));
- delayed_view_updater_.setSingleShot(true);
- delayed_view_updater_.setInterval(1000 / MaxViewAutoUpdateRate);
-
/* To let the scroll area fill up the parent QWidget (this), we need a layout */
QHBoxLayout *layout = new QHBoxLayout(this);
setLayout(layout);
void View::clear_signals()
{
+ ViewBase::clear_signalbases();
signals_.clear();
}
void View::add_signal(const shared_ptr<Signal> signal)
{
+ ViewBase::add_signalbase(signal->base());
signals_.insert(signal);
}
sticky_events_ |=
(horz ? TraceTreeItemHExtentsChanged : 0) |
(vert ? TraceTreeItemVExtentsChanged : 0);
+
lazy_event_handler_.start();
}
}
}
-void View::data_updated()
-{
- if (always_zoom_to_fit_ || sticky_scrolling_) {
- if (!delayed_view_updater_.isActive())
- delayed_view_updater_.start();
- } else {
- determine_time_unit();
- update_scroll();
- ruler_->update();
- viewport_->update();
- }
-}
-
void View::perform_delayed_view_update()
{
if (always_zoom_to_fit_) {