LCOV - code coverage report
Current view: top level - vcl/unx/gtk/gdi - gtkprintwrapper.cxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 0 99 0.0 %
Date: 2015-06-13 12:38:46 Functions: 0 24 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       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/.
       8             :  */
       9             : 
      10             : #include <cassert>
      11             : 
      12             : #include <rtl/ustring.hxx>
      13             : 
      14             : #include "gtkprintwrapper.hxx"
      15             : 
      16             : namespace vcl
      17             : {
      18             : namespace unx
      19             : {
      20             : 
      21             : #if !GTK_CHECK_VERSION(3,0,0)
      22             : 
      23           0 : GtkPrintWrapper::GtkPrintWrapper()
      24             :     : m_page_setup_new(0)
      25             :     , m_print_job_new(0)
      26             :     , m_print_job_send(0)
      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           0 :     , m_print_unix_dialog_set_has_selection(0)
      43             : {
      44           0 :     impl_load();
      45           0 : }
      46             : 
      47             : #else
      48             : 
      49             : GtkPrintWrapper::GtkPrintWrapper()
      50             : {
      51             : }
      52             : 
      53             : #endif
      54             : 
      55           0 : GtkPrintWrapper::~GtkPrintWrapper()
      56             : {
      57           0 : }
      58             : 
      59             : #if !GTK_CHECK_VERSION(3,0,0)
      60             : 
      61           0 : void GtkPrintWrapper::impl_load()
      62             : {
      63           0 :     m_aModule.load(OUString("libgtk-x11-2.0.so.0"));
      64           0 :     if (!m_aModule.is())
      65           0 :         m_aModule.load(OUString("libgtk-x11-2.0.so"));
      66           0 :     if (!m_aModule.is())
      67           0 :         return;
      68             : 
      69           0 :     m_page_setup_new = reinterpret_cast<page_setup_new_t>(m_aModule.getFunctionSymbol("gtk_page_setup_new"));
      70           0 :     m_print_job_new = reinterpret_cast<print_job_new_t>(m_aModule.getFunctionSymbol("gtk_print_job_new"));
      71           0 :     m_print_job_send = reinterpret_cast<print_job_send_t>(m_aModule.getFunctionSymbol("gtk_print_job_send"));
      72           0 :     m_print_job_set_source_file = reinterpret_cast<print_job_set_source_file_t>(m_aModule.getFunctionSymbol("gtk_print_job_set_source_file"));
      73           0 :     m_print_settings_get = reinterpret_cast<print_settings_get_t>(m_aModule.getFunctionSymbol("gtk_print_settings_get"));
      74           0 :     m_print_settings_get_collate = reinterpret_cast<print_settings_get_collate_t>(m_aModule.getFunctionSymbol("gtk_print_settings_get_collate"));
      75           0 :     m_print_settings_set_collate = reinterpret_cast<print_settings_set_collate_t>(m_aModule.getFunctionSymbol("gtk_print_settings_set_collate"));
      76           0 :     m_print_settings_get_n_copies = reinterpret_cast<print_settings_get_n_copies_t>(m_aModule.getFunctionSymbol("gtk_print_settings_get_n_copies"));
      77           0 :     m_print_settings_set_n_copies = reinterpret_cast<print_settings_set_n_copies_t>(m_aModule.getFunctionSymbol("gtk_print_settings_set_n_copies"));
      78           0 :     m_print_settings_get_page_ranges = reinterpret_cast<print_settings_get_page_ranges_t>(m_aModule.getFunctionSymbol("gtk_print_settings_get_page_ranges"));
      79           0 :     m_print_settings_set_print_pages = reinterpret_cast<print_settings_set_print_pages_t>(m_aModule.getFunctionSymbol("gtk_print_settings_set_print_pages"));
      80           0 :     m_print_unix_dialog_new = reinterpret_cast<print_unix_dialog_new_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_new"));
      81           0 :     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           0 :     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           0 :     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           0 :     m_print_unix_dialog_get_settings = reinterpret_cast<print_unix_dialog_get_settings_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_get_settings"));
      85           0 :     m_print_unix_dialog_set_settings = reinterpret_cast<print_unix_dialog_set_settings_t>(m_aModule.getFunctionSymbol("gtk_print_unix_dialog_set_settings"));
      86           0 :     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           0 :     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"));
      88             : }
      89             : 
      90             : #endif
      91             : 
      92           0 : bool GtkPrintWrapper::supportsPrinting() const
      93             : {
      94             : #if !GTK_CHECK_VERSION(3,0,0)
      95             :     return
      96             :         m_page_setup_new
      97           0 :         && m_print_job_new
      98           0 :         && m_print_job_send
      99           0 :         && m_print_job_set_source_file
     100           0 :         && m_print_settings_get
     101           0 :         && m_print_settings_get_collate
     102           0 :         && m_print_settings_set_collate
     103           0 :         && m_print_settings_get_n_copies
     104           0 :         && m_print_settings_set_n_copies
     105           0 :         && m_print_settings_get_page_ranges
     106           0 :         && m_print_settings_set_print_pages
     107           0 :         && m_print_unix_dialog_new
     108           0 :         && m_print_unix_dialog_add_custom_tab
     109           0 :         && m_print_unix_dialog_get_selected_printer
     110           0 :         && m_print_unix_dialog_set_manual_capabilities
     111           0 :         && m_print_unix_dialog_get_settings
     112           0 :         && m_print_unix_dialog_set_settings
     113             :         ;
     114             : #else
     115             :     (void) this; // loplugin:staticmethods
     116             :     return true;
     117             : #endif
     118             : }
     119             : 
     120           0 : bool GtkPrintWrapper::supportsPrintSelection() const
     121             : {
     122             : #if !GTK_CHECK_VERSION(3,0,0)
     123             :     return
     124           0 :         supportsPrinting()
     125           0 :         && m_print_unix_dialog_set_support_selection
     126           0 :         && m_print_unix_dialog_set_has_selection
     127             :         ;
     128             : #else
     129             :     (void) this; // loplugin:staticmethods
     130             :     return true;
     131             : #endif
     132             : }
     133             : 
     134           0 : GtkPageSetup* GtkPrintWrapper::page_setup_new() const
     135             : {
     136             : #if !GTK_CHECK_VERSION(3,0,0)
     137             :     assert(m_page_setup_new);
     138           0 :     return (*m_page_setup_new)();
     139             : #else
     140             :     (void) this; // loplugin:staticmethods
     141             :     return gtk_page_setup_new();
     142             : #endif
     143             : }
     144             : 
     145           0 : GtkPrintJob* GtkPrintWrapper::print_job_new(const gchar* title, GtkPrinter* printer, GtkPrintSettings* settings, GtkPageSetup* page_setup) const
     146             : {
     147             : #if !GTK_CHECK_VERSION(3,0,0)
     148             :     assert(m_print_job_new);
     149           0 :     return (*m_print_job_new)(title, printer, settings, page_setup);
     150             : #else
     151             :     (void) this; // loplugin:staticmethods
     152             :     return gtk_print_job_new(title, printer, settings, page_setup);
     153             : #endif
     154             : }
     155             : 
     156           0 : void GtkPrintWrapper::print_job_send(GtkPrintJob* job, GtkPrintJobCompleteFunc callback, gpointer user_data, GDestroyNotify dnotify) const
     157             : {
     158             : #if !GTK_CHECK_VERSION(3,0,0)
     159             :     assert(m_print_job_send);
     160           0 :     (*m_print_job_send)(job, callback, user_data, dnotify);
     161             : #else
     162             :     (void) this; // loplugin:staticmethods
     163             :     gtk_print_job_send(job, callback, user_data, dnotify);
     164             : #endif
     165           0 : }
     166             : 
     167           0 : gboolean GtkPrintWrapper::print_job_set_source_file(GtkPrintJob* job, const gchar* filename, GError** error) const
     168             : {
     169             : #if !GTK_CHECK_VERSION(3,0,0)
     170             :     assert(m_print_job_set_source_file);
     171           0 :     return (*m_print_job_set_source_file)(job, filename, error);
     172             : #else
     173             :     (void) this; // loplugin:staticmethods
     174             :     return gtk_print_job_set_source_file(job, filename, error);
     175             : #endif
     176             : }
     177             : 
     178           0 : const gchar* GtkPrintWrapper::print_settings_get(GtkPrintSettings* settings, const gchar* key) const
     179             : {
     180             : #if !GTK_CHECK_VERSION(3,0,0)
     181             :     assert(m_print_settings_get);
     182           0 :     return (*m_print_settings_get)(settings, key);
     183             : #else
     184             :     (void) this; // loplugin:staticmethods
     185             :     return gtk_print_settings_get(settings, key);
     186             : #endif
     187             : }
     188             : 
     189           0 : gboolean GtkPrintWrapper::print_settings_get_collate(GtkPrintSettings* settings) const
     190             : {
     191             : #if !GTK_CHECK_VERSION(3,0,0)
     192             :     assert(m_print_settings_get_collate);
     193           0 :     return (*m_print_settings_get_collate)(settings);
     194             : #else
     195             :     (void) this; // loplugin:staticmethods
     196             :     return gtk_print_settings_get_collate(settings);
     197             : #endif
     198             : }
     199             : 
     200           0 : void GtkPrintWrapper::print_settings_set_collate(GtkPrintSettings* settings, gboolean collate) const
     201             : {
     202             : #if !GTK_CHECK_VERSION(3,0,0)
     203             :     assert(m_print_settings_set_collate);
     204           0 :     (*m_print_settings_set_collate)(settings, collate);
     205             : #else
     206             :     (void) this; // loplugin:staticmethods
     207             :     gtk_print_settings_set_collate(settings, collate);
     208             : #endif
     209           0 : }
     210             : 
     211           0 : gint GtkPrintWrapper::print_settings_get_n_copies(GtkPrintSettings* settings) const
     212             : {
     213             : #if !GTK_CHECK_VERSION(3,0,0)
     214             :     assert(m_print_settings_get_n_copies);
     215           0 :     return (*m_print_settings_get_n_copies)(settings);
     216             : #else
     217             :     (void) this; // loplugin:staticmethods
     218             :     return gtk_print_settings_get_n_copies(settings);
     219             : #endif
     220             : }
     221             : 
     222           0 : void GtkPrintWrapper::print_settings_set_n_copies(GtkPrintSettings* settings, gint num_copies) const
     223             : {
     224             : #if !GTK_CHECK_VERSION(3,0,0)
     225             :     assert(m_print_settings_set_n_copies);
     226           0 :     (*m_print_settings_set_n_copies)(settings, num_copies);
     227             : #else
     228             :     (void) this; // loplugin:staticmethods
     229             :     gtk_print_settings_set_n_copies(settings, num_copies);
     230             : #endif
     231           0 : }
     232             : 
     233           0 : GtkPageRange* GtkPrintWrapper::print_settings_get_page_ranges(GtkPrintSettings* settings, gint* num_ranges) const
     234             : {
     235             : #if !GTK_CHECK_VERSION(3,0,0)
     236             :     assert(m_print_settings_get_page_ranges);
     237           0 :     return (*m_print_settings_get_page_ranges)(settings, num_ranges);
     238             : #else
     239             :     (void) this; // loplugin:staticmethods
     240             :     return gtk_print_settings_get_page_ranges(settings, num_ranges);
     241             : #endif
     242             : }
     243             : 
     244           0 : void GtkPrintWrapper::print_settings_set_print_pages(GtkPrintSettings* settings, GtkPrintPages pages) const
     245             : {
     246             : #if !GTK_CHECK_VERSION(3,0,0)
     247             :     assert(m_print_settings_set_print_pages);
     248           0 :     (*m_print_settings_set_print_pages)(settings, pages);
     249             : #else
     250             :     (void) this; // loplugin:staticmethods
     251             :     gtk_print_settings_set_print_pages(settings, pages);
     252             : #endif
     253           0 : }
     254             : 
     255           0 : GtkWidget* GtkPrintWrapper::print_unix_dialog_new(const gchar* title, GtkWindow* parent) const
     256             : {
     257             : #if !GTK_CHECK_VERSION(3,0,0)
     258             :     assert(m_print_unix_dialog_new);
     259           0 :     return (*m_print_unix_dialog_new)(title, parent);
     260             : #else
     261             :     (void) this; // loplugin:staticmethods
     262             :     return gtk_print_unix_dialog_new(title, parent);
     263             : #endif
     264             : }
     265             : 
     266           0 : void GtkPrintWrapper::print_unix_dialog_add_custom_tab(GtkPrintUnixDialog* dialog, GtkWidget* child, GtkWidget* tab_label) const
     267             : {
     268             : #if !GTK_CHECK_VERSION(3,0,0)
     269             :     assert(m_print_unix_dialog_add_custom_tab);
     270           0 :     (*m_print_unix_dialog_add_custom_tab)(dialog, child, tab_label);
     271             : #else
     272             :     (void) this; // loplugin:staticmethods
     273             :     gtk_print_unix_dialog_add_custom_tab(dialog, child, tab_label);
     274             : #endif
     275           0 : }
     276             : 
     277           0 : GtkPrinter* GtkPrintWrapper::print_unix_dialog_get_selected_printer(GtkPrintUnixDialog* dialog) const
     278             : {
     279             : #if !GTK_CHECK_VERSION(3,0,0)
     280             :     assert(m_print_unix_dialog_get_selected_printer);
     281           0 :     return (*m_print_unix_dialog_get_selected_printer)(dialog);
     282             : #else
     283             :     (void) this; // loplugin:staticmethods
     284             :     return gtk_print_unix_dialog_get_selected_printer(dialog);
     285             : #endif
     286             : }
     287             : 
     288           0 : void GtkPrintWrapper::print_unix_dialog_set_manual_capabilities(GtkPrintUnixDialog* dialog, GtkPrintCapabilities capabilities) const
     289             : {
     290             : #if !GTK_CHECK_VERSION(3,0,0)
     291             :     assert(m_print_unix_dialog_set_manual_capabilities);
     292           0 :     (*m_print_unix_dialog_set_manual_capabilities)(dialog, capabilities);
     293             : #else
     294             :     (void) this; // loplugin:staticmethods
     295             :     gtk_print_unix_dialog_set_manual_capabilities(dialog, capabilities);
     296             : #endif
     297           0 : }
     298             : 
     299           0 : GtkPrintSettings* GtkPrintWrapper::print_unix_dialog_get_settings(GtkPrintUnixDialog* dialog) const
     300             : {
     301             : #if !GTK_CHECK_VERSION(3,0,0)
     302             :     assert(m_print_unix_dialog_get_settings);
     303           0 :     return (*m_print_unix_dialog_get_settings)(dialog);
     304             : #else
     305             :     (void) this; // loplugin:staticmethods
     306             :     return gtk_print_unix_dialog_get_settings(dialog);
     307             : #endif
     308             : }
     309             : 
     310           0 : void GtkPrintWrapper::print_unix_dialog_set_settings(GtkPrintUnixDialog* dialog, GtkPrintSettings* settings) const
     311             : {
     312             : #if !GTK_CHECK_VERSION(3,0,0)
     313             :     assert(m_print_unix_dialog_set_settings);
     314           0 :     (*m_print_unix_dialog_set_settings)(dialog, settings);
     315             : #else
     316             :     (void) this; // loplugin:staticmethods
     317             :     gtk_print_unix_dialog_set_settings(dialog, settings);
     318             : #endif
     319           0 : }
     320             : 
     321           0 : void GtkPrintWrapper::print_unix_dialog_set_support_selection(GtkPrintUnixDialog* dialog, gboolean support_selection) const
     322             : {
     323             : #if !GTK_CHECK_VERSION(3,0,0)
     324             :     assert(m_print_unix_dialog_set_support_selection);
     325           0 :     (*m_print_unix_dialog_set_support_selection)(dialog, support_selection);
     326             : #else
     327             :     (void) this; // loplugin:staticmethods
     328             :     gtk_print_unix_dialog_set_support_selection(dialog, support_selection);
     329             : #endif
     330           0 : }
     331             : 
     332           0 : void GtkPrintWrapper::print_unix_dialog_set_has_selection(GtkPrintUnixDialog* dialog, gboolean has_selection) const
     333             : {
     334             : #if !GTK_CHECK_VERSION(3,0,0)
     335             :     assert(m_print_unix_dialog_set_has_selection);
     336           0 :     (*m_print_unix_dialog_set_has_selection)(dialog, has_selection);
     337             : #else
     338             :     (void) this; // loplugin:staticmethods
     339             :     gtk_print_unix_dialog_set_has_selection(dialog, has_selection);
     340             : #endif
     341           0 : }
     342             : 
     343             : }
     344             : }
     345             : 
     346             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11