1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 #include <rtl/ustring.hxx>
14 #include "gtkprintwrapper.hxx"
21 #if !GTK_CHECK_VERSION(3,0,0)
23 GtkPrintWrapper::GtkPrintWrapper()
27 , m_print_job_set_source_file(0)
28 , m_print_settings_get(0)
29 , m_print_settings_get_collate(0)
30 , m_print_settings_set_collate(0)
31 , m_print_settings_get_n_copies(0)
32 , m_print_settings_set_n_copies(0)
33 , m_print_settings_get_page_ranges(0)
34 , m_print_settings_set_print_pages(0)
35 , m_print_unix_dialog_new(0)
36 , m_print_unix_dialog_add_custom_tab(0)
37 , m_print_unix_dialog_get_selected_printer(0)
38 , m_print_unix_dialog_set_manual_capabilities(0)
39 , m_print_unix_dialog_get_settings(0)
40 , m_print_unix_dialog_set_settings(0)
41 , m_print_unix_dialog_set_support_selection(0)
42 , m_print_unix_dialog_set_has_selection(0)
49 GtkPrintWrapper::GtkPrintWrapper()
55 GtkPrintWrapper::~GtkPrintWrapper()
59 #if !GTK_CHECK_VERSION(3,0,0)
61 void GtkPrintWrapper::impl_load()
63 m_aModule
.load(OUString("libgtk-x11-2.0.so.0"));
65 m_aModule
.load(OUString("libgtk-x11-2.0.so"));
69 m_page_setup_new
= reinterpret_cast<page_setup_new_t
>(m_aModule
.getFunctionSymbol("gtk_page_setup_new"));
70 m_print_job_new
= reinterpret_cast<print_job_new_t
>(m_aModule
.getFunctionSymbol("gtk_print_job_new"));
71 m_print_job_send
= reinterpret_cast<print_job_send_t
>(m_aModule
.getFunctionSymbol("gtk_print_job_send"));
72 m_print_job_set_source_file
= reinterpret_cast<print_job_set_source_file_t
>(m_aModule
.getFunctionSymbol("gtk_print_job_set_source_file"));
73 m_print_settings_get
= reinterpret_cast<print_settings_get_t
>(m_aModule
.getFunctionSymbol("gtk_print_settings_get"));
74 m_print_settings_get_collate
= reinterpret_cast<print_settings_get_collate_t
>(m_aModule
.getFunctionSymbol("gtk_print_settings_get_collate"));
75 m_print_settings_set_collate
= reinterpret_cast<print_settings_set_collate_t
>(m_aModule
.getFunctionSymbol("gtk_print_settings_set_collate"));
76 m_print_settings_get_n_copies
= reinterpret_cast<print_settings_get_n_copies_t
>(m_aModule
.getFunctionSymbol("gtk_print_settings_get_n_copies"));
77 m_print_settings_set_n_copies
= reinterpret_cast<print_settings_set_n_copies_t
>(m_aModule
.getFunctionSymbol("gtk_print_settings_set_n_copies"));
78 m_print_settings_get_page_ranges
= reinterpret_cast<print_settings_get_page_ranges_t
>(m_aModule
.getFunctionSymbol("gtk_print_settings_get_page_ranges"));
79 m_print_settings_set_print_pages
= reinterpret_cast<print_settings_set_print_pages_t
>(m_aModule
.getFunctionSymbol("gtk_print_settings_set_print_pages"));
80 m_print_unix_dialog_new
= reinterpret_cast<print_unix_dialog_new_t
>(m_aModule
.getFunctionSymbol("gtk_print_unix_dialog_new"));
81 m_print_unix_dialog_add_custom_tab
= reinterpret_cast<print_unix_dialog_add_custom_tab_t
>(m_aModule
.getFunctionSymbol("gtk_print_unix_dialog_add_custom_tab"));
82 m_print_unix_dialog_get_selected_printer
= reinterpret_cast<print_unix_dialog_get_selected_printer_t
>(m_aModule
.getFunctionSymbol("gtk_print_unix_dialog_get_selected_printer"));
83 m_print_unix_dialog_set_manual_capabilities
= reinterpret_cast<print_unix_dialog_set_manual_capabilities_t
>(m_aModule
.getFunctionSymbol("gtk_print_unix_dialog_set_manual_capabilities"));
84 m_print_unix_dialog_get_settings
= reinterpret_cast<print_unix_dialog_get_settings_t
>(m_aModule
.getFunctionSymbol("gtk_print_unix_dialog_get_settings"));
85 m_print_unix_dialog_set_settings
= reinterpret_cast<print_unix_dialog_set_settings_t
>(m_aModule
.getFunctionSymbol("gtk_print_unix_dialog_set_settings"));
86 m_print_unix_dialog_set_support_selection
= reinterpret_cast<print_unix_dialog_set_support_selection_t
>(m_aModule
.getFunctionSymbol("gtk_print_unix_dialog_set_support_selection"));
87 m_print_unix_dialog_set_has_selection
= reinterpret_cast<print_unix_dialog_set_has_selection_t
>(m_aModule
.getFunctionSymbol("gtk_print_unix_dialog_set_has_selection"));
92 bool GtkPrintWrapper::supportsPrinting() const
94 #if !GTK_CHECK_VERSION(3,0,0)
99 && m_print_job_set_source_file
100 && m_print_settings_get
101 && m_print_settings_get_collate
102 && m_print_settings_set_collate
103 && m_print_settings_get_n_copies
104 && m_print_settings_set_n_copies
105 && m_print_settings_get_page_ranges
106 && m_print_settings_set_print_pages
107 && m_print_unix_dialog_new
108 && m_print_unix_dialog_add_custom_tab
109 && m_print_unix_dialog_get_selected_printer
110 && m_print_unix_dialog_set_manual_capabilities
111 && m_print_unix_dialog_get_settings
112 && m_print_unix_dialog_set_settings
115 (void) this; // loplugin:staticmethods
120 bool GtkPrintWrapper::supportsPrintSelection() const
122 #if !GTK_CHECK_VERSION(3,0,0)
125 && m_print_unix_dialog_set_support_selection
126 && m_print_unix_dialog_set_has_selection
129 (void) this; // loplugin:staticmethods
134 GtkPageSetup
* GtkPrintWrapper::page_setup_new() const
136 #if !GTK_CHECK_VERSION(3,0,0)
137 assert(m_page_setup_new
);
138 return (*m_page_setup_new
)();
140 (void) this; // loplugin:staticmethods
141 return gtk_page_setup_new();
145 GtkPrintJob
* GtkPrintWrapper::print_job_new(const gchar
* title
, GtkPrinter
* printer
, GtkPrintSettings
* settings
, GtkPageSetup
* page_setup
) const
147 #if !GTK_CHECK_VERSION(3,0,0)
148 assert(m_print_job_new
);
149 return (*m_print_job_new
)(title
, printer
, settings
, page_setup
);
151 (void) this; // loplugin:staticmethods
152 return gtk_print_job_new(title
, printer
, settings
, page_setup
);
156 void GtkPrintWrapper::print_job_send(GtkPrintJob
* job
, GtkPrintJobCompleteFunc callback
, gpointer user_data
, GDestroyNotify dnotify
) const
158 #if !GTK_CHECK_VERSION(3,0,0)
159 assert(m_print_job_send
);
160 (*m_print_job_send
)(job
, callback
, user_data
, dnotify
);
162 (void) this; // loplugin:staticmethods
163 gtk_print_job_send(job
, callback
, user_data
, dnotify
);
167 gboolean
GtkPrintWrapper::print_job_set_source_file(GtkPrintJob
* job
, const gchar
* filename
, GError
** error
) const
169 #if !GTK_CHECK_VERSION(3,0,0)
170 assert(m_print_job_set_source_file
);
171 return (*m_print_job_set_source_file
)(job
, filename
, error
);
173 (void) this; // loplugin:staticmethods
174 return gtk_print_job_set_source_file(job
, filename
, error
);
178 const gchar
* GtkPrintWrapper::print_settings_get(GtkPrintSettings
* settings
, const gchar
* key
) const
180 #if !GTK_CHECK_VERSION(3,0,0)
181 assert(m_print_settings_get
);
182 return (*m_print_settings_get
)(settings
, key
);
184 (void) this; // loplugin:staticmethods
185 return gtk_print_settings_get(settings
, key
);
189 gboolean
GtkPrintWrapper::print_settings_get_collate(GtkPrintSettings
* settings
) const
191 #if !GTK_CHECK_VERSION(3,0,0)
192 assert(m_print_settings_get_collate
);
193 return (*m_print_settings_get_collate
)(settings
);
195 (void) this; // loplugin:staticmethods
196 return gtk_print_settings_get_collate(settings
);
200 void GtkPrintWrapper::print_settings_set_collate(GtkPrintSettings
* settings
, gboolean collate
) const
202 #if !GTK_CHECK_VERSION(3,0,0)
203 assert(m_print_settings_set_collate
);
204 (*m_print_settings_set_collate
)(settings
, collate
);
206 (void) this; // loplugin:staticmethods
207 gtk_print_settings_set_collate(settings
, collate
);
211 gint
GtkPrintWrapper::print_settings_get_n_copies(GtkPrintSettings
* settings
) const
213 #if !GTK_CHECK_VERSION(3,0,0)
214 assert(m_print_settings_get_n_copies
);
215 return (*m_print_settings_get_n_copies
)(settings
);
217 (void) this; // loplugin:staticmethods
218 return gtk_print_settings_get_n_copies(settings
);
222 void GtkPrintWrapper::print_settings_set_n_copies(GtkPrintSettings
* settings
, gint num_copies
) const
224 #if !GTK_CHECK_VERSION(3,0,0)
225 assert(m_print_settings_set_n_copies
);
226 (*m_print_settings_set_n_copies
)(settings
, num_copies
);
228 (void) this; // loplugin:staticmethods
229 gtk_print_settings_set_n_copies(settings
, num_copies
);
233 GtkPageRange
* GtkPrintWrapper::print_settings_get_page_ranges(GtkPrintSettings
* settings
, gint
* num_ranges
) const
235 #if !GTK_CHECK_VERSION(3,0,0)
236 assert(m_print_settings_get_page_ranges
);
237 return (*m_print_settings_get_page_ranges
)(settings
, num_ranges
);
239 (void) this; // loplugin:staticmethods
240 return gtk_print_settings_get_page_ranges(settings
, num_ranges
);
244 void GtkPrintWrapper::print_settings_set_print_pages(GtkPrintSettings
* settings
, GtkPrintPages pages
) const
246 #if !GTK_CHECK_VERSION(3,0,0)
247 assert(m_print_settings_set_print_pages
);
248 (*m_print_settings_set_print_pages
)(settings
, pages
);
250 (void) this; // loplugin:staticmethods
251 gtk_print_settings_set_print_pages(settings
, pages
);
255 GtkWidget
* GtkPrintWrapper::print_unix_dialog_new(const gchar
* title
, GtkWindow
* parent
) const
257 #if !GTK_CHECK_VERSION(3,0,0)
258 assert(m_print_unix_dialog_new
);
259 return (*m_print_unix_dialog_new
)(title
, parent
);
261 (void) this; // loplugin:staticmethods
262 return gtk_print_unix_dialog_new(title
, parent
);
266 void GtkPrintWrapper::print_unix_dialog_add_custom_tab(GtkPrintUnixDialog
* dialog
, GtkWidget
* child
, GtkWidget
* tab_label
) const
268 #if !GTK_CHECK_VERSION(3,0,0)
269 assert(m_print_unix_dialog_add_custom_tab
);
270 (*m_print_unix_dialog_add_custom_tab
)(dialog
, child
, tab_label
);
272 (void) this; // loplugin:staticmethods
273 gtk_print_unix_dialog_add_custom_tab(dialog
, child
, tab_label
);
277 GtkPrinter
* GtkPrintWrapper::print_unix_dialog_get_selected_printer(GtkPrintUnixDialog
* dialog
) const
279 #if !GTK_CHECK_VERSION(3,0,0)
280 assert(m_print_unix_dialog_get_selected_printer
);
281 return (*m_print_unix_dialog_get_selected_printer
)(dialog
);
283 (void) this; // loplugin:staticmethods
284 return gtk_print_unix_dialog_get_selected_printer(dialog
);
288 void GtkPrintWrapper::print_unix_dialog_set_manual_capabilities(GtkPrintUnixDialog
* dialog
, GtkPrintCapabilities capabilities
) const
290 #if !GTK_CHECK_VERSION(3,0,0)
291 assert(m_print_unix_dialog_set_manual_capabilities
);
292 (*m_print_unix_dialog_set_manual_capabilities
)(dialog
, capabilities
);
294 (void) this; // loplugin:staticmethods
295 gtk_print_unix_dialog_set_manual_capabilities(dialog
, capabilities
);
299 GtkPrintSettings
* GtkPrintWrapper::print_unix_dialog_get_settings(GtkPrintUnixDialog
* dialog
) const
301 #if !GTK_CHECK_VERSION(3,0,0)
302 assert(m_print_unix_dialog_get_settings
);
303 return (*m_print_unix_dialog_get_settings
)(dialog
);
305 (void) this; // loplugin:staticmethods
306 return gtk_print_unix_dialog_get_settings(dialog
);
310 void GtkPrintWrapper::print_unix_dialog_set_settings(GtkPrintUnixDialog
* dialog
, GtkPrintSettings
* settings
) const
312 #if !GTK_CHECK_VERSION(3,0,0)
313 assert(m_print_unix_dialog_set_settings
);
314 (*m_print_unix_dialog_set_settings
)(dialog
, settings
);
316 (void) this; // loplugin:staticmethods
317 gtk_print_unix_dialog_set_settings(dialog
, settings
);
321 void GtkPrintWrapper::print_unix_dialog_set_support_selection(GtkPrintUnixDialog
* dialog
, gboolean support_selection
) const
323 #if !GTK_CHECK_VERSION(3,0,0)
324 assert(m_print_unix_dialog_set_support_selection
);
325 (*m_print_unix_dialog_set_support_selection
)(dialog
, support_selection
);
327 (void) this; // loplugin:staticmethods
328 gtk_print_unix_dialog_set_support_selection(dialog
, support_selection
);
332 void GtkPrintWrapper::print_unix_dialog_set_has_selection(GtkPrintUnixDialog
* dialog
, gboolean has_selection
) const
334 #if !GTK_CHECK_VERSION(3,0,0)
335 assert(m_print_unix_dialog_set_has_selection
);
336 (*m_print_unix_dialog_set_has_selection
)(dialog
, has_selection
);
338 (void) this; // loplugin:staticmethods
339 gtk_print_unix_dialog_set_has_selection(dialog
, has_selection
);
346 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */