mod bar; mod widget; use bar::Bar; use widget::Widget; use crate::app::browser::action::Action as BrowserAction; use crate::app::browser::window::action::Action as WindowAction; use adw::{TabView, ToolbarView}; use std::rc::Rc; pub struct Header { widget: Rc, } impl Header { // Construct pub fn new( // Actions browser_action: Rc, window_action: Rc, // Widgets tab_view: &TabView, ) -> Self { // Init components let bar = Bar::new(browser_action, window_action, tab_view); // Return new struct Self { widget: Rc::new(Widget::new(bar.gobject())), } } // Getters pub fn gobject(&self) -> &ToolbarView { self.widget.gobject() } }