implement tabs id features

This commit is contained in:
yggverse 2024-10-11 05:01:42 +03:00
parent 09c08b2b6f
commit 06cfd72c62
4 changed files with 30 additions and 29 deletions

View file

@ -49,7 +49,7 @@ impl Item {
action_update.clone(),
);
let widget = Widget::new_arc(tab_view, page.gobject(), None, is_selected); // @TODO
let widget = Widget::new_arc(id.as_str(), tab_view, page.gobject(), None, is_selected); // @TODO
// Return struct
Arc::new(Self { id, page, widget })

View file

@ -11,6 +11,7 @@ pub struct Widget {
impl Widget {
// Construct
pub fn new_arc(
keyword: &str, // ID
tab_view: &TabView,
page: &Box,
title: Option<&str>,
@ -18,6 +19,8 @@ impl Widget {
) -> Arc<Self> {
let gobject = tab_view.append(page);
gobject.set_keyword(keyword);
gobject.set_title(match title {
Some(value) => value,
None => DEFAULT_TITLE,

View file

@ -29,17 +29,10 @@ impl Widget {
}
// Getters
pub fn current_name(&self) -> Option<GString> {
pub fn current_page_keyword(&self) -> Option<GString> {
let page = self.gobject.selected_page()?;
/* @TODO
let widget_name = page.widget_name();
if !widget_name.is_empty() {
Some(widget_name)
} else {
None
} */
None
let id = page.keyword()?;
Some(id)
}
pub fn gobject(&self) -> &TabView {