From 0d2987a9686b168ba20de76f53422ff301fb1132 Mon Sep 17 00:00:00 2001 From: doryan Date: Sat, 10 Aug 2024 01:19:29 +0400 Subject: [PATCH] feat(section): add testing section --- src/view/pages/signal_reducing.rs | 101 +++++++++++++++--------------- 1 file changed, 50 insertions(+), 51 deletions(-) diff --git a/src/view/pages/signal_reducing.rs b/src/view/pages/signal_reducing.rs index 5c0c900..c7c9cd2 100644 --- a/src/view/pages/signal_reducing.rs +++ b/src/view/pages/signal_reducing.rs @@ -23,8 +23,6 @@ use gtk4 as gtk; pub fn signal_reducing_page(wrapper: &Box) { let values = Rc::new(Cell::new(SignalReduce::default())); - let last_query: Vec = Vec::new(); - let info_bar = InfoBar::get_instance(); let (input_height, monospace, input_wrapping): (i32, bool, WrapMode) = @@ -40,22 +38,15 @@ pub fn signal_reducing_page(wrapper: &Box) { vertical: Align::Fill, }; - let input_labels: [&str; 6] = [ - "l, м:", - "Rм, Ом:", - "Cм, пФ:", - "Vи, мВ", - "Rи, Ом:", - "f, мГц:", - ]; + let input_labels: [&str; 6] = ["l, м:", "Rм, Ом", "Cм, пФ:", "Rи, Ом:", "Vи, мВ", "f, мГц:"]; let all_inputs: Vec = input_labels .iter() .map(move |label| { Input::builder() - .set_label(label) - .set_margins(MarginData::EqualsMargin(5)) - .set_align(input_label_alignment) + .label(label) + .margins(MarginData::EqualsMargin(6)) + .align(input_label_alignment) .build(monospace, input_wrapping, input_height) }) .collect(); @@ -68,7 +59,7 @@ pub fn signal_reducing_page(wrapper: &Box) { } input_block.attach( - &elem.clone().get(), + elem.clone().get(), (id as i32) - (3 * row_position), row_position, 1, @@ -78,16 +69,24 @@ pub fn signal_reducing_page(wrapper: &Box) { let calculate_button = Button::builder().label("Расчитать").build(); - let result_table_headers_labels: [&str; 4] = ["f, МГц", "Xc, пФ", "Vп, мВ", "ζ"]; + let result_table_headers_labels: [&str; 4] = ["f, МГц", "Xc, Ом", "Vп, мВ", "ζ"]; - let model = gio::ListStore::new::(); + let model = gio::ListStore::new::(); + let model_for_events = model.clone(); - let cloned_model = 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)); + } + } - let selection_model = SingleSelection::new(Some(model)); + let selection_model = NoSelection::new(Some(model)); let result_table = ColumnView::builder() .reorderable(true) + .show_row_separators(true) .model(&selection_model) .build(); @@ -108,7 +107,7 @@ pub fn signal_reducing_page(wrapper: &Box) { .downcast_ref::() .expect("Needs to be ListItem") .item() - .and_downcast::() + .and_downcast::() .expect("The item has to be an `IntegerObject`."); let cell_label = list_item @@ -118,38 +117,42 @@ pub fn signal_reducing_page(wrapper: &Box) { .and_downcast::