[go: up one dir, main page]

gtk4/auto/
cell_editable.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4#![allow(deprecated)]
5
6use crate::{ffi, Accessible, Buildable, ConstraintTarget, Widget};
7use glib::{
8    object::ObjectType as _,
9    prelude::*,
10    signal::{connect_raw, SignalHandlerId},
11    translate::*,
12};
13use std::boxed::Box as Box_;
14
15glib::wrapper! {
16    #[doc(alias = "GtkCellEditable")]
17    pub struct CellEditable(Interface<ffi::GtkCellEditable, ffi::GtkCellEditableIface>) @requires Widget, Accessible, Buildable, ConstraintTarget;
18
19    match fn {
20        type_ => || ffi::gtk_cell_editable_get_type(),
21    }
22}
23
24impl CellEditable {
25    pub const NONE: Option<&'static CellEditable> = None;
26}
27
28pub trait CellEditableExt: IsA<CellEditable> + 'static {
29    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
30    #[allow(deprecated)]
31    #[doc(alias = "gtk_cell_editable_editing_done")]
32    fn editing_done(&self) {
33        unsafe {
34            ffi::gtk_cell_editable_editing_done(self.as_ref().to_glib_none().0);
35        }
36    }
37
38    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
39    #[allow(deprecated)]
40    #[doc(alias = "gtk_cell_editable_remove_widget")]
41    fn remove_widget(&self) {
42        unsafe {
43            ffi::gtk_cell_editable_remove_widget(self.as_ref().to_glib_none().0);
44        }
45    }
46
47    #[doc(alias = "gtk_cell_editable_start_editing")]
48    fn start_editing(&self, event: Option<impl AsRef<gdk::Event>>) {
49        unsafe {
50            ffi::gtk_cell_editable_start_editing(
51                self.as_ref().to_glib_none().0,
52                event.as_ref().map(|p| p.as_ref()).to_glib_none().0,
53            );
54        }
55    }
56
57    #[doc(alias = "editing-canceled")]
58    fn is_editing_canceled(&self) -> bool {
59        ObjectExt::property(self.as_ref(), "editing-canceled")
60    }
61
62    #[doc(alias = "editing-canceled")]
63    fn set_editing_canceled(&self, editing_canceled: bool) {
64        ObjectExt::set_property(self.as_ref(), "editing-canceled", editing_canceled)
65    }
66
67    #[doc(alias = "editing-done")]
68    fn connect_editing_done<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
69        unsafe extern "C" fn editing_done_trampoline<P: IsA<CellEditable>, F: Fn(&P) + 'static>(
70            this: *mut ffi::GtkCellEditable,
71            f: glib::ffi::gpointer,
72        ) {
73            let f: &F = &*(f as *const F);
74            f(CellEditable::from_glib_borrow(this).unsafe_cast_ref())
75        }
76        unsafe {
77            let f: Box_<F> = Box_::new(f);
78            connect_raw(
79                self.as_ptr() as *mut _,
80                c"editing-done".as_ptr() as *const _,
81                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
82                    editing_done_trampoline::<Self, F> as *const (),
83                )),
84                Box_::into_raw(f),
85            )
86        }
87    }
88
89    #[doc(alias = "remove-widget")]
90    fn connect_remove_widget<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
91        unsafe extern "C" fn remove_widget_trampoline<P: IsA<CellEditable>, F: Fn(&P) + 'static>(
92            this: *mut ffi::GtkCellEditable,
93            f: glib::ffi::gpointer,
94        ) {
95            let f: &F = &*(f as *const F);
96            f(CellEditable::from_glib_borrow(this).unsafe_cast_ref())
97        }
98        unsafe {
99            let f: Box_<F> = Box_::new(f);
100            connect_raw(
101                self.as_ptr() as *mut _,
102                c"remove-widget".as_ptr() as *const _,
103                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
104                    remove_widget_trampoline::<Self, F> as *const (),
105                )),
106                Box_::into_raw(f),
107            )
108        }
109    }
110
111    #[doc(alias = "editing-canceled")]
112    fn connect_editing_canceled_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
113        unsafe extern "C" fn notify_editing_canceled_trampoline<
114            P: IsA<CellEditable>,
115            F: Fn(&P) + 'static,
116        >(
117            this: *mut ffi::GtkCellEditable,
118            _param_spec: glib::ffi::gpointer,
119            f: glib::ffi::gpointer,
120        ) {
121            let f: &F = &*(f as *const F);
122            f(CellEditable::from_glib_borrow(this).unsafe_cast_ref())
123        }
124        unsafe {
125            let f: Box_<F> = Box_::new(f);
126            connect_raw(
127                self.as_ptr() as *mut _,
128                c"notify::editing-canceled".as_ptr() as *const _,
129                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
130                    notify_editing_canceled_trampoline::<Self, F> as *const (),
131                )),
132                Box_::into_raw(f),
133            )
134        }
135    }
136}
137
138impl<O: IsA<CellEditable>> CellEditableExt for O {}