<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<!--ENTITY index-Objects-Grouped SYSTEM "objects_grouped.sgml"-->
<refentry id="GtkPrintUnixDialog">
<refmeta>
<refentrytitle role="top_of_page" id="GtkPrintUnixDialog.top_of_page">GtkPrintUnixDialog</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>GtkPrintUnixDialog</refname>
<refpurpose>A print dialog</refpurpose>
</refnamediv>

<refsynopsisdiv id="GtkPrintUnixDialog.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>

#include &lt;gtk/gtkprintunixdialog.h&gt;

                    <link linkend="GtkPrintUnixDialog-struct">GtkPrintUnixDialog</link>;
<link linkend="GtkWidget">GtkWidget</link> *         <link linkend="gtk-print-unix-dialog-new">gtk_print_unix_dialog_new</link>           (const <link linkend="gchar">gchar</link> *title,
                                                         <link linkend="GtkWindow">GtkWindow</link> *parent);
<link linkend="void">void</link>                <link linkend="gtk-print-unix-dialog-set-page-setup">gtk_print_unix_dialog_set_page_setup</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="GtkPageSetup">GtkPageSetup</link> *page_setup);
<link linkend="GtkPageSetup">GtkPageSetup</link> *      <link linkend="gtk-print-unix-dialog-get-page-setup">gtk_print_unix_dialog_get_page_setup</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);
<link linkend="void">void</link>                <link linkend="gtk-print-unix-dialog-set-current-page">gtk_print_unix_dialog_set_current_page</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="gint">gint</link> current_page);
<link linkend="gint">gint</link>                <link linkend="gtk-print-unix-dialog-get-current-page">gtk_print_unix_dialog_get_current_page</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);
<link linkend="void">void</link>                <link linkend="gtk-print-unix-dialog-set-settings">gtk_print_unix_dialog_set_settings</link>  (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="GtkPrintSettings">GtkPrintSettings</link> *settings);
<link linkend="GtkPrintSettings">GtkPrintSettings</link> *  <link linkend="gtk-print-unix-dialog-get-settings">gtk_print_unix_dialog_get_settings</link>  (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);
<link linkend="GtkPrinter">GtkPrinter</link> *        <link linkend="gtk-print-unix-dialog-get-selected-printer">gtk_print_unix_dialog_get_selected_printer</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);
<link linkend="void">void</link>                <link linkend="gtk-print-unix-dialog-add-custom-tab">gtk_print_unix_dialog_add_custom_tab</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label);
<link linkend="void">void</link>                <link linkend="gtk-print-unix-dialog-set-support-selection">gtk_print_unix_dialog_set_support_selection</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="gboolean">gboolean</link> support_selection);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-print-unix-dialog-get-support-selection">gtk_print_unix_dialog_get_support_selection</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);
<link linkend="void">void</link>                <link linkend="gtk-print-unix-dialog-set-has-selection">gtk_print_unix_dialog_set_has_selection</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="gboolean">gboolean</link> has_selection);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-print-unix-dialog-get-has-selection">gtk_print_unix_dialog_get_has_selection</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);
<link linkend="void">void</link>                <link linkend="gtk-print-unix-dialog-set-embed-page-setup">gtk_print_unix_dialog_set_embed_page_setup</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="gboolean">gboolean</link> embed);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-print-unix-dialog-get-embed-page-setup">gtk_print_unix_dialog_get_embed_page_setup</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-print-unix-dialog-get-page-setup-set">gtk_print_unix_dialog_get_page_setup_set</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);
enum                <link linkend="GtkPrintCapabilities">GtkPrintCapabilities</link>;
<link linkend="void">void</link>                <link linkend="gtk-print-unix-dialog-set-manual-capabilities">gtk_print_unix_dialog_set_manual_capabilities</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="GtkPrintCapabilities">GtkPrintCapabilities</link> capabilities);
<link linkend="GtkPrintCapabilities">GtkPrintCapabilities</link>  <link linkend="gtk-print-unix-dialog-get-manual-capabilities">gtk_print_unix_dialog_get_manual_capabilities</link>
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);
</synopsis>
</refsynopsisdiv>

<refsect1 id="GtkPrintUnixDialog.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
         +----<link linkend="GtkObject">GtkObject</link>
               +----<link linkend="GtkWidget">GtkWidget</link>
                     +----<link linkend="GtkContainer">GtkContainer</link>
                           +----<link linkend="GtkBin">GtkBin</link>
                                 +----<link linkend="GtkWindow">GtkWindow</link>
                                       +----<link linkend="GtkDialog">GtkDialog</link>
                                             +----GtkPrintUnixDialog
</synopsis>
</refsect1>



<refsect1 id="GtkPrintUnixDialog.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkPrintUnixDialog implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link> and  <link linkend="GtkBuildable">GtkBuildable</link>.</para>
</refsect1>


<refsect1 id="GtkPrintUnixDialog.properties" role="properties">
<title role="properties.title">Properties</title>
<synopsis>
  &quot;<link linkend="GtkPrintUnixDialog--current-page">current-page</link>&quot;             <link linkend="gint">gint</link>                  : Read / Write
  &quot;<link linkend="GtkPrintUnixDialog--embed-page-setup">embed-page-setup</link>&quot;         <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkPrintUnixDialog--has-selection">has-selection</link>&quot;            <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkPrintUnixDialog--manual-capabilities">manual-capabilities</link>&quot;      <link linkend="GtkPrintCapabilities">GtkPrintCapabilities</link>  : Read / Write
  &quot;<link linkend="GtkPrintUnixDialog--page-setup">page-setup</link>&quot;               <link linkend="GtkPageSetup">GtkPageSetup</link>*         : Read / Write
  &quot;<link linkend="GtkPrintUnixDialog--print-settings">print-settings</link>&quot;           <link linkend="GtkPrintSettings">GtkPrintSettings</link>*     : Read / Write
  &quot;<link linkend="GtkPrintUnixDialog--selected-printer">selected-printer</link>&quot;         <link linkend="GtkPrinter">GtkPrinter</link>*           : Read
  &quot;<link linkend="GtkPrintUnixDialog--support-selection">support-selection</link>&quot;        <link linkend="gboolean">gboolean</link>              : Read / Write
</synopsis>
</refsect1>



<refsect1 id="GtkPrintUnixDialog.description" role="desc">
<title role="desc.title">Description</title>
<para>
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 <link
linkend="gtk-High-level-Printing-API">high-level printing API</link>
</para>
<para>
In order to print something with <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>, you need
to use <link linkend="gtk-print-unix-dialog-get-selected-printer"><function>gtk_print_unix_dialog_get_selected_printer()</function></link> to obtain
a <link linkend="GtkPrinter"><type>GtkPrinter</type></link> object and use it to construct a <link linkend="GtkPrintJob"><type>GtkPrintJob</type></link> using
<link linkend="gtk-print-job-new"><function>gtk_print_job_new()</function></link>.
</para>
<para>
<link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link> uses the following response values:
<variablelist>
  <varlistentry><term><link linkend="GTK-RESPONSE-OK--CAPS"><literal>GTK_RESPONSE_OK</literal></link></term>
    <listitem><para>for the "Print" button</para></listitem>
  </varlistentry>
  <varlistentry><term><link linkend="GTK-RESPONSE-APPLY--CAPS"><literal>GTK_RESPONSE_APPLY</literal></link></term>
    <listitem><para>for the "Preview" button</para></listitem>
  </varlistentry>
  <varlistentry><term><link linkend="GTK-RESPONSE-CANCEL--CAPS"><literal>GTK_RESPONSE_CANCEL</literal></link></term>
    <listitem><para>for the "Cancel" button</para></listitem>
  </varlistentry>
</variablelist>
</para>
<!-- FIXME example here -->
<para>
Printing support was added in GTK+ 2.10.
</para>
<refsect2 id="GtkPrintUnixDialog-BUILDER-UI"><title>GtkPrintUnixDialog as GtkBuildable</title>
<para>
The GtkPrintUnixDialog implementation of the GtkBuildable interface exposes its
<parameter>notebook</parameter> internal children with the name "notebook".
</para>
<example>
<title>A <structname>GtkPrintUnixDialog</structname> UI definition fragment.</title>
<programlisting><![CDATA[
<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>
]]></programlisting>
</example>
</refsect2>
</refsect1>

<refsect1 id="GtkPrintUnixDialog.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="GtkPrintUnixDialog-struct" role="struct">
<title>GtkPrintUnixDialog</title>
<indexterm zone="GtkPrintUnixDialog-struct"><primary sortas="PrintUnixDialog">GtkPrintUnixDialog</primary></indexterm><programlisting>typedef struct _GtkPrintUnixDialog GtkPrintUnixDialog;</programlisting>
<para>
</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-new" role="function" condition="since:2.10">
<title>gtk_print_unix_dialog_new ()</title>
<indexterm zone="gtk-print-unix-dialog-new" role="2.10"><primary sortas="print_unix_dialog_new">gtk_print_unix_dialog_new</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link> *         gtk_print_unix_dialog_new           (const <link linkend="gchar">gchar</link> *title,
                                                         <link linkend="GtkWindow">GtkWindow</link> *parent);</programlisting>
<para>
Creates a new <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>title</parameter>&#160;:</term>
<listitem><simpara> Title of the dialog, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>parent</parameter>&#160;:</term>
<listitem><simpara> Transient parent of the dialog, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a new <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-set-page-setup" role="function" condition="since:2.10">
<title>gtk_print_unix_dialog_set_page_setup ()</title>
<indexterm zone="gtk-print-unix-dialog-set-page-setup" role="2.10"><primary sortas="print_unix_dialog_set_page_setup">gtk_print_unix_dialog_set_page_setup</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_print_unix_dialog_set_page_setup
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="GtkPageSetup">GtkPageSetup</link> *page_setup);</programlisting>
<para>
Sets the page setup of the <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page_setup</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPageSetup"><type>GtkPageSetup</type></link>
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-get-page-setup" role="function" condition="since:2.10">
<title>gtk_print_unix_dialog_get_page_setup ()</title>
<indexterm zone="gtk-print-unix-dialog-get-page-setup" role="2.10"><primary sortas="print_unix_dialog_get_page_setup">gtk_print_unix_dialog_get_page_setup</primary></indexterm><programlisting><link linkend="GtkPageSetup">GtkPageSetup</link> *      gtk_print_unix_dialog_get_page_setup
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);</programlisting>
<para>
Gets the page setup that is used by the <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the page setup of <parameter>dialog</parameter>.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-set-current-page" role="function" condition="since:2.10">
<title>gtk_print_unix_dialog_set_current_page ()</title>
<indexterm zone="gtk-print-unix-dialog-set-current-page" role="2.10"><primary sortas="print_unix_dialog_set_current_page">gtk_print_unix_dialog_set_current_page</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_print_unix_dialog_set_current_page
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="gint">gint</link> current_page);</programlisting>
<para>
Sets the current page number. If <parameter>current_page</parameter> is not -1, this enables
the current page choice for the range of pages to print.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>current_page</parameter>&#160;:</term>
<listitem><simpara> the current page number.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-get-current-page" role="function" condition="since:2.10">
<title>gtk_print_unix_dialog_get_current_page ()</title>
<indexterm zone="gtk-print-unix-dialog-get-current-page" role="2.10"><primary sortas="print_unix_dialog_get_current_page">gtk_print_unix_dialog_get_current_page</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_print_unix_dialog_get_current_page
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);</programlisting>
<para>
Gets the current page of the <link linkend="GtkPrintDialog"><type>GtkPrintDialog</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the current page of <parameter>dialog</parameter>

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-set-settings" role="function" condition="since:2.10">
<title>gtk_print_unix_dialog_set_settings ()</title>
<indexterm zone="gtk-print-unix-dialog-set-settings" role="2.10"><primary sortas="print_unix_dialog_set_settings">gtk_print_unix_dialog_set_settings</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_print_unix_dialog_set_settings  (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="GtkPrintSettings">GtkPrintSettings</link> *settings);</programlisting>
<para>
Sets the <link linkend="GtkPrintSettings"><type>GtkPrintSettings</type></link> for the <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>. Typically,
this is used to restore saved print settings from a previous print
operation before the print dialog is shown.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>settings</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintSettings"><type>GtkPrintSettings</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-get-settings" role="function" condition="since:2.10">
<title>gtk_print_unix_dialog_get_settings ()</title>
<indexterm zone="gtk-print-unix-dialog-get-settings" role="2.10"><primary sortas="print_unix_dialog_get_settings">gtk_print_unix_dialog_get_settings</primary></indexterm><programlisting><link linkend="GtkPrintSettings">GtkPrintSettings</link> *  gtk_print_unix_dialog_get_settings  (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);</programlisting>
<para>
Gets a new <link linkend="GtkPrintSettings"><type>GtkPrintSettings</type></link> object that represents the
current values in the print dialog. Note that this creates a
<emphasis>new object</emphasis>, and you need to unref it
if don't want to keep it.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a new <link linkend="GtkPrintSettings"><type>GtkPrintSettings</type></link> object with the values from <parameter>dialog</parameter>

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-get-selected-printer" role="function" condition="since:2.10">
<title>gtk_print_unix_dialog_get_selected_printer ()</title>
<indexterm zone="gtk-print-unix-dialog-get-selected-printer" role="2.10"><primary sortas="print_unix_dialog_get_selected_printer">gtk_print_unix_dialog_get_selected_printer</primary></indexterm><programlisting><link linkend="GtkPrinter">GtkPrinter</link> *        gtk_print_unix_dialog_get_selected_printer
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);</programlisting>
<para>
Gets the currently selected printer.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the currently selected printer

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-add-custom-tab" role="function" condition="since:2.10">
<title>gtk_print_unix_dialog_add_custom_tab ()</title>
<indexterm zone="gtk-print-unix-dialog-add-custom-tab" role="2.10"><primary sortas="print_unix_dialog_add_custom_tab">gtk_print_unix_dialog_add_custom_tab</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_print_unix_dialog_add_custom_tab
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label);</programlisting>
<para>
Adds a custom tab to the print dialog.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the widget to put in the custom tab
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_label</parameter>&#160;:</term>
<listitem><simpara> the widget to use as tab label
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-set-support-selection" role="function" condition="since:2.18">
<title>gtk_print_unix_dialog_set_support_selection ()</title>
<indexterm zone="gtk-print-unix-dialog-set-support-selection" role="2.18"><primary sortas="print_unix_dialog_set_support_selection">gtk_print_unix_dialog_set_support_selection</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_print_unix_dialog_set_support_selection
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="gboolean">gboolean</link> support_selection);</programlisting>
<para>
Sets whether the print dialog allows user to print a selection.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>support_selection</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to allow print selection
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.18</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-get-support-selection" role="function" condition="since:2.18">
<title>gtk_print_unix_dialog_get_support_selection ()</title>
<indexterm zone="gtk-print-unix-dialog-get-support-selection" role="2.18"><primary sortas="print_unix_dialog_get_support_selection">gtk_print_unix_dialog_get_support_selection</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_print_unix_dialog_get_support_selection
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);</programlisting>
<para>
Gets the value of <link linkend="GtkPrintUnixDialog-support-selection"><type>"support-selection"</type></link> property.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> whether the application supports print of selection

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.18</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-set-has-selection" role="function" condition="since:2.18">
<title>gtk_print_unix_dialog_set_has_selection ()</title>
<indexterm zone="gtk-print-unix-dialog-set-has-selection" role="2.18"><primary sortas="print_unix_dialog_set_has_selection">gtk_print_unix_dialog_set_has_selection</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_print_unix_dialog_set_has_selection
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="gboolean">gboolean</link> has_selection);</programlisting>
<para>
Sets whether a selection exists.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>has_selection</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> indicates that a selection exists
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.18</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-get-has-selection" role="function" condition="since:2.18">
<title>gtk_print_unix_dialog_get_has_selection ()</title>
<indexterm zone="gtk-print-unix-dialog-get-has-selection" role="2.18"><primary sortas="print_unix_dialog_get_has_selection">gtk_print_unix_dialog_get_has_selection</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_print_unix_dialog_get_has_selection
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);</programlisting>
<para>
Gets the value of <link linkend="GtkPrintUnixDialog-has-selection"><type>"has-selection"</type></link> property.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> whether there is a selection

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.18</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-set-embed-page-setup" role="function" condition="since:2.18">
<title>gtk_print_unix_dialog_set_embed_page_setup ()</title>
<indexterm zone="gtk-print-unix-dialog-set-embed-page-setup" role="2.18"><primary sortas="print_unix_dialog_set_embed_page_setup">gtk_print_unix_dialog_set_embed_page_setup</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_print_unix_dialog_set_embed_page_setup
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="gboolean">gboolean</link> embed);</programlisting>
<para>
Embed page size combo box and orientation combo box into page setup page.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>embed</parameter>&#160;:</term>
<listitem><simpara> embed page setup selection
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.18</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-get-embed-page-setup" role="function" condition="since:2.18">
<title>gtk_print_unix_dialog_get_embed_page_setup ()</title>
<indexterm zone="gtk-print-unix-dialog-get-embed-page-setup" role="2.18"><primary sortas="print_unix_dialog_get_embed_page_setup">gtk_print_unix_dialog_get_embed_page_setup</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_print_unix_dialog_get_embed_page_setup
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);</programlisting>
<para>
Gets the value of <link linkend="GtkPrintUnixDialog-embed-page-setup"><type>"embed-page-setup"</type></link> property.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> whether there is a selection

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.18</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-get-page-setup-set" role="function" condition="since:2.18">
<title>gtk_print_unix_dialog_get_page_setup_set ()</title>
<indexterm zone="gtk-print-unix-dialog-get-page-setup-set" role="2.18"><primary sortas="print_unix_dialog_get_page_setup_set">gtk_print_unix_dialog_get_page_setup_set</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_print_unix_dialog_get_page_setup_set
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);</programlisting>
<para>
Gets the page setup that is used by the <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> whether a page setup was set by user.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.18</para></refsect2>
<refsect2 id="GtkPrintCapabilities" role="enum">
<title>enum GtkPrintCapabilities</title>
<indexterm zone="GtkPrintCapabilities"><primary sortas="PrintCapabilities">GtkPrintCapabilities</primary></indexterm><programlisting>typedef enum
{
  GTK_PRINT_CAPABILITY_PAGE_SET         = 1 &lt;&lt; 0,
  GTK_PRINT_CAPABILITY_COPIES           = 1 &lt;&lt; 1,
  GTK_PRINT_CAPABILITY_COLLATE          = 1 &lt;&lt; 2,
  GTK_PRINT_CAPABILITY_REVERSE          = 1 &lt;&lt; 3,
  GTK_PRINT_CAPABILITY_SCALE            = 1 &lt;&lt; 4,
  GTK_PRINT_CAPABILITY_GENERATE_PDF     = 1 &lt;&lt; 5,
  GTK_PRINT_CAPABILITY_GENERATE_PS      = 1 &lt;&lt; 6,
  GTK_PRINT_CAPABILITY_PREVIEW          = 1 &lt;&lt; 7,
  GTK_PRINT_CAPABILITY_NUMBER_UP        = 1 &lt;&lt; 8,
  GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT = 1 &lt;&lt; 9
} GtkPrintCapabilities;
</programlisting>
<para>
An enum for specifying which features the print dialog should offer.
If neither <link linkend="GTK-PRINT-CAPABILITY-GENERATE-PDF--CAPS"><literal>GTK_PRINT_CAPABILITY_GENERATE_PDF</literal></link> nor
<link linkend="GTK-PRINT-CAPABILITY-GENERATE-PS--CAPS"><literal>GTK_PRINT_CAPABILITY_GENERATE_PS</literal></link> is specified, GTK+ assumes that all
formats are supported.
</para><variablelist role="enum">
<varlistentry id="GTK-PRINT-CAPABILITY-PAGE-SET--CAPS" role="constant">
<term><literal>GTK_PRINT_CAPABILITY_PAGE_SET</literal></term>
<listitem><simpara>Print dialog will offer printing even/odd pages.
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-PRINT-CAPABILITY-COPIES--CAPS" role="constant">
<term><literal>GTK_PRINT_CAPABILITY_COPIES</literal></term>
<listitem><simpara>Print dialog will allow to print multiple copies.
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-PRINT-CAPABILITY-COLLATE--CAPS" role="constant">
<term><literal>GTK_PRINT_CAPABILITY_COLLATE</literal></term>
<listitem><simpara>Print dialog will allow to collate multiple copies.
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-PRINT-CAPABILITY-REVERSE--CAPS" role="constant">
<term><literal>GTK_PRINT_CAPABILITY_REVERSE</literal></term>
<listitem><simpara>Print dialog will allow to print pages in reverse order.
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-PRINT-CAPABILITY-SCALE--CAPS" role="constant">
<term><literal>GTK_PRINT_CAPABILITY_SCALE</literal></term>
<listitem><simpara>Print dialog will allow to scale the output.
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-PRINT-CAPABILITY-GENERATE-PDF--CAPS" role="constant">
<term><literal>GTK_PRINT_CAPABILITY_GENERATE_PDF</literal></term>
<listitem><simpara>The program will send the document to 
    the printer in PDF format
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-PRINT-CAPABILITY-GENERATE-PS--CAPS" role="constant">
<term><literal>GTK_PRINT_CAPABILITY_GENERATE_PS</literal></term>
<listitem><simpara>The program will send the document to 
    the printer in Postscript format
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-PRINT-CAPABILITY-PREVIEW--CAPS" role="constant">
<term><literal>GTK_PRINT_CAPABILITY_PREVIEW</literal></term>
<listitem><simpara>Print dialog will offer a previe
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-PRINT-CAPABILITY-NUMBER-UP--CAPS" role="constant">
<term><literal>GTK_PRINT_CAPABILITY_NUMBER_UP</literal></term>
<listitem><simpara>Print dialog will offer printing multiple 
    pages per sheet. Since 2.12
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-PRINT-CAPABILITY-NUMBER-UP-LAYOUT--CAPS" role="constant">
<term><literal>GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT</literal></term>
<listitem><simpara>Print dialog will allow to rearrange 
    pages when printing multiple pages per sheet. Since 2.14
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-print-unix-dialog-set-manual-capabilities" role="function" condition="since:2.10">
<title>gtk_print_unix_dialog_set_manual_capabilities ()</title>
<indexterm zone="gtk-print-unix-dialog-set-manual-capabilities" role="2.10"><primary sortas="print_unix_dialog_set_manual_capabilities">gtk_print_unix_dialog_set_manual_capabilities</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_print_unix_dialog_set_manual_capabilities
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog,
                                                         <link linkend="GtkPrintCapabilities">GtkPrintCapabilities</link> capabilities);</programlisting>
<para>
This lets you specify the printing capabilities your application
supports. For instance, if you can handle scaling the output then
you pass <link linkend="GTK-PRINT-CAPABILITY-SCALE--CAPS"><type>GTK_PRINT_CAPABILITY_SCALE</type></link>. If you don't pass that, then
the dialog will only let you select the scale if the printing
system automatically handles scaling.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>capabilities</parameter>&#160;:</term>
<listitem><simpara> the printing capabilities of your application
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-print-unix-dialog-get-manual-capabilities" role="function" condition="since:2.18">
<title>gtk_print_unix_dialog_get_manual_capabilities ()</title>
<indexterm zone="gtk-print-unix-dialog-get-manual-capabilities" role="2.18"><primary sortas="print_unix_dialog_get_manual_capabilities">gtk_print_unix_dialog_get_manual_capabilities</primary></indexterm><programlisting><link linkend="GtkPrintCapabilities">GtkPrintCapabilities</link>  gtk_print_unix_dialog_get_manual_capabilities
                                                        (<link linkend="GtkPrintUnixDialog">GtkPrintUnixDialog</link> *dialog);</programlisting>
<para>
Gets the value of <link linkend="GtkPrintUnixDialog-manual-capabilities"><type>"manual-capabilities"</type></link> property.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>dialog</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkPrintUnixDialog"><type>GtkPrintUnixDialog</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the printing capabilities

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.18</para></refsect2>

</refsect1>
<refsect1 id="GtkPrintUnixDialog.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkPrintUnixDialog--current-page" role="property"><title>The <literal>&quot;current-page&quot;</literal> property</title>
<indexterm zone="GtkPrintUnixDialog--current-page"><primary sortas="PrintUnixDialog:current-page">GtkPrintUnixDialog:current-page</primary></indexterm><programlisting>  &quot;current-page&quot;             <link linkend="gint">gint</link>                  : Read / Write</programlisting>
<para>The current page in the document.</para><para>Allowed values: &gt;= G_MAXULONG</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkPrintUnixDialog--embed-page-setup" role="property"><title>The <literal>&quot;embed-page-setup&quot;</literal> property</title>
<indexterm zone="GtkPrintUnixDialog--embed-page-setup"><primary sortas="PrintUnixDialog:embed-page-setup">GtkPrintUnixDialog:embed-page-setup</primary></indexterm><programlisting>  &quot;embed-page-setup&quot;         <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>TRUE if page setup combos are embedded in GtkPrintUnixDialog.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkPrintUnixDialog--has-selection" role="property"><title>The <literal>&quot;has-selection&quot;</literal> property</title>
<indexterm zone="GtkPrintUnixDialog--has-selection"><primary sortas="PrintUnixDialog:has-selection">GtkPrintUnixDialog:has-selection</primary></indexterm><programlisting>  &quot;has-selection&quot;            <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether the application has a selection.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkPrintUnixDialog--manual-capabilities" role="property"><title>The <literal>&quot;manual-capabilities&quot;</literal> property</title>
<indexterm zone="GtkPrintUnixDialog--manual-capabilities"><primary sortas="PrintUnixDialog:manual-capabilities">GtkPrintUnixDialog:manual-capabilities</primary></indexterm><programlisting>  &quot;manual-capabilities&quot;      <link linkend="GtkPrintCapabilities">GtkPrintCapabilities</link>  : Read / Write</programlisting>
<para>Capabilities the application can handle.</para></refsect2>
<refsect2 id="GtkPrintUnixDialog--page-setup" role="property"><title>The <literal>&quot;page-setup&quot;</literal> property</title>
<indexterm zone="GtkPrintUnixDialog--page-setup"><primary sortas="PrintUnixDialog:page-setup">GtkPrintUnixDialog:page-setup</primary></indexterm><programlisting>  &quot;page-setup&quot;               <link linkend="GtkPageSetup">GtkPageSetup</link>*         : Read / Write</programlisting>
<para>The GtkPageSetup to use.</para></refsect2>
<refsect2 id="GtkPrintUnixDialog--print-settings" role="property"><title>The <literal>&quot;print-settings&quot;</literal> property</title>
<indexterm zone="GtkPrintUnixDialog--print-settings"><primary sortas="PrintUnixDialog:print-settings">GtkPrintUnixDialog:print-settings</primary></indexterm><programlisting>  &quot;print-settings&quot;           <link linkend="GtkPrintSettings">GtkPrintSettings</link>*     : Read / Write</programlisting>
<para>The GtkPrintSettings used for initializing the dialog.</para></refsect2>
<refsect2 id="GtkPrintUnixDialog--selected-printer" role="property"><title>The <literal>&quot;selected-printer&quot;</literal> property</title>
<indexterm zone="GtkPrintUnixDialog--selected-printer"><primary sortas="PrintUnixDialog:selected-printer">GtkPrintUnixDialog:selected-printer</primary></indexterm><programlisting>  &quot;selected-printer&quot;         <link linkend="GtkPrinter">GtkPrinter</link>*           : Read</programlisting>
<para>The GtkPrinter which is selected.</para></refsect2>
<refsect2 id="GtkPrintUnixDialog--support-selection" role="property"><title>The <literal>&quot;support-selection&quot;</literal> property</title>
<indexterm zone="GtkPrintUnixDialog--support-selection"><primary sortas="PrintUnixDialog:support-selection">GtkPrintUnixDialog:support-selection</primary></indexterm><programlisting>  &quot;support-selection&quot;        <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether the dialog supports selection.</para><para>Default value: FALSE</para>
</refsect2>
</refsect1>



<refsect1 id="GtkPrintUnixDialog.see-also">
<title>See Also</title>
<para>
<link linkend="GtkPageSetupUnixDialog"><type>GtkPageSetupUnixDialog</type></link>, <link linkend="GtkPrinter"><type>GtkPrinter</type></link>, <link linkend="GtkPrintJob"><type>GtkPrintJob</type></link>
</para>
</refsect1>

</refentry>
