1 // Generated by gtkmmproc -- DO NOT MODIFY!
4 #include <gtkmm/printsettings.h>
5 #include <gtkmm/private/printsettings_p.h>
7 /* Copyright (C) 2006 The gtkmm Development Team
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public
11 * License as published by the Free Software Foundation; either
12 * version 2 of the License, or (at your option) any later version.
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Library General Public License for more details.
19 * You should have received a copy of the GNU Library General Public
20 * License along with this library; if not, write to the Free
21 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 #include <gtk/gtkprintsettings.h>
25 #include <gtk/gtktypebuiltins.h>
29 #include <glib/gmem.h>
31 namespace // anonymous
34 static void proxy_foreach_callback(const gchar* key, const gchar* value, void* data)
36 typedef Gtk::PrintSettings::SlotForeach SlotType;
37 SlotType& slot = *static_cast<SlotType*>(data);
39 #ifdef GLIBMM_EXCEPTIONS_ENABLED
42 #endif //GLIBMM_EXCEPTIONS_ENABLED
43 slot(Glib::convert_const_gchar_ptr_to_ustring(key), Glib::convert_const_gchar_ptr_to_ustring(value));
44 #ifdef GLIBMM_EXCEPTIONS_ENABLED
48 Glib::exception_handlers_invoke();
50 #endif //GLIBMM_EXCEPTIONS_ENABLED
53 } // anonymous namespace
58 //Initialize static members:
59 const Glib::ustring PrintSettings::Keys::PRINTER = GTK_PRINT_SETTINGS_PRINTER;
60 const Glib::ustring PrintSettings::Keys::ORIENTATION = GTK_PRINT_SETTINGS_ORIENTATION;
61 const Glib::ustring PrintSettings::Keys::PAPER_FORMAT = GTK_PRINT_SETTINGS_PAPER_FORMAT;
62 const Glib::ustring PrintSettings::Keys::PAPER_WIDTH = GTK_PRINT_SETTINGS_PAPER_WIDTH;
63 const Glib::ustring PrintSettings::Keys::PAPER_HEIGHT = GTK_PRINT_SETTINGS_PAPER_HEIGHT;
64 const Glib::ustring PrintSettings::Keys::NUM_COPIES = GTK_PRINT_SETTINGS_N_COPIES;
65 const Glib::ustring PrintSettings::Keys::DEFAULT_SOURCE = GTK_PRINT_SETTINGS_DEFAULT_SOURCE;
66 const Glib::ustring PrintSettings::Keys::QUALITY = GTK_PRINT_SETTINGS_QUALITY;
67 const Glib::ustring PrintSettings::Keys::RESOLUTION = GTK_PRINT_SETTINGS_RESOLUTION;
68 const Glib::ustring PrintSettings::Keys::USE_COLOR = GTK_PRINT_SETTINGS_USE_COLOR;
69 const Glib::ustring PrintSettings::Keys::DUPLEX = GTK_PRINT_SETTINGS_DUPLEX;
70 const Glib::ustring PrintSettings::Keys::COLLATE = GTK_PRINT_SETTINGS_COLLATE;
71 const Glib::ustring PrintSettings::Keys::REVERSE = GTK_PRINT_SETTINGS_REVERSE;
72 const Glib::ustring PrintSettings::Keys::MEDIA_TYPE = GTK_PRINT_SETTINGS_MEDIA_TYPE;
73 const Glib::ustring PrintSettings::Keys::DITHER = GTK_PRINT_SETTINGS_DITHER;
74 const Glib::ustring PrintSettings::Keys::SCALE = GTK_PRINT_SETTINGS_SCALE;
75 const Glib::ustring PrintSettings::Keys::PRINT_PAGES = GTK_PRINT_SETTINGS_PRINT_PAGES;
76 const Glib::ustring PrintSettings::Keys::PAGE_RANGES = GTK_PRINT_SETTINGS_PAGE_RANGES;
77 const Glib::ustring PrintSettings::Keys::PAGE_SET = GTK_PRINT_SETTINGS_PAGE_SET;
78 const Glib::ustring PrintSettings::Keys::FINISHINGS = GTK_PRINT_SETTINGS_FINISHINGS;
79 const Glib::ustring PrintSettings::Keys::NUMBER_UP = GTK_PRINT_SETTINGS_NUMBER_UP;
80 const Glib::ustring PrintSettings::Keys::OUTPUT_BIN = GTK_PRINT_SETTINGS_OUTPUT_BIN;
82 const Glib::ustring PrintSettings::Keys::OUTPUT_FILE_FORMAT = GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT;
83 const Glib::ustring PrintSettings::Keys::OUTPUT_URI = GTK_PRINT_SETTINGS_OUTPUT_URI;
85 const Glib::ustring PrintSettings::Keys::WIN32_DRIVER_VERSION = GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION;
86 const Glib::ustring PrintSettings::Keys::WIN32_DRIVER_EXTRA = GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA;
89 void PrintSettings::setting_foreach(const SlotForeach& slot)
91 SlotForeach slot_copy(slot);
92 gtk_print_settings_foreach(const_cast<GtkPrintSettings*>(gobj()), &proxy_foreach_callback, &slot_copy);
95 PrintSettings::PageRange::PageRange()
101 PrintSettings::PageRange::PageRange(int start_, int end_)
107 Glib::ArrayHandle<PrintSettings::PageRange> PrintSettings::get_page_ranges() const
110 GtkPageRange* page_ranges =
111 gtk_print_settings_get_page_ranges(const_cast<GtkPrintSettings*>(gobj()), &num_ranges);
112 std::vector<PrintSettings::PageRange> v(num_ranges);
114 for (int i = 0; i < num_ranges; ++i)
116 v.push_back(PrintSettings::PageRange(page_ranges[i].start, page_ranges[i].end));
121 Glib::ArrayHandle<PrintSettings::PageRange> ah(v);
126 void PrintSettings::set_page_ranges(const Glib::ArrayHandle<PrintSettings::PageRange>& page_ranges)
128 int n = page_ranges.size();
129 GtkPageRange* ranges = g_new0(GtkPageRange, n);
130 std::vector<PrintSettings::PageRange> v_ranges(page_ranges);
132 for (int i = 0; i < n; ++i)
134 ranges[i].start = v_ranges[i].start;
135 ranges[i].end = v_ranges[i].end;
138 gtk_print_settings_set_page_ranges(const_cast<GtkPrintSettings*>(gobj()), ranges, n);
142 void PrintSettings::save_to_key_file(Glib::KeyFile& key_file)
144 gtk_print_settings_to_key_file(gobj(), (key_file).gobj(), 0);
151 } // anonymous namespace
154 GType Glib::Value<Gtk::PrintDuplex>::value_type()
156 return gtk_print_duplex_get_type();
160 GType Glib::Value<Gtk::PrintQuality>::value_type()
162 return gtk_print_quality_get_type();
166 GType Glib::Value<Gtk::PrintPages>::value_type()
168 return gtk_print_pages_get_type();
172 GType Glib::Value<Gtk::PageSet>::value_type()
174 return gtk_page_set_get_type();
181 Glib::RefPtr<Gtk::PrintSettings> wrap(GtkPrintSettings* object, bool take_copy)
183 return Glib::RefPtr<Gtk::PrintSettings>( dynamic_cast<Gtk::PrintSettings*> (Glib::wrap_auto ((GObject*)(object), take_copy)) );
184 //We use dynamic_cast<> in case of multiple inheritance.
187 } /* namespace Glib */
194 /* The *_Class implementation: */
196 const Glib::Class& PrintSettings_Class::init()
198 if(!gtype_) // create the GType if necessary
200 // Glib::Class has to know the class init function to clone custom types.
201 class_init_func_ = &PrintSettings_Class::class_init_function;
203 // This is actually just optimized away, apparently with no harm.
204 // Make sure that the parent type has been created.
205 //CppClassParent::CppObjectType::get_type();
207 // Create the wrapper type, with the same class/instance size as the base type.
208 register_derived_type(gtk_print_settings_get_type());
210 // Add derived versions of interfaces, if the C type implements any interfaces:
216 void PrintSettings_Class::class_init_function(void* g_class, void* class_data)
218 BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
219 CppClassParent::class_init_function(klass, class_data);
221 #ifdef GLIBMM_VFUNCS_ENABLED
222 #endif //GLIBMM_VFUNCS_ENABLED
224 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
225 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
228 #ifdef GLIBMM_VFUNCS_ENABLED
229 #endif //GLIBMM_VFUNCS_ENABLED
231 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
232 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
235 Glib::ObjectBase* PrintSettings_Class::wrap_new(GObject* object)
237 return new PrintSettings((GtkPrintSettings*)object);
241 /* The implementation: */
243 GtkPrintSettings* PrintSettings::gobj_copy()
249 PrintSettings::PrintSettings(const Glib::ConstructParams& construct_params)
251 Glib::Object(construct_params)
254 PrintSettings::PrintSettings(GtkPrintSettings* castitem)
256 Glib::Object((GObject*)(castitem))
259 PrintSettings::~PrintSettings()
263 PrintSettings::CppClassType PrintSettings::printsettings_class_; // initialize static member
265 GType PrintSettings::get_type()
267 return printsettings_class_.init().get_type();
270 GType PrintSettings::get_base_type()
272 return gtk_print_settings_get_type();
276 PrintSettings::PrintSettings()
278 // Mark this class as non-derived to allow C++ vfuncs to be skipped.
280 Glib::Object(Glib::ConstructParams(printsettings_class_.init()))
284 Glib::RefPtr<PrintSettings> PrintSettings::create()
286 return Glib::RefPtr<PrintSettings>( new PrintSettings() );
288 #ifdef GLIBMM_EXCEPTIONS_ENABLED
289 bool PrintSettings::save_to_file(const std::string& file_name) const
291 bool PrintSettings::save_to_file(const std::string& file_name, std::auto_ptr<Glib::Error>& error) const
292 #endif //GLIBMM_EXCEPTIONS_ENABLED
295 bool retvalue = gtk_print_settings_to_file(const_cast<GtkPrintSettings*>(gobj()), file_name.c_str(), &(gerror));
296 #ifdef GLIBMM_EXCEPTIONS_ENABLED
298 ::Glib::Error::throw_exception(gerror);
301 error = ::Glib::Error::throw_exception(gerror);
302 #endif //GLIBMM_EXCEPTIONS_ENABLED
308 void PrintSettings::save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name) const
310 gtk_print_settings_to_key_file(const_cast<GtkPrintSettings*>(gobj()), (key_file).gobj(), group_name.c_str());
313 bool PrintSettings::has_key(const Glib::ustring& key) const
315 return gtk_print_settings_has_key(const_cast<GtkPrintSettings*>(gobj()), key.c_str());
318 Glib::ustring PrintSettings::get(const Glib::ustring& key) const
320 return Glib::convert_const_gchar_ptr_to_ustring(gtk_print_settings_get(const_cast<GtkPrintSettings*>(gobj()), key.c_str()));
323 void PrintSettings::set(const Glib::ustring& key, const Glib::ustring& value)
325 gtk_print_settings_set(gobj(), key.c_str(), value.c_str());
328 void PrintSettings::unset(const Glib::ustring& key)
330 gtk_print_settings_unset(gobj(), key.c_str());
333 bool PrintSettings::get_bool(const Glib::ustring& key) const
335 return gtk_print_settings_get_bool(const_cast<GtkPrintSettings*>(gobj()), key.c_str());
338 void PrintSettings::set_bool(const Glib::ustring& key, bool value)
340 gtk_print_settings_set_bool(gobj(), key.c_str(), static_cast<int>(value));
343 double PrintSettings::get_double(const Glib::ustring& key) const
345 return gtk_print_settings_get_double(const_cast<GtkPrintSettings*>(gobj()), key.c_str());
348 double PrintSettings::get_double_with_default(const Glib::ustring& key, double def) const
350 return gtk_print_settings_get_double_with_default(const_cast<GtkPrintSettings*>(gobj()), key.c_str(), def);
353 void PrintSettings::set_double(const Glib::ustring& key, double value)
355 gtk_print_settings_set_double(gobj(), key.c_str(), value);
358 double PrintSettings::get_length(const Glib::ustring& key, Unit unit) const
360 return gtk_print_settings_get_length(const_cast<GtkPrintSettings*>(gobj()), key.c_str(), ((GtkUnit)(unit)));
363 void PrintSettings::set_length(const Glib::ustring& key, double value, Unit unit)
365 gtk_print_settings_set_length(gobj(), key.c_str(), value, ((GtkUnit)(unit)));
368 int PrintSettings::get_int(const Glib::ustring& key) const
370 return gtk_print_settings_get_int(const_cast<GtkPrintSettings*>(gobj()), key.c_str());
373 int PrintSettings::get_int_with_default(const Glib::ustring& key, int def) const
375 return gtk_print_settings_get_int_with_default(const_cast<GtkPrintSettings*>(gobj()), key.c_str(), def);
378 void PrintSettings::set_int(const Glib::ustring& key, int value)
380 gtk_print_settings_set_int(gobj(), key.c_str(), value);
383 Glib::ustring PrintSettings::get_printer() const
385 return Glib::convert_const_gchar_ptr_to_ustring(gtk_print_settings_get_printer(const_cast<GtkPrintSettings*>(gobj())));
388 void PrintSettings::set_printer(const Glib::ustring& name)
390 gtk_print_settings_set_printer(gobj(), name.c_str());
393 PageOrientation PrintSettings::get_orientation() const
395 return (PageOrientation)gtk_print_settings_get_orientation(const_cast<GtkPrintSettings*>(gobj()));
398 void PrintSettings::set_orientation(PageOrientation orientation)
400 gtk_print_settings_set_orientation(gobj(), ((GtkPageOrientation)(orientation)));
403 PaperSize PrintSettings::get_paper_size()
405 return Glib::wrap(gtk_print_settings_get_paper_size(gobj()), true);
408 const PaperSize PrintSettings::get_paper_size() const
410 return const_cast<PrintSettings*>(this)->get_paper_size();
413 void PrintSettings::set_paper_size(const PaperSize& paper_size)
415 gtk_print_settings_set_paper_size(gobj(), const_cast<GtkPaperSize*>((paper_size).gobj()));
418 double PrintSettings::get_paper_width(Unit unit) const
420 return gtk_print_settings_get_paper_width(const_cast<GtkPrintSettings*>(gobj()), ((GtkUnit)(unit)));
423 void PrintSettings::set_paper_width(double width, Unit unit)
425 gtk_print_settings_set_paper_width(gobj(), width, ((GtkUnit)(unit)));
428 double PrintSettings::get_paper_height(Unit unit) const
430 return gtk_print_settings_get_paper_height(const_cast<GtkPrintSettings*>(gobj()), ((GtkUnit)(unit)));
433 void PrintSettings::set_paper_height(double height, Unit unit)
435 gtk_print_settings_set_paper_height(gobj(), height, ((GtkUnit)(unit)));
438 bool PrintSettings::get_use_color() const
440 return gtk_print_settings_get_use_color(const_cast<GtkPrintSettings*>(gobj()));
443 void PrintSettings::set_use_color(bool use_color)
445 gtk_print_settings_set_use_color(gobj(), static_cast<int>(use_color));
448 bool PrintSettings::get_collate() const
450 return gtk_print_settings_get_collate(const_cast<GtkPrintSettings*>(gobj()));
453 void PrintSettings::set_collate(bool collate)
455 gtk_print_settings_set_collate(gobj(), static_cast<int>(collate));
458 bool PrintSettings::get_reverse() const
460 return gtk_print_settings_get_reverse(const_cast<GtkPrintSettings*>(gobj()));
463 void PrintSettings::set_reverse(bool reverse)
465 gtk_print_settings_set_reverse(gobj(), static_cast<int>(reverse));
468 PrintDuplex PrintSettings::get_duplex() const
470 return (PrintDuplex)gtk_print_settings_get_duplex(const_cast<GtkPrintSettings*>(gobj()));
473 void PrintSettings::set_duplex(PrintDuplex duplex)
475 gtk_print_settings_set_duplex(gobj(), ((GtkPrintDuplex)(duplex)));
478 PrintQuality PrintSettings::get_quality() const
480 return (PrintQuality)gtk_print_settings_get_quality(const_cast<GtkPrintSettings*>(gobj()));
483 void PrintSettings::set_quality(PrintQuality quality)
485 gtk_print_settings_set_quality(gobj(), ((GtkPrintQuality)(quality)));
488 int PrintSettings::get_n_copies() const
490 return gtk_print_settings_get_n_copies(const_cast<GtkPrintSettings*>(gobj()));
493 void PrintSettings::set_n_copies(int num_copies)
495 gtk_print_settings_set_n_copies(gobj(), num_copies);
498 int PrintSettings::get_number_up() const
500 return gtk_print_settings_get_number_up(const_cast<GtkPrintSettings*>(gobj()));
503 void PrintSettings::set_number_up(int number_up)
505 gtk_print_settings_set_number_up(gobj(), number_up);
508 int PrintSettings::get_resolution() const
510 return gtk_print_settings_get_resolution(const_cast<GtkPrintSettings*>(gobj()));
513 void PrintSettings::set_resolution(int resolution)
515 gtk_print_settings_set_resolution(gobj(), resolution);
518 double PrintSettings::get_scale() const
520 return gtk_print_settings_get_scale(const_cast<GtkPrintSettings*>(gobj()));
523 void PrintSettings::set_scale(double scale)
525 gtk_print_settings_set_scale(gobj(), scale);
528 PrintPages PrintSettings::get_print_pages() const
530 return (PrintPages)gtk_print_settings_get_print_pages(const_cast<GtkPrintSettings*>(gobj()));
533 void PrintSettings::set_print_pages(PrintPages print_pages)
535 gtk_print_settings_set_print_pages(gobj(), ((GtkPrintPages)(print_pages)));
538 PageSet PrintSettings::get_page_set() const
540 return (PageSet)gtk_print_settings_get_page_set(const_cast<GtkPrintSettings*>(gobj()));
543 void PrintSettings::set_page_set(PageSet page_set)
545 gtk_print_settings_set_page_set(gobj(), ((GtkPageSet)(page_set)));
548 Glib::ustring PrintSettings::get_default_source() const
550 return Glib::convert_const_gchar_ptr_to_ustring(gtk_print_settings_get_default_source(const_cast<GtkPrintSettings*>(gobj())));
553 void PrintSettings::set_default_source(const Glib::ustring& default_source)
555 gtk_print_settings_set_default_source(gobj(), default_source.c_str());
558 Glib::ustring PrintSettings::get_media_type() const
560 return Glib::convert_const_gchar_ptr_to_ustring(gtk_print_settings_get_media_type(const_cast<GtkPrintSettings*>(gobj())));
563 void PrintSettings::set_media_type(const Glib::ustring& media_type)
565 gtk_print_settings_set_media_type(gobj(), media_type.c_str());
568 Glib::ustring PrintSettings::get_dither() const
570 return Glib::convert_const_gchar_ptr_to_ustring(gtk_print_settings_get_dither(const_cast<GtkPrintSettings*>(gobj())));
573 void PrintSettings::set_dither(const Glib::ustring& dither)
575 gtk_print_settings_set_dither(gobj(), dither.c_str());
578 Glib::ustring PrintSettings::get_finishings() const
580 return Glib::convert_const_gchar_ptr_to_ustring(gtk_print_settings_get_finishings(const_cast<GtkPrintSettings*>(gobj())));
583 void PrintSettings::set_finishings(const Glib::ustring& finishings)
585 gtk_print_settings_set_finishings(gobj(), finishings.c_str());
588 Glib::ustring PrintSettings::get_output_bin() const
590 return Glib::convert_const_gchar_ptr_to_ustring(gtk_print_settings_get_output_bin(const_cast<GtkPrintSettings*>(gobj())));
593 void PrintSettings::set_output_bin(const Glib::ustring& output_bin)
595 gtk_print_settings_set_output_bin(gobj(), output_bin.c_str());
599 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
600 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
602 #ifdef GLIBMM_VFUNCS_ENABLED
603 #endif //GLIBMM_VFUNCS_ENABLED