| 292 | } |
| 293 | |
| 294 | void CurveListPanel::refreshValues(double tracker_time) { |
| 295 | last_tracker_time_ = tracker_time; // remembered for non-tracker refreshes (Show Values toggle) |
| 296 | if (!valuesColumnActive()) { |
| 297 | return; // nothing shown — skip even the throttle bookkeeping |
| 298 | } |
| 299 | if (value_throttle_timer_->isActive()) { |
| 300 | value_refresh_pending_ = true; // coalesce; the trailing fill will use last_tracker_time_ |
| 301 | return; |
| 302 | } |
| 303 | fillValuesNow(); // leading edge: first update lands immediately |
| 304 | value_throttle_timer_->start(); // then at most one fill per window |
| 305 | } |
| 306 | |
| 307 | bool CurveListPanel::valuesColumnActive() const { |
| 308 | return catalog_ != nullptr && !(tree_view_->valuesColumnHidden() && custom_view_->valuesColumnHidden()); |
no test coverage detected