Top |
gint | current-page | Read / Write |
gboolean | embed-page-setup | Read / Write |
gboolean | has-selection | Read / Write |
GtkPrintCapabilities | manual-capabilities | Read / Write |
GtkPageSetup * | page-setup | Read / Write |
GtkPrintSettings * | print-settings | Read / Write |
GtkPrinter * | selected-printer | Read |
gboolean | support-selection | Read / Write |
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkWindow ╰── GtkDialog ╰── GtkPrintUnixDialog
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:
GTK_RESPONSE_OK
: for the “Print” button
GTK_RESPONSE_APPLY
: for the “Preview” button
GTK_RESPONSE_CANCEL
: 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”.
An example of a GtkPrintUnixDialog UI definition fragment:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<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.
Since: 2.10
void gtk_print_unix_dialog_set_page_setup (GtkPrintUnixDialog *dialog
,GtkPageSetup *page_setup
);
Sets the page setup of the GtkPrintUnixDialog.
Since: 2.10
GtkPageSetup *
gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog
);
Gets the page setup that is used by the GtkPrintUnixDialog.
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.
Since: 2.10
gint
gtk_print_unix_dialog_get_current_page
(GtkPrintUnixDialog *dialog
);
Gets the current page of the GtkPrintUnixDialog.
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.
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.
Since: 2.10
GtkPrinter *
gtk_print_unix_dialog_get_selected_printer
(GtkPrintUnixDialog *dialog
);
Gets 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.
dialog |
||
child |
the widget to put in the custom tab |
|
tab_label |
the widget to use as tab label |
Since: 2.10
void gtk_print_unix_dialog_set_support_selection (GtkPrintUnixDialog *dialog
,gboolean support_selection
);
Sets whether the print dialog allows user to print a selection.
Since: 2.18
gboolean
gtk_print_unix_dialog_get_support_selection
(GtkPrintUnixDialog *dialog
);
Gets the value of “support-selection” property.
Since: 2.18
void gtk_print_unix_dialog_set_has_selection (GtkPrintUnixDialog *dialog
,gboolean has_selection
);
Sets whether a selection exists.
Since: 2.18
gboolean
gtk_print_unix_dialog_get_has_selection
(GtkPrintUnixDialog *dialog
);
Gets the value of “has-selection” property.
Since: 2.18
void gtk_print_unix_dialog_set_embed_page_setup (GtkPrintUnixDialog *dialog
,gboolean embed
);
Embed page size combo box and orientation combo box into page setup page.
Since: 2.18
gboolean
gtk_print_unix_dialog_get_embed_page_setup
(GtkPrintUnixDialog *dialog
);
Gets the value of “embed-page-setup” property.
Since: 2.18
gboolean
gtk_print_unix_dialog_get_page_setup_set
(GtkPrintUnixDialog *dialog
);
Gets the page setup that is used by the GtkPrintUnixDialog.
Since: 2.18
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.
Since: 2.10
GtkPrintCapabilities
gtk_print_unix_dialog_get_manual_capabilities
(GtkPrintUnixDialog *dialog
);
Gets the value of “manual-capabilities” property.
Since: 2.18
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.
Print dialog will offer printing even/odd pages. |
||
Print dialog will allow to print multiple copies. |
||
Print dialog will allow to collate multiple copies. |
||
Print dialog will allow to print pages in reverse order. |
||
Print dialog will allow to scale the output. |
||
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 a preview |
||
Print dialog will offer printing multiple pages per sheet. Since 2.12 |
||
Print dialog will allow to rearrange pages when printing multiple pages per sheet. Since 2.14 |
“current-page”
property“current-page” gint
The current page in the document.
Flags: Read / Write
Allowed values: >= -1
Default value: -1
“embed-page-setup”
property“embed-page-setup” gboolean
TRUE if page setup combos are embedded in GtkPrintUnixDialog.
Flags: Read / Write
Default value: FALSE
“has-selection”
property“has-selection” gboolean
Whether the application has a selection.
Flags: Read / Write
Default value: FALSE
“manual-capabilities”
property“manual-capabilities” GtkPrintCapabilities
Capabilities the application can handle.
Flags: Read / Write
“print-settings”
property“print-settings” GtkPrintSettings *
The GtkPrintSettings used for initializing the dialog.
Flags: Read / Write
“selected-printer”
property“selected-printer” GtkPrinter *
The GtkPrinter which is selected.
Flags: Read
“support-selection”
property“support-selection” gboolean
Whether the dialog supports selection.
Flags: Read / Write
Default value: FALSE