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