use crate::FlapFoldPolicy;
use crate::FlapTransitionType;
use crate::Swipeable;
use glib::object::Cast;
use glib::object::IsA;
use glib::object::ObjectType as ObjectType_;
use glib::signal::connect_raw;
use glib::signal::SignalHandlerId;
use glib::translate::*;
use std::boxed::Box as Box_;
use std::fmt;
use std::mem::transmute;
glib::wrapper! {
pub struct Flap(Object<ffi::HdyFlap, ffi::HdyFlapClass>) @extends gtk::Widget, @implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget, gtk::Orientable, Swipeable;
match fn {
get_type => || ffi::hdy_flap_get_type(),
}
}
impl Flap {
#[doc(alias = "hdy_flap_new")]
pub fn new() -> Flap {
assert_initialized_main_thread!();
unsafe { gtk::Widget::from_glib_none(ffi::hdy_flap_new()).unsafe_cast() }
}
#[doc(alias = "hdy_flap_get_content")]
pub fn get_content(&self) -> Option<gtk::Widget> {
unsafe { from_glib_none(ffi::hdy_flap_get_content(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_flap")]
pub fn get_flap(&self) -> Option<gtk::Widget> {
unsafe { from_glib_none(ffi::hdy_flap_get_flap(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_flap_position")]
pub fn get_flap_position(&self) -> gtk::PackType {
unsafe { from_glib(ffi::hdy_flap_get_flap_position(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_fold_duration")]
pub fn get_fold_duration(&self) -> u32 {
unsafe { ffi::hdy_flap_get_fold_duration(self.to_glib_none().0) }
}
#[doc(alias = "hdy_flap_get_fold_policy")]
pub fn get_fold_policy(&self) -> FlapFoldPolicy {
unsafe { from_glib(ffi::hdy_flap_get_fold_policy(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_folded")]
pub fn get_folded(&self) -> bool {
unsafe { from_glib(ffi::hdy_flap_get_folded(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_locked")]
pub fn get_locked(&self) -> bool {
unsafe { from_glib(ffi::hdy_flap_get_locked(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_modal")]
pub fn get_modal(&self) -> bool {
unsafe { from_glib(ffi::hdy_flap_get_modal(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_reveal_duration")]
pub fn get_reveal_duration(&self) -> u32 {
unsafe { ffi::hdy_flap_get_reveal_duration(self.to_glib_none().0) }
}
#[doc(alias = "hdy_flap_get_reveal_flap")]
pub fn get_reveal_flap(&self) -> bool {
unsafe { from_glib(ffi::hdy_flap_get_reveal_flap(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_reveal_progress")]
pub fn get_reveal_progress(&self) -> f64 {
unsafe { ffi::hdy_flap_get_reveal_progress(self.to_glib_none().0) }
}
#[doc(alias = "hdy_flap_get_separator")]
pub fn get_separator(&self) -> Option<gtk::Widget> {
unsafe { from_glib_none(ffi::hdy_flap_get_separator(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_swipe_to_close")]
pub fn get_swipe_to_close(&self) -> bool {
unsafe { from_glib(ffi::hdy_flap_get_swipe_to_close(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_swipe_to_open")]
pub fn get_swipe_to_open(&self) -> bool {
unsafe { from_glib(ffi::hdy_flap_get_swipe_to_open(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_get_transition_type")]
pub fn get_transition_type(&self) -> FlapTransitionType {
unsafe { from_glib(ffi::hdy_flap_get_transition_type(self.to_glib_none().0)) }
}
#[doc(alias = "hdy_flap_set_content")]
pub fn set_content<P: IsA<gtk::Widget>>(&self, content: Option<&P>) {
unsafe {
ffi::hdy_flap_set_content(
self.to_glib_none().0,
content.map(|p| p.as_ref()).to_glib_none().0,
);
}
}
#[doc(alias = "hdy_flap_set_flap")]
pub fn set_flap<P: IsA<gtk::Widget>>(&self, flap: Option<&P>) {
unsafe {
ffi::hdy_flap_set_flap(
self.to_glib_none().0,
flap.map(|p| p.as_ref()).to_glib_none().0,
);
}
}
#[doc(alias = "hdy_flap_set_flap_position")]
pub fn set_flap_position(&self, position: gtk::PackType) {
unsafe {
ffi::hdy_flap_set_flap_position(self.to_glib_none().0, position.to_glib());
}
}
#[doc(alias = "hdy_flap_set_fold_duration")]
pub fn set_fold_duration(&self, duration: u32) {
unsafe {
ffi::hdy_flap_set_fold_duration(self.to_glib_none().0, duration);
}
}
#[doc(alias = "hdy_flap_set_fold_policy")]
pub fn set_fold_policy(&self, policy: FlapFoldPolicy) {
unsafe {
ffi::hdy_flap_set_fold_policy(self.to_glib_none().0, policy.to_glib());
}
}
#[doc(alias = "hdy_flap_set_locked")]
pub fn set_locked(&self, locked: bool) {
unsafe {
ffi::hdy_flap_set_locked(self.to_glib_none().0, locked.to_glib());
}
}
#[doc(alias = "hdy_flap_set_modal")]
pub fn set_modal(&self, modal: bool) {
unsafe {
ffi::hdy_flap_set_modal(self.to_glib_none().0, modal.to_glib());
}
}
#[doc(alias = "hdy_flap_set_reveal_duration")]
pub fn set_reveal_duration(&self, duration: u32) {
unsafe {
ffi::hdy_flap_set_reveal_duration(self.to_glib_none().0, duration);
}
}
#[doc(alias = "hdy_flap_set_reveal_flap")]
pub fn set_reveal_flap(&self, reveal_flap: bool) {
unsafe {
ffi::hdy_flap_set_reveal_flap(self.to_glib_none().0, reveal_flap.to_glib());
}
}
#[doc(alias = "hdy_flap_set_separator")]
pub fn set_separator<P: IsA<gtk::Widget>>(&self, separator: Option<&P>) {
unsafe {
ffi::hdy_flap_set_separator(
self.to_glib_none().0,
separator.map(|p| p.as_ref()).to_glib_none().0,
);
}
}
#[doc(alias = "hdy_flap_set_swipe_to_close")]
pub fn set_swipe_to_close(&self, swipe_to_close: bool) {
unsafe {
ffi::hdy_flap_set_swipe_to_close(self.to_glib_none().0, swipe_to_close.to_glib());
}
}
#[doc(alias = "hdy_flap_set_swipe_to_open")]
pub fn set_swipe_to_open(&self, swipe_to_open: bool) {
unsafe {
ffi::hdy_flap_set_swipe_to_open(self.to_glib_none().0, swipe_to_open.to_glib());
}
}
#[doc(alias = "hdy_flap_set_transition_type")]
pub fn set_transition_type(&self, transition_type: FlapTransitionType) {
unsafe {
ffi::hdy_flap_set_transition_type(self.to_glib_none().0, transition_type.to_glib());
}
}
pub fn connect_property_content_notify<F: Fn(&Flap) + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn notify_content_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::content\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_content_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_flap_notify<F: Fn(&Flap) + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn notify_flap_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::flap\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_flap_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_flap_position_notify<F: Fn(&Flap) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_flap_position_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::flap-position\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_flap_position_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_fold_duration_notify<F: Fn(&Flap) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_fold_duration_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::fold-duration\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_fold_duration_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_fold_policy_notify<F: Fn(&Flap) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_fold_policy_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::fold-policy\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_fold_policy_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_folded_notify<F: Fn(&Flap) + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn notify_folded_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::folded\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_folded_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_locked_notify<F: Fn(&Flap) + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn notify_locked_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::locked\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_locked_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_modal_notify<F: Fn(&Flap) + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn notify_modal_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::modal\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_modal_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_reveal_duration_notify<F: Fn(&Flap) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_reveal_duration_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::reveal-duration\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_reveal_duration_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_reveal_flap_notify<F: Fn(&Flap) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_reveal_flap_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::reveal-flap\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_reveal_flap_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_reveal_progress_notify<F: Fn(&Flap) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_reveal_progress_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::reveal-progress\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_reveal_progress_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_separator_notify<F: Fn(&Flap) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_separator_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::separator\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_separator_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_swipe_to_close_notify<F: Fn(&Flap) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_swipe_to_close_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::swipe-to-close\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_swipe_to_close_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_swipe_to_open_notify<F: Fn(&Flap) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_swipe_to_open_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::swipe-to-open\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_swipe_to_open_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_transition_type_notify<F: Fn(&Flap) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_transition_type_trampoline<F: Fn(&Flap) + 'static>(
this: *mut ffi::HdyFlap,
_param_spec: glib::ffi::gpointer,
f: glib::ffi::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::transition-type\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_transition_type_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
}
impl Default for Flap {
fn default() -> Self {
Self::new()
}
}
impl fmt::Display for Flap {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str("Flap")
}
}