2024-03-17 20:34:12 +03:00
|
|
|
use crate::model::builder_traits::*;
|
2024-03-10 11:54:32 +03:00
|
|
|
use gtk4 as gtk;
|
|
|
|
|
2024-03-17 20:34:12 +03:00
|
|
|
use gtk::{*, prelude::*, StackTransitionType::SlideLeftRight};
|
2024-03-10 11:54:32 +03:00
|
|
|
|
|
|
|
use crate::{
|
|
|
|
view::{
|
|
|
|
properties::*,
|
|
|
|
components::{
|
|
|
|
*,
|
|
|
|
wrapper::*,
|
|
|
|
},
|
2024-03-17 20:34:12 +03:00
|
|
|
pages::*
|
|
|
|
},
|
2024-03-10 11:54:32 +03:00
|
|
|
};
|
2024-03-12 22:49:20 +03:00
|
|
|
use crate::view::components::pages::Pages;
|
2024-03-10 11:54:32 +03:00
|
|
|
|
2024-03-12 22:49:20 +03:00
|
|
|
pub fn ui(application: &adw::Application) {
|
2024-03-10 11:54:32 +03:00
|
|
|
|
2024-03-17 20:34:12 +03:00
|
|
|
let hamming_code = Wrapper::row_builder()
|
2024-03-10 11:54:32 +03:00
|
|
|
.set_align(Alignment::new(Align::Fill, Align::Fill))
|
|
|
|
.set_margin(MarginData::EqualsMargin(15))
|
|
|
|
.spacing(10)
|
|
|
|
.build();
|
|
|
|
|
2024-03-17 20:34:12 +03:00
|
|
|
hamming_code::hamming_code_page(&hamming_code);
|
2024-03-10 11:54:32 +03:00
|
|
|
|
2024-03-17 20:34:12 +03:00
|
|
|
let signal_reducing = Wrapper::row_builder()
|
2024-03-10 11:54:32 +03:00
|
|
|
.set_align(Alignment::new(Align::Fill, Align::Fill))
|
|
|
|
.set_margin(MarginData::EqualsMargin(15))
|
|
|
|
.spacing(10)
|
|
|
|
.build();
|
|
|
|
|
2024-03-17 20:34:12 +03:00
|
|
|
signal_reducing::signal_reducing_page(&signal_reducing);
|
2024-03-10 11:54:32 +03:00
|
|
|
|
2024-03-12 22:49:20 +03:00
|
|
|
let pages = Pages::builder()
|
|
|
|
.set_transition(SlideLeftRight, 200)
|
2024-03-16 23:21:20 +03:00
|
|
|
.append_items(vec![
|
2024-03-17 20:34:12 +03:00
|
|
|
("Код Хэмминга", "Код Хэмминга", &hamming_code),
|
|
|
|
("Затухание сигнала", "Затухание сигнала", &signal_reducing)
|
2024-03-12 22:49:20 +03:00
|
|
|
])
|
|
|
|
.build(5)
|
2024-03-10 11:54:32 +03:00
|
|
|
.get();
|
|
|
|
|
|
|
|
let window = ApplicationWindow::builder()
|
|
|
|
.title("Комплексная программа для лаб. работ")
|
2024-03-17 20:34:12 +03:00
|
|
|
.width_request(700)
|
2024-03-10 11:54:32 +03:00
|
|
|
.height_request(400)
|
|
|
|
.application(application)
|
2024-03-12 22:49:20 +03:00
|
|
|
.child(&pages)
|
2024-03-10 11:54:32 +03:00
|
|
|
.build();
|
|
|
|
|
|
|
|
window.show();
|
|
|
|
}
|