construct header component and return arc ptr

This commit is contained in:
yggverse 2024-09-23 13:50:59 +03:00
parent 3bdd41c61b
commit 652671407e
2 changed files with 11 additions and 6 deletions

View file

@ -2,18 +2,21 @@ mod subject;
mod tray; mod tray;
mod widget; mod widget;
use std::sync::Arc;
pub struct Header { pub struct Header {
widget: widget::Header, widget: widget::Header,
} }
impl Header { impl Header {
pub fn new() -> Header { // Construct
Self { pub fn new() -> Arc<Header> {
Arc::new(Self {
widget: widget::Header::new( widget: widget::Header::new(
tray::Tray::new().widget().gtk(), tray::Tray::new().widget().gtk(),
subject::Subject::new().widget().gtk(), subject::Subject::new().widget().gtk(),
), ),
} })
} }
// Getters // Getters

View file

@ -10,10 +10,12 @@ use std::sync::Arc;
use gtk::prelude::{ActionMapExtManual, GtkWindowExt}; use gtk::prelude::{ActionMapExtManual, GtkWindowExt};
pub struct Browser { pub struct Browser {
// Extras
db: db::Browser, db: db::Browser,
header: header::Header,
main: Arc<main::Main>,
widget: widget::Browser, widget: widget::Browser,
// Components
header: Arc<header::Header>,
main: Arc<main::Main>,
} }
impl Browser { impl Browser {
@ -62,9 +64,9 @@ impl Browser {
// Return // Return
Self { Self {
db, db,
widget,
header, header,
main, main,
widget,
} }
} }