Back to Seed Clases







parent-child marker Gtk.PrintOperation

Class Gtk.PrintOperation

Import line: Gtk =;
GIR File: Gtk-3.0.gir
C documentation: GtkPrintOperation
Class : PrintOperation
Implements: Gtk.PrintOperationPreview
Extends: GObject.Object
GtkPrintOperation is the high-level, portable printing API.
It looks a bit different than other GTK+ dialogs such as the
GtkFileChooser, since some platforms don't expose enough
infrastructure to implement a good print dialog. On such
platforms, GtkPrintOperation uses the native print dialog.
On platforms which do not provide a native print dialog, GTK+
uses its own, see GtkPrintUnixDialog.
The typical way to use the high-level printing API is to create
a GtkPrintOperation object with gtk_print_operation_new() when
the user selects to print. Then you set some properties on it,
e.g. the page size, any GtkPrintSettings from previous print
operations, the number of pages, the current page, etc.
Then you start the print operation by calling gtk_print_operation_run().
It will then show a dialog, let the user select a printer and
options. When the user finished the dialog various signals will
be emitted on the GtkPrintOperation, the main one being
GtkPrintOperation::draw-page, which you are supposed to catch
and render the page on the provided GtkPrintContext using Cairo.

The high-level printing API

static GtkPrintSettings *settings = NULL;
static void
do_print (void)
GtkPrintOperation *print;
GtkPrintOperationResult res;
print = gtk_print_operation_new ();
if (settings != NULL)
gtk_print_operation_set_print_settings (print, settings);
g_signal_connect (print, "begin_print", G_CALLBACK (begin_print), NULL);
g_signal_connect (print, "draw_page", G_CALLBACK (draw_page), NULL);
res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
GTK_WINDOW (main_window), NULL);
if (settings != NULL)
g_object_unref (settings);
settings = g_object_ref (gtk_print_operation_get_print_settings (print));
g_object_unref (print);

By default GtkPrintOperation uses an external application to do
print preview. To implement a custom print preview, an application
must connect to the preview signal. The functions
gtk_print_operation_preview_end_preview() and
are useful when implementing a print preview.
Properties Defined By
Methods / Constructors
Method / Constructor Defined By
Events - usage syntax: this.signals.EVENTNAME.connect( Function )
Event Defined By
Used by These Methods / Signals / Properties
Class / Namespace Method / Signal / Properties
Prints the given WebKitWebFrame, using the given GtkPrintOperation
and GtkPrintOperationAction.
Documentation generated by Introspection Doc Generator Loosely Based on JsDoc Toolkit on Sat Apr 16 2011 17:13:30 GMT+0800 (HKT)