mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-03-13 06:01:21 +00:00
create separated widget mod implementation
This commit is contained in:
parent
034bfb44f6
commit
8fa56ebf9a
@ -1,19 +1,20 @@
|
||||
mod subject;
|
||||
mod tray;
|
||||
|
||||
use std::sync::Arc;
|
||||
|
||||
use gtk::HeaderBar;
|
||||
mod widget;
|
||||
|
||||
pub struct Header {
|
||||
pub widget: Arc<gtk::HeaderBar>,
|
||||
widget: widget::Header,
|
||||
}
|
||||
|
||||
pub fn new() -> Header {
|
||||
let widget = Arc::new(HeaderBar::builder().build());
|
||||
impl Header {
|
||||
pub fn new() -> Header {
|
||||
Self {
|
||||
widget: widget::Header::new(&tray::new(), &subject::new()),
|
||||
}
|
||||
}
|
||||
|
||||
widget.pack_start(&tray::new());
|
||||
widget.set_title_widget(Some(&subject::new()));
|
||||
|
||||
Header { widget }
|
||||
// Getters
|
||||
pub fn widget(&self) -> &widget::Header {
|
||||
&self.widget
|
||||
}
|
||||
}
|
||||
|
18
src/browser/header/widget.rs
Normal file
18
src/browser/header/widget.rs
Normal file
@ -0,0 +1,18 @@
|
||||
pub struct Header {
|
||||
gtk: gtk::HeaderBar,
|
||||
}
|
||||
|
||||
impl Header {
|
||||
pub fn new(tray: >k::Box, subject: >k::Box) -> Header {
|
||||
let gtk = gtk::HeaderBar::builder().build();
|
||||
|
||||
gtk.pack_start(tray);
|
||||
gtk.set_title_widget(Some(subject));
|
||||
|
||||
Self { gtk }
|
||||
}
|
||||
|
||||
pub fn gtk(&self) -> >k::HeaderBar {
|
||||
&self.gtk
|
||||
}
|
||||
}
|
@ -22,8 +22,8 @@ impl Browser {
|
||||
// Init widget
|
||||
let widget = widget::Browser::new(
|
||||
app,
|
||||
header::new().widget.as_ref(), // @TODO
|
||||
main::new().widget.as_ref(), // @TODO
|
||||
header::Header::new().widget().gtk(),
|
||||
main::new().widget.as_ref(), // @TODO
|
||||
default_width,
|
||||
default_height,
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user