mirror of https://github.com/YGGverse/Yoda.git
yggverse
2 months ago
29 changed files with 576 additions and 136 deletions
@ -1,16 +1,24 @@ |
|||||||
mod pin; |
mod pin; |
||||||
mod title; |
mod title; |
||||||
|
mod widget; |
||||||
|
|
||||||
use gtk::prelude::BoxExt; |
pub struct Label { |
||||||
use gtk::Box; |
widget: widget::Label, |
||||||
|
} |
||||||
pub fn new() -> Box { |
|
||||||
let label = Box::builder() |
|
||||||
.orientation(gtk::Orientation::Horizontal) |
|
||||||
.build(); |
|
||||||
|
|
||||||
label.append(&pin::new(false)); |
impl Label { |
||||||
label.append(&title::new()); |
// Construct
|
||||||
|
pub fn new() -> Label { |
||||||
|
Self { |
||||||
|
widget: widget::Label::new( |
||||||
|
pin::Pin::new().widget().gtk(), |
||||||
|
title::Title::new().widget().gtk(), |
||||||
|
), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
label |
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Label { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -1,8 +1,19 @@ |
|||||||
use gtk::Image; |
mod widget; |
||||||
|
|
||||||
pub fn new(visible: bool) -> Image { |
pub struct Pin { |
||||||
Image::builder() |
widget: widget::Pin, |
||||||
.icon_name("view-pin-symbolic") |
} |
||||||
.visible(visible) |
|
||||||
.build() |
impl Pin { |
||||||
|
// Construct
|
||||||
|
pub fn new() -> Pin { |
||||||
|
Self { |
||||||
|
widget: widget::Pin::new(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Pin { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,20 @@ |
|||||||
|
pub struct Pin { |
||||||
|
gtk: gtk::Image, |
||||||
|
} |
||||||
|
|
||||||
|
impl Pin { |
||||||
|
// Construct
|
||||||
|
pub fn new() -> Pin { |
||||||
|
let gtk = gtk::Image::builder() |
||||||
|
.icon_name("view-pin-symbolic") |
||||||
|
.visible(false) //@TODO
|
||||||
|
.build(); |
||||||
|
|
||||||
|
Self { gtk } |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Image { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -1,10 +1,19 @@ |
|||||||
use gtk::Label; |
mod widget; |
||||||
|
|
||||||
pub fn new() -> Label { |
pub struct Title { |
||||||
Label::builder() |
widget: widget::Title, |
||||||
.label("New page") |
} |
||||||
.ellipsize(gtk::pango::EllipsizeMode::End) |
|
||||||
.width_chars(16) |
impl Title { |
||||||
.single_line_mode(true) |
// Construct
|
||||||
.build() |
pub fn new() -> Title { |
||||||
|
Self { |
||||||
|
widget: widget::Title::new(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Title { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,22 @@ |
|||||||
|
pub struct Title { |
||||||
|
gtk: gtk::Label, |
||||||
|
} |
||||||
|
|
||||||
|
impl Title { |
||||||
|
// Construct
|
||||||
|
pub fn new() -> Title { |
||||||
|
let gtk = gtk::Label::builder() |
||||||
|
.label("New page") |
||||||
|
.ellipsize(gtk::pango::EllipsizeMode::End) |
||||||
|
.width_chars(16) |
||||||
|
.single_line_mode(true) |
||||||
|
.build(); |
||||||
|
|
||||||
|
Self { gtk } |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Label { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
use gtk::prelude::BoxExt; |
||||||
|
|
||||||
|
pub struct Label { |
||||||
|
gtk: gtk::Box, |
||||||
|
} |
||||||
|
|
||||||
|
impl Label { |
||||||
|
// Construct new object
|
||||||
|
pub fn new(pin: >k::Image, title: >k::Label) -> Label { |
||||||
|
let gtk = gtk::Box::builder() |
||||||
|
.orientation(gtk::Orientation::Horizontal) |
||||||
|
.build(); |
||||||
|
|
||||||
|
gtk.append(pin); |
||||||
|
gtk.append(title); |
||||||
|
|
||||||
|
Self { gtk } |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Box { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -1,31 +1,30 @@ |
|||||||
mod label; |
mod label; |
||||||
mod page; |
mod page; |
||||||
|
mod widget; |
||||||
|
|
||||||
use std::sync::Arc; |
|
||||||
|
|
||||||
use gtk::Notebook; |
|
||||||
pub struct Tab { |
pub struct Tab { |
||||||
pub widget: Arc<gtk::Notebook>, |
widget: widget::Tab, |
||||||
} |
} |
||||||
|
|
||||||
impl Tab { |
impl Tab { |
||||||
pub fn append(&self, current: bool) -> u32 { |
// Construct
|
||||||
let page = page::new(); |
pub fn new() -> Tab { |
||||||
|
let widget = widget::Tab::new(); |
||||||
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 |
Self { widget } |
||||||
} |
} |
||||||
} |
|
||||||
|
|
||||||
pub fn new() -> Tab { |
// Actions
|
||||||
let widget = Arc::new(Notebook::builder().scrollable(true).build()); |
pub fn append(&self, current: bool) -> u32 { |
||||||
|
self.widget.append( |
||||||
|
label::Label::new().widget().gtk(), |
||||||
|
page::Page::new().widget().gtk(), |
||||||
|
true, |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
Tab { widget } |
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Tab { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -1,8 +1,19 @@ |
|||||||
use gtk::Box; |
mod widget; |
||||||
// use gtk::prelude::BoxExt; @TODO append
|
|
||||||
|
|
||||||
pub fn new() -> Box { |
pub struct Content { |
||||||
Box::builder() |
widget: widget::Content, |
||||||
.orientation(gtk::Orientation::Vertical) |
} |
||||||
.build() |
|
||||||
|
impl Content { |
||||||
|
// Construct
|
||||||
|
pub fn new() -> Content { |
||||||
|
Self { |
||||||
|
widget: widget::Content::new(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Content { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,19 @@ |
|||||||
|
pub struct Content { |
||||||
|
gtk: gtk::Box, |
||||||
|
} |
||||||
|
|
||||||
|
impl Content { |
||||||
|
// Construct new object
|
||||||
|
pub fn new() -> Content { |
||||||
|
Self { |
||||||
|
gtk: gtk::Box::builder() |
||||||
|
.orientation(gtk::Orientation::Vertical) |
||||||
|
.build(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Box { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -1,16 +1,23 @@ |
|||||||
mod content; |
mod content; |
||||||
mod navigation; |
mod navigation; |
||||||
|
mod widget; |
||||||
|
|
||||||
use gtk::prelude::BoxExt; |
pub struct Page { |
||||||
use gtk::Box; |
widget: widget::Page, |
||||||
|
} |
||||||
pub fn new() -> Box { |
|
||||||
let page = Box::builder() |
|
||||||
.orientation(gtk::Orientation::Vertical) |
|
||||||
.build(); |
|
||||||
|
|
||||||
page.append(&navigation::new()); |
impl Page { |
||||||
page.append(&content::new()); |
pub fn new() -> Page { |
||||||
|
Self { |
||||||
|
widget: widget::Page::new( |
||||||
|
navigation::Navigation::new().widget().gtk(), |
||||||
|
content::Content::new().widget().gtk(), |
||||||
|
), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
page |
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Page { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -1,9 +1,19 @@ |
|||||||
use gtk::Button; |
mod widget; |
||||||
|
|
||||||
pub fn new() -> Button { |
pub struct Base { |
||||||
Button::builder() |
widget: widget::Base, |
||||||
.icon_name("go-home-symbolic") |
} |
||||||
.tooltip_text("Base") |
|
||||||
.sensitive(false) |
impl Base { |
||||||
.build() |
// Construct
|
||||||
|
pub fn new() -> Base { |
||||||
|
Self { |
||||||
|
widget: widget::Base::new(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Base { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,21 @@ |
|||||||
|
pub struct Base { |
||||||
|
gtk: gtk::Button, |
||||||
|
} |
||||||
|
|
||||||
|
impl Base { |
||||||
|
// Construct
|
||||||
|
pub fn new() -> Base { |
||||||
|
Self { |
||||||
|
gtk: gtk::Button::builder() |
||||||
|
.icon_name("go-home-symbolic") |
||||||
|
.tooltip_text("Base") |
||||||
|
.sensitive(false) |
||||||
|
.build(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Button { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -1,9 +1,19 @@ |
|||||||
use gtk::Button; |
mod widget; |
||||||
|
|
||||||
pub fn new() -> Button { |
pub struct Bookmark { |
||||||
Button::builder() |
widget: widget::Bookmark, |
||||||
.icon_name("starred-symbolic") |
} |
||||||
.tooltip_text("Toggle bookmark") |
|
||||||
.sensitive(false) |
impl Bookmark { |
||||||
.build() |
// Construct
|
||||||
|
pub fn new() -> Bookmark { |
||||||
|
Self { |
||||||
|
widget: widget::Bookmark::new(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Bookmark { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,21 @@ |
|||||||
|
pub struct Bookmark { |
||||||
|
gtk: gtk::Button, |
||||||
|
} |
||||||
|
|
||||||
|
impl Bookmark { |
||||||
|
// Construct
|
||||||
|
pub fn new() -> Bookmark { |
||||||
|
Self { |
||||||
|
gtk: gtk::Button::builder() |
||||||
|
.icon_name("starred-symbolic") |
||||||
|
.tooltip_text("Toggle bookmark") |
||||||
|
.sensitive(false) |
||||||
|
.build(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Button { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -1,9 +1,19 @@ |
|||||||
use gtk::Button; |
mod widget; |
||||||
|
|
||||||
pub fn new() -> Button { |
pub struct Back { |
||||||
Button::builder() |
widget: widget::Back, |
||||||
.icon_name("go-previous-symbolic") |
} |
||||||
.tooltip_text("Back") |
|
||||||
.sensitive(false) |
impl Back { |
||||||
.build() |
// Construct
|
||||||
|
pub fn new() -> Back { |
||||||
|
Self { |
||||||
|
widget: widget::Back::new(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Back { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,21 @@ |
|||||||
|
pub struct Back { |
||||||
|
gtk: gtk::Button, |
||||||
|
} |
||||||
|
|
||||||
|
impl Back { |
||||||
|
// Construct
|
||||||
|
pub fn new() -> Back { |
||||||
|
Self { |
||||||
|
gtk: gtk::Button::builder() |
||||||
|
.icon_name("go-previous-symbolic") |
||||||
|
.tooltip_text("Back") |
||||||
|
.sensitive(false) |
||||||
|
.build(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Button { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -1,9 +1,19 @@ |
|||||||
use gtk::Button; |
mod widget; |
||||||
|
|
||||||
pub fn new() -> Button { |
pub struct Forward { |
||||||
Button::builder() |
widget: widget::Forward, |
||||||
.icon_name("go-next-symbolic") |
} |
||||||
.tooltip_text("Forward") |
|
||||||
.sensitive(false) |
impl Forward { |
||||||
.build() |
// Construct
|
||||||
|
pub fn new() -> Forward { |
||||||
|
Self { |
||||||
|
widget: widget::Forward::new(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Forward { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,21 @@ |
|||||||
|
pub struct Forward { |
||||||
|
gtk: gtk::Button, |
||||||
|
} |
||||||
|
|
||||||
|
impl Forward { |
||||||
|
// Construct
|
||||||
|
pub fn new() -> Forward { |
||||||
|
Self { |
||||||
|
gtk: gtk::Button::builder() |
||||||
|
.icon_name("go-next-symbolic") |
||||||
|
.tooltip_text("Forward") |
||||||
|
.sensitive(false) |
||||||
|
.build(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Button { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -1,20 +1,24 @@ |
|||||||
mod back; |
mod back; |
||||||
mod forward; |
mod forward; |
||||||
|
mod widget; |
||||||
|
|
||||||
use gtk::prelude::BoxExt; |
pub struct History { |
||||||
use gtk::Box; |
widget: widget::History, |
||||||
|
} |
||||||
pub fn new() -> Box { |
|
||||||
let history = Box::builder() |
|
||||||
.orientation(gtk::Orientation::Horizontal) |
|
||||||
.css_classes([ |
|
||||||
"linked", // merge childs
|
|
||||||
]) |
|
||||||
.build(); |
|
||||||
|
|
||||||
// Compose childs
|
impl History { |
||||||
history.append(&back::new()); |
// Construct
|
||||||
history.append(&forward::new()); |
pub fn new() -> History { |
||||||
|
Self { |
||||||
|
widget: widget::History::new( |
||||||
|
back::Back::new().widget().gtk(), |
||||||
|
forward::Forward::new().widget().gtk(), |
||||||
|
), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
history |
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::History { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,27 @@ |
|||||||
|
use gtk::prelude::BoxExt; |
||||||
|
|
||||||
|
pub struct History { |
||||||
|
gtk: gtk::Box, |
||||||
|
} |
||||||
|
|
||||||
|
impl History { |
||||||
|
// Construct
|
||||||
|
pub fn new(back: >k::Button, forward: >k::Button) -> History { |
||||||
|
let gtk = gtk::Box::builder() |
||||||
|
.orientation(gtk::Orientation::Horizontal) |
||||||
|
.css_classes([ |
||||||
|
"linked", // merge childs
|
||||||
|
]) |
||||||
|
.build(); |
||||||
|
|
||||||
|
gtk.append(back); |
||||||
|
gtk.append(forward); |
||||||
|
|
||||||
|
Self { gtk } |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Box { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -1,9 +1,19 @@ |
|||||||
use gtk::Button; |
mod widget; |
||||||
|
|
||||||
pub fn new() -> Button { |
pub struct Reload { |
||||||
return Button::builder() |
widget: widget::Reload, |
||||||
.icon_name("view-refresh-symbolic") |
} |
||||||
.tooltip_text("Reload") |
|
||||||
.sensitive(false) |
impl Reload { |
||||||
.build(); |
// Construct
|
||||||
|
pub fn new() -> Reload { |
||||||
|
Self { |
||||||
|
widget: widget::Reload::new(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Reload { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,21 @@ |
|||||||
|
pub struct Reload { |
||||||
|
gtk: gtk::Button, |
||||||
|
} |
||||||
|
|
||||||
|
impl Reload { |
||||||
|
// Construct
|
||||||
|
pub fn new() -> Reload { |
||||||
|
Self { |
||||||
|
gtk: gtk::Button::builder() |
||||||
|
.icon_name("view-refresh-symbolic") |
||||||
|
.tooltip_text("Reload") |
||||||
|
.sensitive(false) |
||||||
|
.build(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Button { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -1,9 +1,19 @@ |
|||||||
use gtk::Entry; |
mod widget; |
||||||
|
|
||||||
pub fn new() -> Entry { |
pub struct Request { |
||||||
Entry::builder() |
widget: widget::Request, |
||||||
.placeholder_text("URL or search term...") |
} |
||||||
.hexpand(true) |
|
||||||
.progress_pulse_step(0.1) |
impl Request { |
||||||
.build() |
// Construct
|
||||||
|
pub fn new() -> Request { |
||||||
|
Self { |
||||||
|
widget: widget::Request::new(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn widget(&self) -> &widget::Request { |
||||||
|
&self.widget |
||||||
|
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,21 @@ |
|||||||
|
pub struct Request { |
||||||
|
gtk: gtk::Entry, |
||||||
|
} |
||||||
|
|
||||||
|
impl Request { |
||||||
|
// Construct
|
||||||
|
pub fn new() -> Request { |
||||||
|
Self { |
||||||
|
gtk: gtk::Entry::builder() |
||||||
|
.placeholder_text("URL or search term...") |
||||||
|
.hexpand(true) |
||||||
|
.progress_pulse_step(0.1) |
||||||
|
.build(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Entry { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,38 @@ |
|||||||
|
use gtk::prelude::BoxExt; |
||||||
|
|
||||||
|
pub struct Navigation { |
||||||
|
gtk: gtk::Box, |
||||||
|
} |
||||||
|
|
||||||
|
impl Navigation { |
||||||
|
// Construct
|
||||||
|
pub fn new( |
||||||
|
base: >k::Button, |
||||||
|
history: >k::Box, |
||||||
|
reload: >k::Button, |
||||||
|
request: >k::Entry, |
||||||
|
bookmark: >k::Button, |
||||||
|
) -> Navigation { |
||||||
|
let gtk = gtk::Box::builder() |
||||||
|
.orientation(gtk::Orientation::Horizontal) |
||||||
|
.spacing(8) |
||||||
|
.margin_top(8) |
||||||
|
.margin_start(8) |
||||||
|
.margin_end(8) |
||||||
|
.margin_bottom(8) |
||||||
|
.build(); |
||||||
|
|
||||||
|
gtk.append(base); |
||||||
|
gtk.append(history); |
||||||
|
gtk.append(reload); |
||||||
|
gtk.append(request); |
||||||
|
gtk.append(bookmark); |
||||||
|
|
||||||
|
Self { gtk } |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Box { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
use gtk::prelude::BoxExt; |
||||||
|
|
||||||
|
pub struct Page { |
||||||
|
gtk: gtk::Box, |
||||||
|
} |
||||||
|
|
||||||
|
impl Page { |
||||||
|
// Construct
|
||||||
|
pub fn new(navigation: >k::Box, content: >k::Box) -> Page { |
||||||
|
let gtk = gtk::Box::builder() |
||||||
|
.orientation(gtk::Orientation::Vertical) |
||||||
|
.build(); |
||||||
|
|
||||||
|
gtk.append(navigation); |
||||||
|
gtk.append(content); |
||||||
|
|
||||||
|
Self { gtk } |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Box { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,30 @@ |
|||||||
|
pub struct Tab { |
||||||
|
gtk: gtk::Notebook, |
||||||
|
} |
||||||
|
|
||||||
|
impl Tab { |
||||||
|
// Construct new object
|
||||||
|
pub fn new() -> Tab { |
||||||
|
Self { |
||||||
|
gtk: gtk::Notebook::builder().scrollable(true).build(), |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Actions
|
||||||
|
pub fn append(&self, label: >k::Box, page: >k::Box, current: bool) -> u32 { |
||||||
|
let page_number = self.gtk.append_page(page, Some(label)); |
||||||
|
|
||||||
|
self.gtk.set_tab_reorderable(page, true); |
||||||
|
|
||||||
|
if current { |
||||||
|
self.gtk.set_current_page(Some(page_number)); |
||||||
|
} |
||||||
|
|
||||||
|
page_number |
||||||
|
} |
||||||
|
|
||||||
|
// Getters
|
||||||
|
pub fn gtk(&self) -> >k::Notebook { |
||||||
|
&self.gtk |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue