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 5 use crate::Buildable; 6 use crate::Widget; 7 use glib::object::Cast; 8 use glib::object::IsA; 9 use glib::signal::connect_raw; 10 use glib::signal::SignalHandlerId; 11 use glib::translate::*; 12 use glib::StaticType; 13 use glib::ToValue; 14 use std::boxed::Box as Box_; 15 use std::fmt; 16 use std::mem::transmute; 17 18 glib::wrapper! { 19 #[doc(alias = "GtkCellEditable")] 20 pub struct CellEditable(Interface<ffi::GtkCellEditable, ffi::GtkCellEditableIface>) @requires Widget, Buildable; 21 22 match fn { 23 type_ => || ffi::gtk_cell_editable_get_type(), 24 } 25 } 26 27 pub const NONE_CELL_EDITABLE: Option<&CellEditable> = None; 28 29 pub trait CellEditableExt: 'static { 30 #[doc(alias = "gtk_cell_editable_editing_done")] editing_done(&self)31 fn editing_done(&self); 32 33 #[doc(alias = "gtk_cell_editable_remove_widget")] remove_widget(&self)34 fn remove_widget(&self); 35 36 #[doc(alias = "gtk_cell_editable_start_editing")] start_editing(&self, event: Option<&gdk::Event>)37 fn start_editing(&self, event: Option<&gdk::Event>); 38 39 #[doc(alias = "editing-canceled")] is_editing_canceled(&self) -> bool40 fn is_editing_canceled(&self) -> bool; 41 42 #[doc(alias = "editing-canceled")] set_editing_canceled(&self, editing_canceled: bool)43 fn set_editing_canceled(&self, editing_canceled: bool); 44 45 #[doc(alias = "editing-done")] connect_editing_done<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId46 fn connect_editing_done<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; 47 48 #[doc(alias = "remove-widget")] connect_remove_widget<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId49 fn connect_remove_widget<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; 50 51 #[doc(alias = "editing-canceled")] connect_editing_canceled_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId52 fn connect_editing_canceled_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; 53 } 54 55 impl<O: IsA<CellEditable>> CellEditableExt for O { editing_done(&self)56 fn editing_done(&self) { 57 unsafe { 58 ffi::gtk_cell_editable_editing_done(self.as_ref().to_glib_none().0); 59 } 60 } 61 remove_widget(&self)62 fn remove_widget(&self) { 63 unsafe { 64 ffi::gtk_cell_editable_remove_widget(self.as_ref().to_glib_none().0); 65 } 66 } 67 start_editing(&self, event: Option<&gdk::Event>)68 fn start_editing(&self, event: Option<&gdk::Event>) { 69 unsafe { 70 ffi::gtk_cell_editable_start_editing( 71 self.as_ref().to_glib_none().0, 72 mut_override(event.to_glib_none().0), 73 ); 74 } 75 } 76 is_editing_canceled(&self) -> bool77 fn is_editing_canceled(&self) -> bool { 78 unsafe { 79 let mut value = glib::Value::from_type(<bool as StaticType>::static_type()); 80 glib::gobject_ffi::g_object_get_property( 81 self.to_glib_none().0 as *mut glib::gobject_ffi::GObject, 82 b"editing-canceled\0".as_ptr() as *const _, 83 value.to_glib_none_mut().0, 84 ); 85 value 86 .get() 87 .expect("Return Value for property `editing-canceled` getter") 88 } 89 } 90 set_editing_canceled(&self, editing_canceled: bool)91 fn set_editing_canceled(&self, editing_canceled: bool) { 92 unsafe { 93 glib::gobject_ffi::g_object_set_property( 94 self.to_glib_none().0 as *mut glib::gobject_ffi::GObject, 95 b"editing-canceled\0".as_ptr() as *const _, 96 editing_canceled.to_value().to_glib_none().0, 97 ); 98 } 99 } 100 connect_editing_done<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId101 fn connect_editing_done<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId { 102 unsafe extern "C" fn editing_done_trampoline<P: IsA<CellEditable>, F: Fn(&P) + 'static>( 103 this: *mut ffi::GtkCellEditable, 104 f: glib::ffi::gpointer, 105 ) { 106 let f: &F = &*(f as *const F); 107 f(CellEditable::from_glib_borrow(this).unsafe_cast_ref()) 108 } 109 unsafe { 110 let f: Box_<F> = Box_::new(f); 111 connect_raw( 112 self.as_ptr() as *mut _, 113 b"editing-done\0".as_ptr() as *const _, 114 Some(transmute::<_, unsafe extern "C" fn()>( 115 editing_done_trampoline::<Self, F> as *const (), 116 )), 117 Box_::into_raw(f), 118 ) 119 } 120 } 121 connect_remove_widget<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId122 fn connect_remove_widget<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId { 123 unsafe extern "C" fn remove_widget_trampoline<P: IsA<CellEditable>, F: Fn(&P) + 'static>( 124 this: *mut ffi::GtkCellEditable, 125 f: glib::ffi::gpointer, 126 ) { 127 let f: &F = &*(f as *const F); 128 f(CellEditable::from_glib_borrow(this).unsafe_cast_ref()) 129 } 130 unsafe { 131 let f: Box_<F> = Box_::new(f); 132 connect_raw( 133 self.as_ptr() as *mut _, 134 b"remove-widget\0".as_ptr() as *const _, 135 Some(transmute::<_, unsafe extern "C" fn()>( 136 remove_widget_trampoline::<Self, F> as *const (), 137 )), 138 Box_::into_raw(f), 139 ) 140 } 141 } 142 connect_editing_canceled_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId143 fn connect_editing_canceled_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId { 144 unsafe extern "C" fn notify_editing_canceled_trampoline< 145 P: IsA<CellEditable>, 146 F: Fn(&P) + 'static, 147 >( 148 this: *mut ffi::GtkCellEditable, 149 _param_spec: glib::ffi::gpointer, 150 f: glib::ffi::gpointer, 151 ) { 152 let f: &F = &*(f as *const F); 153 f(CellEditable::from_glib_borrow(this).unsafe_cast_ref()) 154 } 155 unsafe { 156 let f: Box_<F> = Box_::new(f); 157 connect_raw( 158 self.as_ptr() as *mut _, 159 b"notify::editing-canceled\0".as_ptr() as *const _, 160 Some(transmute::<_, unsafe extern "C" fn()>( 161 notify_editing_canceled_trampoline::<Self, F> as *const (), 162 )), 163 Box_::into_raw(f), 164 ) 165 } 166 } 167 } 168 169 impl fmt::Display for CellEditable { fmt(&self, f: &mut fmt::Formatter) -> fmt::Result170 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 171 f.write_str("CellEditable") 172 } 173 } 174