reorganize widget modules

This commit is contained in:
yggverse 2024-09-23 18:51:48 +03:00
parent b9b226cc54
commit 4903968309
47 changed files with 352 additions and 786 deletions

View file

@ -1,26 +1,29 @@
mod subject;
mod tray;
mod widget;
use std::sync::Arc;
use gtk::HeaderBar;
use subject::Subject;
use tray::Tray;
pub struct Header {
widget: widget::Header,
widget: HeaderBar,
}
impl Header {
// Construct
pub fn new() -> Arc<Header> {
Arc::new(Self {
widget: widget::Header::new(
tray::Tray::new().widget().gtk(),
subject::Subject::new().widget().gtk(),
),
})
pub fn new() -> Header {
let tray = Tray::new();
let subject = Subject::new();
let widget = HeaderBar::builder().build();
widget.pack_start(tray.widget());
widget.set_title_widget(Some(subject.widget()));
Self { widget }
}
// Getters
pub fn widget(&self) -> &widget::Header {
pub fn widget(&self) -> &HeaderBar {
&self.widget
}
}