On this page
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