GtkPrintUnixDialog
GtkPrintUnixDialog — A print dialog
Functions
Properties
int | 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 |
Types and Values
struct | GtkPrintUnixDialog |
enum | GtkPrintCapabilities |
Object Hierarchy
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkWindow ╰── GtkDialog ╰── GtkPrintUnixDialog
Implemented Interfaces
GtkPrintUnixDialog implements AtkImplementorIface and GtkBuildable.
Includes
#include <gtk/gtkunixprint.h>
Description
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” buttonGTK_RESPONSE_APPLY
: for the “Preview” buttonGTK_RESPONSE_CANCEL
: for the “Cancel” button
Printing support was added in GTK+ 2.10.
GtkPrintUnixDialog as GtkBuildable
The GtkPrintUnixDialog implementation of the GtkBuildable interface exposes its notebook
internal children with the name “notebook”.
An example of 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>
CSS nodes
GtkPrintUnixDialog has a single CSS node with name printdialog.
Functions
gtk_print_unix_dialog_new ()
GtkWidget * gtk_print_unix_dialog_new (const gchar *title
,GtkWindow *parent
);
Creates a new GtkPrintUnixDialog.
Parameters
title | Title of the dialog, or | [allow-none] |
parent | Transient parent of the dialog, or | [allow-none] |
Returns
a new GtkPrintUnixDialog
Since: 2.10
gtk_print_unix_dialog_set_page_setup ()
void gtk_print_unix_dialog_set_page_setup (GtkPrintUnixDialog *dialog
,GtkPageSetup *page_setup
);
Sets the page setup of the GtkPrintUnixDialog.
Parameters
dialog | ||
page_setup |
Since: 2.10
gtk_print_unix_dialog_get_page_setup ()
GtkPageSetup *
gtk_print_unix_dialog_get_page_setup (GtkPrintUnixDialog *dialog
);
Gets the page setup that is used by the GtkPrintUnixDialog.
Parameters
dialog |
Returns
the page setup of dialog
.
[transfer none]
Since: 2.10
gtk_print_unix_dialog_set_current_page ()
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.
Parameters
dialog | ||
current_page | the current page number. |
Since: 2.10
gtk_print_unix_dialog_get_current_page ()
gint
gtk_print_unix_dialog_get_current_page
(GtkPrintUnixDialog *dialog
);
Gets the current page of the GtkPrintUnixDialog.
Parameters
dialog |
Returns
the current page of dialog
Since: 2.10
gtk_print_unix_dialog_set_settings ()
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.
Parameters
dialog | ||
settings | a GtkPrintSettings, or | [allow-none] |
Since: 2.10
gtk_print_unix_dialog_get_settings ()
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.
Parameters
dialog |
Returns
a new GtkPrintSettings object with the values from dialog
Since: 2.10
gtk_print_unix_dialog_get_selected_printer ()
GtkPrinter *
gtk_print_unix_dialog_get_selected_printer
(GtkPrintUnixDialog *dialog
);
Gets the currently selected printer.
Parameters
dialog |
Returns
the currently selected printer.
[transfer none]
Since: 2.10
gtk_print_unix_dialog_add_custom_tab ()
void gtk_print_unix_dialog_add_custom_tab (GtkPrintUnixDialog *dialog
,GtkWidget *child
,GtkWidget *tab_label
);
Adds a custom tab to the print dialog.
Parameters
dialog | ||
child | the widget to put in the custom tab | |
tab_label | the widget to use as tab label |
Since: 2.10
gtk_print_unix_dialog_set_support_selection ()
void gtk_print_unix_dialog_set_support_selection (GtkPrintUnixDialog *dialog
,gboolean support_selection
);
Sets whether the print dialog allows user to print a selection.
Parameters
dialog | ||
support_selection |
|
Since: 2.18
gtk_print_unix_dialog_get_support_selection ()
gboolean
gtk_print_unix_dialog_get_support_selection
(GtkPrintUnixDialog *dialog
);
Gets the value of “support-selection” property.
Parameters
dialog |
Returns
whether the application supports print of selection
Since: 2.18
gtk_print_unix_dialog_set_has_selection ()
void gtk_print_unix_dialog_set_has_selection (GtkPrintUnixDialog *dialog
,gboolean has_selection
);
Sets whether a selection exists.
Parameters
dialog | ||
has_selection |
|
Since: 2.18
gtk_print_unix_dialog_get_has_selection ()
gboolean
gtk_print_unix_dialog_get_has_selection
(GtkPrintUnixDialog *dialog
);
Gets the value of “has-selection” property.
Parameters
dialog |
Returns
whether there is a selection
Since: 2.18
gtk_print_unix_dialog_set_embed_page_setup ()
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.
Parameters
dialog | ||
embed | embed page setup selection |
Since: 2.18
gtk_print_unix_dialog_get_embed_page_setup ()
gboolean
gtk_print_unix_dialog_get_embed_page_setup
(GtkPrintUnixDialog *dialog
);
Gets the value of “embed-page-setup” property.
Parameters
dialog |
Returns
whether there is a selection
Since: 2.18
gtk_print_unix_dialog_get_page_setup_set ()
gboolean
gtk_print_unix_dialog_get_page_setup_set
(GtkPrintUnixDialog *dialog
);
Gets the page setup that is used by the GtkPrintUnixDialog.
Parameters
dialog |
Returns
whether a page setup was set by user.
Since: 2.18
gtk_print_unix_dialog_set_manual_capabilities ()
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.
Parameters
dialog | ||
capabilities | the printing capabilities of your application |
Since: 2.10
gtk_print_unix_dialog_get_manual_capabilities ()
GtkPrintCapabilities
gtk_print_unix_dialog_get_manual_capabilities
(GtkPrintUnixDialog *dialog
);
Gets the value of “manual-capabilities” property.
Parameters
dialog |
Returns
the printing capabilities
Since: 2.18
Types and Values
struct GtkPrintUnixDialog
struct GtkPrintUnixDialog;
enum 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.
Members
GTK_PRINT_CAPABILITY_PAGE_SET | Print dialog will offer printing even/odd pages. | |
GTK_PRINT_CAPABILITY_COPIES | Print dialog will allow to print multiple copies. | |
GTK_PRINT_CAPABILITY_COLLATE | Print dialog will allow to collate multiple copies. | |
GTK_PRINT_CAPABILITY_REVERSE | Print dialog will allow to print pages in reverse order. | |
GTK_PRINT_CAPABILITY_SCALE | Print dialog will allow to scale the output. | |
GTK_PRINT_CAPABILITY_GENERATE_PDF | The program will send the document to the printer in PDF format | |
GTK_PRINT_CAPABILITY_GENERATE_PS | The program will send the document to the printer in Postscript format | |
GTK_PRINT_CAPABILITY_PREVIEW | Print dialog will offer a preview | |
GTK_PRINT_CAPABILITY_NUMBER_UP | Print dialog will offer printing multiple pages per sheet. Since 2.12 | |
GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT | Print dialog will allow to rearrange pages when printing multiple pages per sheet. Since 2.14 |
Property Details
The “current-page”
property
“current-page” int
The current page in the document.
Owner: GtkPrintUnixDialog
Flags: Read / Write
Allowed values: >= -1
Default value: -1
The “embed-page-setup”
property
“embed-page-setup” gboolean
TRUE if page setup combos are embedded in GtkPrintUnixDialog.
Owner: GtkPrintUnixDialog
Flags: Read / Write
Default value: FALSE
The “has-selection”
property
“has-selection” gboolean
Whether the application has a selection.
Owner: GtkPrintUnixDialog
Flags: Read / Write
Default value: FALSE
The “manual-capabilities”
property
“manual-capabilities” GtkPrintCapabilities
Capabilities the application can handle.
Owner: GtkPrintUnixDialog
Flags: Read / Write
The “page-setup”
property
“page-setup” GtkPageSetup *
The GtkPageSetup to use.
Owner: GtkPrintUnixDialog
Flags: Read / Write
The “print-settings”
property
“print-settings” GtkPrintSettings *
The GtkPrintSettings used for initializing the dialog.
Owner: GtkPrintUnixDialog
Flags: Read / Write
The “selected-printer”
property
“selected-printer” GtkPrinter *
The GtkPrinter which is selected.
Owner: GtkPrintUnixDialog
Flags: Read
The “support-selection”
property
“support-selection” gboolean
Whether the dialog supports selection.
Owner: GtkPrintUnixDialog
Flags: Read / Write
Default value: FALSE
See Also
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkPrintUnixDialog.html