From 9b143615c65e03eb5f8e0a43cf12bf679d005c72 Mon Sep 17 00:00:00 2001 From: DreamSourceLab Date: Thu, 21 Sep 2023 19:46:48 -0700 Subject: [PATCH] fix: on repeat mode, unable to auto update the mouse measure --- DSView/pv/interface/icallbacks.h | 1 + DSView/pv/mainwindow.cpp | 5 ++++- DSView/pv/sigsession.cpp | 2 ++ DSView/pv/view/view.cpp | 6 ++++++ DSView/pv/view/view.h | 2 ++ DSView/pv/view/viewport.h | 3 ++- 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/DSView/pv/interface/icallbacks.h b/DSView/pv/interface/icallbacks.h index 2cfed68f..f93ac7e2 100644 --- a/DSView/pv/interface/icallbacks.h +++ b/DSView/pv/interface/icallbacks.h @@ -86,6 +86,7 @@ public: #define DSV_MSG_DEVICE_CONFIG_UPDATED 6010 #define DSV_MSG_DEMO_OPERATION_MODE_CHNAGED 6011 #define DSV_MSG_COLLECT_MODE_CHANGED 6012 +#define DSV_MSG_DATA_POOL_CHANGED 6013 #define DSV_MSG_TRIG_NEXT_COLLECT 7001 #define DSV_MSG_SAVE_COMPLETE 7002 diff --git a/DSView/pv/mainwindow.cpp b/DSView/pv/mainwindow.cpp index 3d31cf0d..9047ffe5 100644 --- a/DSView/pv/mainwindow.cpp +++ b/DSView/pv/mainwindow.cpp @@ -2092,7 +2092,10 @@ namespace pv case DSV_MSG_FONT_OPTIONS_CHANGED: AppControl::Instance()->update_font_forms(); - break; + break; + case DSV_MSG_DATA_POOL_CHANGED: + _view->check_measure(); + break; } } diff --git a/DSView/pv/sigsession.cpp b/DSView/pv/sigsession.cpp index fd34e7a9..6d40737a 100644 --- a/DSView/pv/sigsession.cpp +++ b/DSView/pv/sigsession.cpp @@ -2193,6 +2193,8 @@ namespace pv _view_data = _capture_data; attach_data_to_signal(_view_data); set_session_time(_trig_time); + + _callback->trigger_message(DSV_MSG_DATA_POOL_CHANGED); } for (auto de : _decode_traces) diff --git a/DSView/pv/view/view.cpp b/DSView/pv/view/view.cpp index d74bf4cd..49577410 100644 --- a/DSView/pv/view/view.cpp +++ b/DSView/pv/view/view.cpp @@ -1349,5 +1349,11 @@ int View::get_body_height() headerWidth(); } +void View::check_measure() +{ + _time_viewport->measure(); + _time_viewport->update(); +} + } // namespace view } // namespace pv diff --git a/DSView/pv/view/view.h b/DSView/pv/view/view.h index 79a89c85..866f5748 100644 --- a/DSView/pv/view/view.h +++ b/DSView/pv/view/view.h @@ -323,6 +323,8 @@ public: //IFontForm void update_font() override; + void check_measure(); + signals: void hover_point_changed(); void cursor_update(); diff --git a/DSView/pv/view/viewport.h b/DSView/pv/view/viewport.h index 14c02722..11235b13 100644 --- a/DSView/pv/view/viewport.h +++ b/DSView/pv/view/viewport.h @@ -114,6 +114,8 @@ public: //IFontForm void update_font() override; + void measure(); + protected: bool event(QEvent *event) override; void paintEvent(QPaintEvent *event) override; @@ -134,7 +136,6 @@ private: void paintMeasure(QPainter &p, QColor fore, QColor back); void paintCursors(QPainter &p); - void measure(); void start_trigger_timer(int msec); void get_captured_progress(double &progress, int &progress100);