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::PageSetup; 6 use crate::PrintContext; 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 std::boxed::Box as Box_; 13 use std::fmt; 14 use std::mem::transmute; 15 16 glib::wrapper! { 17 #[doc(alias = "GtkPrintOperationPreview")] 18 pub struct PrintOperationPreview(Interface<ffi::GtkPrintOperationPreview, ffi::GtkPrintOperationPreviewIface>); 19 20 match fn { 21 type_ => || ffi::gtk_print_operation_preview_get_type(), 22 } 23 } 24 25 pub const NONE_PRINT_OPERATION_PREVIEW: Option<&PrintOperationPreview> = None; 26 27 pub trait PrintOperationPreviewExt: 'static { 28 #[doc(alias = "gtk_print_operation_preview_end_preview")] end_preview(&self)29 fn end_preview(&self); 30 31 #[doc(alias = "gtk_print_operation_preview_is_selected")] is_selected(&self, page_nr: i32) -> bool32 fn is_selected(&self, page_nr: i32) -> bool; 33 34 #[doc(alias = "gtk_print_operation_preview_render_page")] render_page(&self, page_nr: i32)35 fn render_page(&self, page_nr: i32); 36 37 #[doc(alias = "got-page-size")] connect_got_page_size<F: Fn(&Self, &PrintContext, &PageSetup) + 'static>( &self, f: F, ) -> SignalHandlerId38 fn connect_got_page_size<F: Fn(&Self, &PrintContext, &PageSetup) + 'static>( 39 &self, 40 f: F, 41 ) -> SignalHandlerId; 42 43 #[doc(alias = "ready")] connect_ready<F: Fn(&Self, &PrintContext) + 'static>(&self, f: F) -> SignalHandlerId44 fn connect_ready<F: Fn(&Self, &PrintContext) + 'static>(&self, f: F) -> SignalHandlerId; 45 } 46 47 impl<O: IsA<PrintOperationPreview>> PrintOperationPreviewExt for O { end_preview(&self)48 fn end_preview(&self) { 49 unsafe { 50 ffi::gtk_print_operation_preview_end_preview(self.as_ref().to_glib_none().0); 51 } 52 } 53 is_selected(&self, page_nr: i32) -> bool54 fn is_selected(&self, page_nr: i32) -> bool { 55 unsafe { 56 from_glib(ffi::gtk_print_operation_preview_is_selected( 57 self.as_ref().to_glib_none().0, 58 page_nr, 59 )) 60 } 61 } 62 render_page(&self, page_nr: i32)63 fn render_page(&self, page_nr: i32) { 64 unsafe { 65 ffi::gtk_print_operation_preview_render_page(self.as_ref().to_glib_none().0, page_nr); 66 } 67 } 68 connect_got_page_size<F: Fn(&Self, &PrintContext, &PageSetup) + 'static>( &self, f: F, ) -> SignalHandlerId69 fn connect_got_page_size<F: Fn(&Self, &PrintContext, &PageSetup) + 'static>( 70 &self, 71 f: F, 72 ) -> SignalHandlerId { 73 unsafe extern "C" fn got_page_size_trampoline< 74 P: IsA<PrintOperationPreview>, 75 F: Fn(&P, &PrintContext, &PageSetup) + 'static, 76 >( 77 this: *mut ffi::GtkPrintOperationPreview, 78 context: *mut ffi::GtkPrintContext, 79 page_setup: *mut ffi::GtkPageSetup, 80 f: glib::ffi::gpointer, 81 ) { 82 let f: &F = &*(f as *const F); 83 f( 84 PrintOperationPreview::from_glib_borrow(this).unsafe_cast_ref(), 85 &from_glib_borrow(context), 86 &from_glib_borrow(page_setup), 87 ) 88 } 89 unsafe { 90 let f: Box_<F> = Box_::new(f); 91 connect_raw( 92 self.as_ptr() as *mut _, 93 b"got-page-size\0".as_ptr() as *const _, 94 Some(transmute::<_, unsafe extern "C" fn()>( 95 got_page_size_trampoline::<Self, F> as *const (), 96 )), 97 Box_::into_raw(f), 98 ) 99 } 100 } 101 connect_ready<F: Fn(&Self, &PrintContext) + 'static>(&self, f: F) -> SignalHandlerId102 fn connect_ready<F: Fn(&Self, &PrintContext) + 'static>(&self, f: F) -> SignalHandlerId { 103 unsafe extern "C" fn ready_trampoline< 104 P: IsA<PrintOperationPreview>, 105 F: Fn(&P, &PrintContext) + 'static, 106 >( 107 this: *mut ffi::GtkPrintOperationPreview, 108 context: *mut ffi::GtkPrintContext, 109 f: glib::ffi::gpointer, 110 ) { 111 let f: &F = &*(f as *const F); 112 f( 113 PrintOperationPreview::from_glib_borrow(this).unsafe_cast_ref(), 114 &from_glib_borrow(context), 115 ) 116 } 117 unsafe { 118 let f: Box_<F> = Box_::new(f); 119 connect_raw( 120 self.as_ptr() as *mut _, 121 b"ready\0".as_ptr() as *const _, 122 Some(transmute::<_, unsafe extern "C" fn()>( 123 ready_trampoline::<Self, F> as *const (), 124 )), 125 Box_::into_raw(f), 126 ) 127 } 128 } 129 } 130 131 impl fmt::Display for PrintOperationPreview { fmt(&self, f: &mut fmt::Formatter) -> fmt::Result132 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 133 f.write_str("PrintOperationPreview") 134 } 135 } 136