mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-03-31 16:45:27 +00:00
reorganize widget modules
This commit is contained in:
parent
b9b226cc54
commit
4903968309
47 changed files with 352 additions and 786 deletions
|
|
@ -1,44 +1,53 @@
|
|||
mod label;
|
||||
mod page;
|
||||
mod widget;
|
||||
|
||||
use std::sync::Arc;
|
||||
use gtk::Notebook;
|
||||
use label::Label;
|
||||
use page::Page;
|
||||
|
||||
pub struct Tab {
|
||||
widget: widget::Tab,
|
||||
widget: Notebook,
|
||||
}
|
||||
|
||||
impl Tab {
|
||||
// Construct
|
||||
pub fn new() -> Arc<Tab> {
|
||||
Arc::new(Self {
|
||||
widget: widget::Tab::new(),
|
||||
})
|
||||
pub fn new() -> Tab {
|
||||
Self {
|
||||
widget: Notebook::builder().scrollable(true).build(),
|
||||
}
|
||||
}
|
||||
|
||||
// Actions
|
||||
pub fn append(&self, is_active: bool) -> u32 {
|
||||
self.widget.append(
|
||||
label::Label::new(false).widget().container(),
|
||||
page::Page::new().widget().container(),
|
||||
is_active,
|
||||
)
|
||||
let label = Label::new(false);
|
||||
let page = Page::new();
|
||||
|
||||
let page_number = self.widget.append_page(page.widget(), Some(label.widget()));
|
||||
|
||||
self.widget.set_tab_reorderable(page.widget(), true);
|
||||
|
||||
if is_active {
|
||||
self.widget.set_current_page(Some(page_number));
|
||||
}
|
||||
|
||||
page_number
|
||||
}
|
||||
|
||||
pub fn close(&self) {
|
||||
todo!()
|
||||
}
|
||||
|
||||
/* @TODO
|
||||
pub fn close_all(&self) {
|
||||
todo!()
|
||||
}
|
||||
}*/
|
||||
|
||||
pub fn pin(&self) -> bool {
|
||||
todo!()
|
||||
}
|
||||
|
||||
// Getters
|
||||
pub fn widget(&self) -> &widget::Tab {
|
||||
pub fn widget(&self) -> &Notebook {
|
||||
&self.widget
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue