style: format source files with cargo fmt
parent
3a4792cbfe
commit
02e437b76c
|
@ -3,44 +3,32 @@
|
||||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
use glib::IsA;
|
use glib::IsA;
|
||||||
use gtk::{prelude::*, Box, Widget, Button};
|
use gtk::{prelude::*, Box, Button, Widget};
|
||||||
|
|
||||||
pub trait ClosableTabImplementedNotebook {
|
pub trait ClosableTabImplementedNotebook {
|
||||||
fn prepend_closable_page<
|
fn prepend_closable_page<T: IsA<Widget>, U: IsA<Widget>>(
|
||||||
T: IsA<Widget>,
|
|
||||||
U: IsA<Widget>
|
|
||||||
>(
|
|
||||||
&self,
|
&self,
|
||||||
child: &T,
|
child: &T,
|
||||||
tab_label: Option<&U>,
|
tab_label: Option<&U>,
|
||||||
) -> u32;
|
) -> u32;
|
||||||
fn append_closable_page<
|
fn append_closable_page<T: IsA<Widget>, U: IsA<Widget>>(
|
||||||
T: IsA<Widget>,
|
|
||||||
U: IsA<Widget>
|
|
||||||
>(
|
|
||||||
&self,
|
&self,
|
||||||
child: &T,
|
child: &T,
|
||||||
tab_label: Option<&U>,
|
tab_label: Option<&U>,
|
||||||
) -> u32;
|
) -> u32;
|
||||||
|
|
||||||
fn create_closable_tab<
|
fn create_closable_tab<U: IsA<Widget>>(tab_label: Option<&U>) -> (Box, Button);
|
||||||
U: IsA<Widget>,
|
|
||||||
|
|
||||||
>(tab_label: Option<&U>) -> (Box, Button);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ClosableTabImplementedNotebook for gtk::Notebook {
|
impl ClosableTabImplementedNotebook for gtk::Notebook {
|
||||||
fn create_closable_tab<
|
fn create_closable_tab<U: IsA<Widget>>(tab_label: Option<&U>) -> (Box, Button) {
|
||||||
U: IsA<Widget>,
|
|
||||||
|
|
||||||
>(tab_label: Option<&U>)-> (Box, Button) {
|
|
||||||
let tab = Box::new(gtk::Orientation::Horizontal, 5);
|
let tab = Box::new(gtk::Orientation::Horizontal, 5);
|
||||||
if tab_label.is_some() {
|
if tab_label.is_some() {
|
||||||
tab.append(tab_label.unwrap());
|
tab.append(tab_label.unwrap());
|
||||||
}
|
}
|
||||||
|
|
||||||
let button = gtk::Button::new();
|
let button = gtk::Button::new();
|
||||||
|
|
||||||
button.set_icon_name("window-close-symbolic");
|
button.set_icon_name("window-close-symbolic");
|
||||||
button.set_has_frame(false);
|
button.set_has_frame(false);
|
||||||
|
|
||||||
|
@ -57,19 +45,15 @@ impl ClosableTabImplementedNotebook for gtk::Notebook {
|
||||||
let (tab, button) = &Self::create_closable_tab(tab_label);
|
let (tab, button) = &Self::create_closable_tab(tab_label);
|
||||||
let page = self.prepend_page(child, Some(tab));
|
let page = self.prepend_page(child, Some(tab));
|
||||||
|
|
||||||
button.connect_clicked(glib::clone!(@weak self as notebook =>
|
button.connect_clicked(glib::clone!(@weak self as notebook =>
|
||||||
move |_| {
|
move |_| {
|
||||||
notebook.remove_page(Some(page));
|
notebook.remove_page(Some(page));
|
||||||
}));
|
}));
|
||||||
|
|
||||||
page
|
page
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn append_closable_page<
|
fn append_closable_page<T: IsA<Widget>, U: IsA<Widget>>(
|
||||||
T: IsA<Widget>,
|
|
||||||
U: IsA<Widget>
|
|
||||||
>(
|
|
||||||
&self,
|
&self,
|
||||||
child: &T,
|
child: &T,
|
||||||
tab_label: Option<&U>,
|
tab_label: Option<&U>,
|
||||||
|
@ -77,7 +61,7 @@ impl ClosableTabImplementedNotebook for gtk::Notebook {
|
||||||
let (tab, button) = &Self::create_closable_tab(tab_label);
|
let (tab, button) = &Self::create_closable_tab(tab_label);
|
||||||
let page = self.append_page(child, Some(tab));
|
let page = self.append_page(child, Some(tab));
|
||||||
|
|
||||||
button.connect_clicked(glib::clone!(@weak self as notebook =>
|
button.connect_clicked(glib::clone!(@weak self as notebook =>
|
||||||
move |_| {
|
move |_| {
|
||||||
notebook.remove_page(Some(page));
|
notebook.remove_page(Some(page));
|
||||||
}));
|
}));
|
||||||
|
|
|
@ -6,4 +6,4 @@ pub mod closeable_tab;
|
||||||
|
|
||||||
pub mod prelude {
|
pub mod prelude {
|
||||||
pub use super::closeable_tab::ClosableTabImplementedNotebook;
|
pub use super::closeable_tab::ClosableTabImplementedNotebook;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue