| GTK+ Reference Manual | ||||
|---|---|---|---|---|
#include <gtk/gtkprintunixdialog.h>
GtkPrintUnixDialog;
GtkWidget* gtk_print_unix_dialog_new (const gchar *title,
GtkWindow *parent);
void gtk_print_unix_dialog_set_page_setup
(GtkPrintUnixDialog *dialog,
GtkPageSetup *page_setup);
GtkPageSetup* gtk_print_unix_dialog_get_page_setup
(GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_set_current_page
(GtkPrintUnixDialog *dialog,
gint current_page);
gint gtk_print_unix_dialog_get_current_page
(GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_set_settings (GtkPrintUnixDialog *dialog,
GtkPrintSettings *settings);
GtkPrintSettings* gtk_print_unix_dialog_get_settings (GtkPrintUnixDialog *dialog);
GtkPrinter* gtk_print_unix_dialog_get_selected_printer
(GtkPrintUnixDialog *dialog);
void gtk_print_unix_dialog_add_custom_tab
(GtkPrintUnixDialog *dialog,
GtkWidget *child,
GtkWidget *tab_label);
enum GtkPrintCapabilities;
void gtk_print_unix_dialog_set_manual_capabilities
(GtkPrintUnixDialog *dialog,
GtkPrintCapabilities capabilities);
GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkBin +----GtkWindow +----GtkDialog +----GtkPrintUnixDialog
"current-page" gint : Read / Write "page-setup" GtkPageSetup* : Read / Write "print-settings" GtkPrintSettings* : Read / Write "selected-printer" GtkPrinter* : Read
GtkPrintUnixDialog implements a print dialog for platforms which don't provide a native print dialog, like Unix. It can be used very much like any other GTK+ dialog, at the cost of the portability offered by the high-level printing API
In order to print something with GtkPrintUnixDialog, you need
to use gtk_print_unix_dialog_get_selected_printer() to obtain
a GtkPrinter object and use it to construct a GtkPrintJob using
gtk_print_job_new().
GtkPrintUnixDialog uses the following response values:
for the "Print" button |
|
for the "Preview" button |
|
for the "Cancel" button |
Printing support was added in GTK+ 2.10.
The GtkPrintUnixDialog implementation of the GtkBuildable interface exposes its
notebook internal children with the name "notebook".
Example 44. A GtkPrintUnixDialog UI definition fragment.
<object class="GtkPrintUnixDialog" id="dialog1">
<child internal-child="notebook">
<object class="GtkNotebook" id="notebook">
<child>
<object class="GtkLabel" id="tabcontent">
<property name="label">Content on notebook tab</property>
</object>
</child>
<child type="tab">
<object class="GtkLabel" id="tablabel">
<property name="label">Tab label</property>
</object>
<packing>
<property name="tab_expand">False</property>
<property name="tab_fill">False</property>
</packing>
</child>
</object>
</child>
</object>
GtkWidget* gtk_print_unix_dialog_new (const gchar *title, GtkWindow *parent);
Creates a new GtkPrintUnixDialog.
|
Title of the dialog, or NULL
|
|
Transient parent of the dialog, or NULL
|
Returns : |
a new GtkPrintUnixDialog |
Since 2.10
void gtk_print_unix_dialog_set_page_setup
(GtkPrintUnixDialog *dialog,
GtkPageSetup *page_setup);
Sets the page setup of the GtkPrintUnixDialog.
|
a GtkPrintUnixDialog |
|
a GtkPageSetup |
Since 2.10
GtkPageSetup* gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog);
Gets the page setup that is used by the GtkPrintUnixDialog.
|
a GtkPrintUnixDialog |
Returns : |
the page setup of dialog.
|
Since 2.10
void gtk_print_unix_dialog_set_current_page
(GtkPrintUnixDialog *dialog,
gint current_page);
Sets the current page number. If current_page is not -1, this enables
the current page choice for the range of pages to print.
|
a GtkPrintUnixDialog |
|
the current page number. |
Since 2.10
gint gtk_print_unix_dialog_get_current_page (GtkPrintUnixDialog *dialog);
Gets the current page of the GtkPrintDialog.
|
a GtkPrintUnixDialog |
Returns : |
the current page of dialog
|
Since 2.10
void gtk_print_unix_dialog_set_settings (GtkPrintUnixDialog *dialog, GtkPrintSettings *settings);
Sets the GtkPrintSettings for the GtkPrintUnixDialog. Typically, this is used to restore saved print settings from a previous print operation before the print dialog is shown.
|
a GtkPrintUnixDialog |
|
a GtkPrintSettings, or NULL
|
Since 2.10
GtkPrintSettings* gtk_print_unix_dialog_get_settings (GtkPrintUnixDialog *dialog);
Gets a new GtkPrintSettings object that represents the current values in the print dialog. Note that this creates a new object, and you need to unref it if don't want to keep it.
|
a GtkPrintUnixDialog |
Returns : |
a new GtkPrintSettings object with the values from dialog
|
Since 2.10
GtkPrinter* gtk_print_unix_dialog_get_selected_printer (GtkPrintUnixDialog *dialog);
Gets the currently selected printer.
|
a GtkPrintUnixDialog |
Returns : |
the currently selected printer |
Since 2.10
void gtk_print_unix_dialog_add_custom_tab
(GtkPrintUnixDialog *dialog,
GtkWidget *child,
GtkWidget *tab_label);
Adds a custom tab to the print dialog.
|
a GtkPrintUnixDialog |
|
the widget to put in the custom tab |
|
the widget to use as tab label |
Since 2.10
typedef enum
{
GTK_PRINT_CAPABILITY_PAGE_SET = 1 << 0,
GTK_PRINT_CAPABILITY_COPIES = 1 << 1,
GTK_PRINT_CAPABILITY_COLLATE = 1 << 2,
GTK_PRINT_CAPABILITY_REVERSE = 1 << 3,
GTK_PRINT_CAPABILITY_SCALE = 1 << 4,
GTK_PRINT_CAPABILITY_GENERATE_PDF = 1 << 5,
GTK_PRINT_CAPABILITY_GENERATE_PS = 1 << 6,
GTK_PRINT_CAPABILITY_PREVIEW = 1 << 7,
GTK_PRINT_CAPABILITY_NUMBER_UP = 1 << 8
} GtkPrintCapabilities;
An enum for specifying which features the print dialog should offer.
If neither GTK_PRINT_CAPABILITY_GENERATE_PDF nor GTK_PRINT_CAPABILITY_GENERATE_PS is
specified, GTK+ assumes that all formats are supported.
| The program will send the document to the printer in PDF format | |
| The program will send the document to the printer in Postscript format | |
| Print dialog will offer printing multiple pages per sheet. Since 2.12 |
void gtk_print_unix_dialog_set_manual_capabilities
(GtkPrintUnixDialog *dialog,
GtkPrintCapabilities capabilities);
This lets you specify the printing capabilities your application supports. For instance, if you can handle scaling the output then you pass GTK_PRINT_CAPABILITY_SCALE. If you don't pass that, then the dialog will only let you select the scale if the printing system automatically handles scaling.
|
a GtkPrintUnixDialog |
|
the printing capabilities of your application |
Since 2.10
"current-page" property"current-page" gint : Read / Write
The current page in the document.
Allowed values: >= -1
Default value: -1
"print-settings" property"print-settings" GtkPrintSettings* : Read / Write
The GtkPrintSettings used for initializing the dialog.
"selected-printer" property"selected-printer" GtkPrinter* : Read
The GtkPrinter which is selected.