78 lines
2.4 KiB
Rust
78 lines
2.4 KiB
Rust
|
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);
|
||
|
|
||
|
}
|