merge stable version #2
|
@ -178,12 +178,31 @@ pub fn signal_reducing_page(wrapper: &Box) {
|
|||
.vexpand(true)
|
||||
.build();
|
||||
|
||||
calculate_button.connect_clicked(move |_| match parse_fields(all_inputs.clone()) {
|
||||
calculate_button.connect_clicked(clone!(
|
||||
#[strong]
|
||||
model_for_events,
|
||||
move |_| match parse_fields(all_inputs.clone()) {
|
||||
Ok(results) => {
|
||||
values.set(results);
|
||||
|
||||
model_for_events.items_changed(0, 0, 18);
|
||||
model_for_events.items_changed(18, 18, 0);
|
||||
let new_elem = &Frequency::new(values.get().frequency);
|
||||
|
||||
let exist_elem_pos = model_for_events.find_with_equal_func(|elem| {
|
||||
elem.downcast_ref::<Frequency>().unwrap().frequency() == new_elem.frequency()
|
||||
});
|
||||
|
||||
match exist_elem_pos {
|
||||
Some(_) => {
|
||||
info_bar.set_text_label(Some("Данная частота уже была задана."));
|
||||
info_bar.show_infobar(5u64);
|
||||
}
|
||||
None => {
|
||||
model_for_events.append(&Frequency::new(values.get().frequency));
|
||||
|
||||
model_for_events.items_changed(0, 0, 1);
|
||||
model_for_events.items_changed(1, 1, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
Err(error) => {
|
||||
let error_kind: Option<&str> = get_error_message(error);
|
||||
|
@ -191,7 +210,8 @@ pub fn signal_reducing_page(wrapper: &Box) {
|
|||
info_bar.set_text_label(error_kind);
|
||||
info_bar.show_infobar(5u64);
|
||||
}
|
||||
});
|
||||
}
|
||||
));
|
||||
|
||||
wrapper.append(&input_block);
|
||||
wrapper.append(&calculate_button);
|
||||
|
|
Loading…
Reference in New Issue