use crate::{Language, LanguageChooser};
use glib::{prelude::*, translate::*};
use std::fmt;
glib::wrapper! {
#[doc(alias = "GspellLanguageChooserButton")]
pub struct LanguageChooserButton(Object<ffi::GspellLanguageChooserButton, ffi::GspellLanguageChooserButtonClass>) @extends gtk::Button, gtk::Bin, gtk::Container, gtk::Widget, @implements gtk::Buildable, gtk::Actionable, LanguageChooser;
match fn {
type_ => || ffi::gspell_language_chooser_button_get_type(),
}
}
impl LanguageChooserButton {
pub const NONE: Option<&'static LanguageChooserButton> = None;
#[doc(alias = "gspell_language_chooser_button_new")]
pub fn new(current_language: Option<&Language>) -> LanguageChooserButton {
assert_initialized_main_thread!();
unsafe {
gtk::Widget::from_glib_none(ffi::gspell_language_chooser_button_new(
current_language.to_glib_none().0,
))
.unsafe_cast()
}
}
}
impl fmt::Display for LanguageChooserButton {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str("LanguageChooserButton")
}
}