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