From a7cf11737ae6e08092f7157828b1e99e34199239 Mon Sep 17 00:00:00 2001 From: doryan Date: Thu, 15 Aug 2024 23:27:36 +0400 Subject: [PATCH] feat(values): move definition values by default to separated file as function --- src/controller/model_utils/signal_reducer.rs | 16 ++++++++++++++++ src/view/pages/signal_reducing.rs | 8 +------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/controller/model_utils/signal_reducer.rs b/src/controller/model_utils/signal_reducer.rs index bee4d47..590e569 100644 --- a/src/controller/model_utils/signal_reducer.rs +++ b/src/controller/model_utils/signal_reducer.rs @@ -33,3 +33,19 @@ pub fn coef_of_signal_reduce(Vs: f64, V: f64) -> f64 { Vs / V } } + +pub fn set_default_values(model: &ListStore) { + for number in (0..=100).step_by(5) { + if number == 0 { + model.append(&Frequency::new(1.0)); + } else if (number >= 70 && number % 10 == 0) || (number < 70 && number % 5 == 0) { + model.append(&Frequency::new(number as f64)); + } + } +} + +pub fn find_by_frequency_value(model: &ListStore, new_elem: &Frequency) -> Option { + model.find_with_equal_func(|elem| { + elem.downcast_ref::().unwrap().frequency() == new_elem.frequency() + }) +} diff --git a/src/view/pages/signal_reducing.rs b/src/view/pages/signal_reducing.rs index 99eb946..69d0530 100644 --- a/src/view/pages/signal_reducing.rs +++ b/src/view/pages/signal_reducing.rs @@ -66,13 +66,7 @@ pub fn signal_reducing_page(wrapper: &Box) { let model_for_events = model.clone(); - for number in (0..=100).step_by(5) { - if number == 0 { - model.append(&Frequency::new(1.0)); - } else if (number >= 70 && number % 10 == 0) || (number < 70 && number % 5 == 0) { - model.append(&Frequency::new(number as f64)); - } - } + set_default_values(&model); let numeric_sorter = CustomSorter::new(|a, b| { let a = a.downcast_ref::().unwrap().frequency();