added inputs components and created page for fifth lab
This commit is contained in:
78
src/view/pages/signal_reducing.rs
Normal file
78
src/view/pages/signal_reducing.rs
Normal file
@@ -0,0 +1,78 @@
|
||||
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);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user