AIT/src/view/pages/signal_reducing.rs

78 lines
2.4 KiB
Rust
Raw Normal View History

use gtk4 as gtk;
use gtk::{*, prelude::*};
use crate::model::builder_traits::Product;
use crate::view::{
properties::*,
components::{
wrapper::*,
input::Input,
},
};
pub fn signal_reducing_page(wrapper: &Box) {
let inputs_first_line = Box::new(Orientation::Horizontal, 5);
inputs_first_line.set_valign(Align::Fill);
let input_height : i32 = 20;
let wire_length_input = Input::builder()
.set_label("Длина провода (L = [м]):")
.set_align(Align::Fill)
.set_margins(MarginData::EqualsMargin(5))
.build(true, WrapMode::Word, input_height)
.get();
let resistance_input = Input::builder()
.set_label("Сопротивление (Rм = [Ом * м]):")
.set_align(Align::Fill)
.set_margins(MarginData::EqualsMargin(5))
.build(true, WrapMode::Word, input_height)
.get();
let capacity_input = Input::builder()
.set_label("Ёмкость (Cм = [пФ * м]):")
.set_align(Align::Fill)
.set_margins(MarginData::EqualsMargin(5))
.build(true, WrapMode::Word, input_height)
.get();
let inputs_second_line = Box::new(Orientation::Horizontal, 5);
inputs_second_line.set_valign(Align::Fill);
let voltage_input = Input::builder()
.set_label("Напряжение (Vи = [мВ]):")
.set_align(Align::Fill)
.set_margins(MarginData::EqualsMargin(5))
.build(true, WrapMode::Word, input_height)
.get();
let source_implicit_resistance_input = Input::builder()
.set_label("Сопротивление источника (R = [Ом]):")
.set_align(Align::Fill)
.set_margins(MarginData::EqualsMargin(5))
.build(true, WrapMode::Word, input_height)
.get();
let freq_input = Input::builder()
.set_label("Частота (f = [МГц]):")
.set_align(Align::Fill)
.set_margins(MarginData::EqualsMargin(5))
.build(true, WrapMode::Word, input_height)
.get();
inputs_first_line.append(&wire_length_input);
inputs_first_line.append(&resistance_input);
inputs_first_line.append(&capacity_input);
inputs_second_line.append(&voltage_input);
inputs_second_line.append(&source_implicit_resistance_input);
inputs_second_line.append(&freq_input);
wrapper.append(&inputs_first_line);
wrapper.append(&inputs_second_line);
}