mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-03-31 16:45:27 +00:00
complete widget submodule refactory
This commit is contained in:
parent
e45b7f0a4a
commit
1e42a75f2e
29 changed files with 585 additions and 145 deletions
|
|
@ -1,31 +1,30 @@
|
|||
mod label;
|
||||
mod page;
|
||||
mod widget;
|
||||
|
||||
use std::sync::Arc;
|
||||
|
||||
use gtk::Notebook;
|
||||
pub struct Tab {
|
||||
pub widget: Arc<gtk::Notebook>,
|
||||
widget: widget::Tab,
|
||||
}
|
||||
|
||||
impl Tab {
|
||||
// Construct
|
||||
pub fn new() -> Tab {
|
||||
let widget = widget::Tab::new();
|
||||
|
||||
Self { widget }
|
||||
}
|
||||
|
||||
// Actions
|
||||
pub fn append(&self, current: bool) -> u32 {
|
||||
let page = page::new();
|
||||
self.widget.append(
|
||||
label::Label::new().widget().gtk(),
|
||||
page::Page::new().widget().gtk(),
|
||||
true,
|
||||
)
|
||||
}
|
||||
|
||||
let page_number = self.widget.append_page(&page, Some(&label::new()));
|
||||
|
||||
self.widget.set_tab_reorderable(&page, true);
|
||||
|
||||
if current {
|
||||
self.widget.set_current_page(Some(page_number));
|
||||
}
|
||||
|
||||
page_number
|
||||
// Getters
|
||||
pub fn widget(&self) -> &widget::Tab {
|
||||
&self.widget
|
||||
}
|
||||
}
|
||||
|
||||
pub fn new() -> Tab {
|
||||
let widget = Arc::new(Notebook::builder().scrollable(true).build());
|
||||
|
||||
Tab { widget }
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue