added pages builder, to do universal traits for builders

This commit is contained in:
2024-03-12 23:49:20 +04:00
parent 4c230c090d
commit a9626cda4d
7 changed files with 137 additions and 12 deletions

View File

@@ -1,6 +1,7 @@
use gtk4 as gtk;
use gtk::{*, prelude::*};
use gtk4::StackTransitionType::SlideLeftRight;
use crate::{
model::model::*,
@@ -22,6 +23,7 @@ use crate::{
},
}
};
use crate::view::components::pages::Pages;
pub fn laboratory_work_first_section(wrapper: &Box) -> (){
@@ -152,7 +154,7 @@ pub fn laboratory_work_first_section(wrapper: &Box) -> (){
}
pub fn ui(application: &Application) {
pub fn ui(application: &adw::Application) {
let mutual_wrapper = Wrapper::row_builder()
.set_align(Alignment::new(Align::Fill, Align::Fill))
@@ -170,12 +172,13 @@ pub fn ui(application: &Application) {
second_wrapper.append(&Label::new(Some("Код Хафмана")));
let notebook = Tabs::builder()
.add_tabs(
vec!["Код Хэмминга", "Код Хафмана"],
vec![mutual_wrapper, second_wrapper]
)
.build("Tabs")
let pages = Pages::builder()
.set_transition(SlideLeftRight, 200)
.add_pages(vec![
("Код Хэмминга", "Код Хэмминга", &mutual_wrapper),
("Код Хафмана", "Код Хафмана", &second_wrapper)
])
.build(5)
.get();
let window = ApplicationWindow::builder()
@@ -183,7 +186,7 @@ pub fn ui(application: &Application) {
.width_request(650)
.height_request(400)
.application(application)
.child(&notebook)
.child(&pages)
.build();
window.show();