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 glib::object::Cast; 6 use glib::object::IsA; 7 use glib::signal::connect_raw; 8 use glib::signal::SignalHandlerId; 9 use glib::translate::*; 10 use glib_sys; 11 use gtk_sys; 12 use std::boxed::Box as Box_; 13 use std::fmt; 14 use std::mem::transmute; 15 use PageSetup; 16 use PrintContext; 17 18 glib_wrapper! { 19 pub struct PrintOperationPreview(Interface<gtk_sys::GtkPrintOperationPreview>); 20 21 match fn { 22 get_type => || gtk_sys::gtk_print_operation_preview_get_type(), 23 } 24 } 25 26 pub const NONE_PRINT_OPERATION_PREVIEW: Option<&PrintOperationPreview> = None; 27 28 pub trait PrintOperationPreviewExt: 'static { end_preview(&self)29 fn end_preview(&self); 30 is_selected(&self, page_nr: i32) -> bool31 fn is_selected(&self, page_nr: i32) -> bool; 32 render_page(&self, page_nr: i32)33 fn render_page(&self, page_nr: i32); 34 connect_got_page_size<F: Fn(&Self, &PrintContext, &PageSetup) + 'static>( &self, f: F, ) -> SignalHandlerId35 fn connect_got_page_size<F: Fn(&Self, &PrintContext, &PageSetup) + 'static>( 36 &self, 37 f: F, 38 ) -> SignalHandlerId; 39 connect_ready<F: Fn(&Self, &PrintContext) + 'static>(&self, f: F) -> SignalHandlerId40 fn connect_ready<F: Fn(&Self, &PrintContext) + 'static>(&self, f: F) -> SignalHandlerId; 41 } 42 43 impl<O: IsA<PrintOperationPreview>> PrintOperationPreviewExt for O { end_preview(&self)44 fn end_preview(&self) { 45 unsafe { 46 gtk_sys::gtk_print_operation_preview_end_preview(self.as_ref().to_glib_none().0); 47 } 48 } 49 is_selected(&self, page_nr: i32) -> bool50 fn is_selected(&self, page_nr: i32) -> bool { 51 unsafe { 52 from_glib(gtk_sys::gtk_print_operation_preview_is_selected( 53 self.as_ref().to_glib_none().0, 54 page_nr, 55 )) 56 } 57 } 58 render_page(&self, page_nr: i32)59 fn render_page(&self, page_nr: i32) { 60 unsafe { 61 gtk_sys::gtk_print_operation_preview_render_page( 62 self.as_ref().to_glib_none().0, 63 page_nr, 64 ); 65 } 66 } 67 connect_got_page_size<F: Fn(&Self, &PrintContext, &PageSetup) + 'static>( &self, f: F, ) -> SignalHandlerId68 fn connect_got_page_size<F: Fn(&Self, &PrintContext, &PageSetup) + 'static>( 69 &self, 70 f: F, 71 ) -> SignalHandlerId { 72 unsafe extern "C" fn got_page_size_trampoline< 73 P, 74 F: Fn(&P, &PrintContext, &PageSetup) + 'static, 75 >( 76 this: *mut gtk_sys::GtkPrintOperationPreview, 77 context: *mut gtk_sys::GtkPrintContext, 78 page_setup: *mut gtk_sys::GtkPageSetup, 79 f: glib_sys::gpointer, 80 ) where 81 P: IsA<PrintOperationPreview>, 82 { 83 let f: &F = &*(f as *const F); 84 f( 85 &PrintOperationPreview::from_glib_borrow(this).unsafe_cast(), 86 &from_glib_borrow(context), 87 &from_glib_borrow(page_setup), 88 ) 89 } 90 unsafe { 91 let f: Box_<F> = Box_::new(f); 92 connect_raw( 93 self.as_ptr() as *mut _, 94 b"got-page-size\0".as_ptr() as *const _, 95 Some(transmute(got_page_size_trampoline::<Self, F> as usize)), 96 Box_::into_raw(f), 97 ) 98 } 99 } 100 connect_ready<F: Fn(&Self, &PrintContext) + 'static>(&self, f: F) -> SignalHandlerId101 fn connect_ready<F: Fn(&Self, &PrintContext) + 'static>(&self, f: F) -> SignalHandlerId { 102 unsafe extern "C" fn ready_trampoline<P, F: Fn(&P, &PrintContext) + 'static>( 103 this: *mut gtk_sys::GtkPrintOperationPreview, 104 context: *mut gtk_sys::GtkPrintContext, 105 f: glib_sys::gpointer, 106 ) where 107 P: IsA<PrintOperationPreview>, 108 { 109 let f: &F = &*(f as *const F); 110 f( 111 &PrintOperationPreview::from_glib_borrow(this).unsafe_cast(), 112 &from_glib_borrow(context), 113 ) 114 } 115 unsafe { 116 let f: Box_<F> = Box_::new(f); 117 connect_raw( 118 self.as_ptr() as *mut _, 119 b"ready\0".as_ptr() as *const _, 120 Some(transmute(ready_trampoline::<Self, F> as usize)), 121 Box_::into_raw(f), 122 ) 123 } 124 } 125 } 126 127 impl fmt::Display for PrintOperationPreview { fmt(&self, f: &mut fmt::Formatter) -> fmt::Result128 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 129 write!(f, "PrintOperationPreview") 130 } 131 } 132