<?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 pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<refentry id="GtkAssistant">
<refmeta>
<refentrytitle role="top_of_page" id="GtkAssistant.top_of_page">GtkAssistant</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkAssistant</refname>
<refpurpose>A widget used to guide users through multi-step operations</refpurpose>
</refnamediv>

<refsect1 id="GtkAssistant.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-assistant-new">gtk_assistant_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkAssistantPage"><returnvalue>GtkAssistantPage</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-assistant-get-page">gtk_assistant_get_page</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GListModel"><returnvalue>GListModel</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-assistant-get-pages">gtk_assistant_get_pages</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-assistant-page-get-child">gtk_assistant_page_get_child</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-get-current-page">gtk_assistant_get_current_page</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-set-current-page">gtk_assistant_set_current_page</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-get-n-pages">gtk_assistant_get_n_pages</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-assistant-get-nth-page">gtk_assistant_get_nth_page</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-prepend-page">gtk_assistant_prepend_page</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-append-page">gtk_assistant_append_page</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-insert-page">gtk_assistant_insert_page</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-remove-page">gtk_assistant_remove_page</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="GtkAssistantPageFunc">*GtkAssistantPageFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-set-forward-page-func">gtk_assistant_set_forward_page_func</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-set-page-type">gtk_assistant_set_page_type</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkAssistantPageType"><returnvalue>GtkAssistantPageType</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-get-page-type">gtk_assistant_get_page_type</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-set-page-title">gtk_assistant_set_page_title</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-assistant-get-page-title">gtk_assistant_get_page_title</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-set-page-complete">gtk_assistant_set_page_complete</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-get-page-complete">gtk_assistant_get_page_complete</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-add-action-widget">gtk_assistant_add_action_widget</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-remove-action-widget">gtk_assistant_remove_action_widget</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-update-buttons-state">gtk_assistant_update_buttons_state</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-commit">gtk_assistant_commit</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-next-page">gtk_assistant_next_page</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-assistant-previous-page">gtk_assistant_previous_page</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkAssistant.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="GListModel"><type>GListModel</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkAssistant--pages">pages</link></entry><entry role="property_flags">Read</entry></row>
<row><entry role="property_type"><link linkend="int"><type>int</type></link></entry><entry role="property_name"><link linkend="GtkAssistant--use-header-bar">use-header-bar</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>
<row><entry role="property_type"><link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkAssistantPage--child">child</link></entry><entry role="property_flags">Read / Write / Construct&#160;Only</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkAssistantPage--complete">complete</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkAssistantPageType"><type>GtkAssistantPageType</type></link></entry><entry role="property_name"><link linkend="GtkAssistantPage--page-type">page-type</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="char"><type>char</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkAssistantPage--title">title</link></entry><entry role="property_flags">Read / Write</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkAssistant.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="signal_proto_type" colwidth="150px"/>
<colspec colname="signal_proto_name" colwidth="300px"/>
<colspec colname="signal_proto_flags" colwidth="200px"/>
<tbody>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkAssistant-apply">apply</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkAssistant-cancel">cancel</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkAssistant-close">close</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkAssistant-escape">escape</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkAssistant-prepare">prepare</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<anchor id="GtkAssistantPage"/><refsect1 id="GtkAssistant.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkAssistant-struct">GtkAssistant</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkAssistantPage-struct">GtkAssistantPage</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkAssistantPageType">GtkAssistantPageType</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkAssistant.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
    <phrase role="lineart">&#9474;</phrase>   <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkWidget">GtkWidget</link>
    <phrase role="lineart">&#9474;</phrase>       <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkWindow">GtkWindow</link>
    <phrase role="lineart">&#9474;</phrase>           <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkAssistant
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkAssistantPage
</screen>
</refsect1>
<refsect1 id="GtkAssistant.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkAssistant implements
 <link linkend="GtkAccessible">GtkAccessible</link>,  <link linkend="GtkBuildable">GtkBuildable</link>,  <link linkend="GtkConstraintTarget">GtkConstraintTarget</link>,  <link linkend="GtkNative">GtkNative</link>,  <link linkend="GtkShortcutManager">GtkShortcutManager</link> and  <link linkend="GtkRoot">GtkRoot</link>.</para>

</refsect1>

<refsect1 id="GtkAssistant.includes"><title>Includes</title><synopsis>#include &lt;gtk/gtk.h&gt;
</synopsis></refsect1>

<refsect1 id="GtkAssistant.description" role="desc">
<title role="desc.title">Description</title>
<para>A <link linkend="GtkAssistant"><type>GtkAssistant</type></link> is a widget used to represent a generally complex
operation split up into several steps. Each step consists of one or more
pages. GtkAssistant guides the user through the pages, and controls 
the page flow to collect the data needed for the operation.</para>
<para>GtkAssistant handles which buttons to show and to make sensitive based 
on page sequence knowledge and the <link linkend="GtkAssistantPageType">type</link> 
of each page in addition to state information like the 
<link linkend="gtk-assistant-set-page-complete">completion</link>
and <link linkend="gtk-assistant-commit">committed</link> page statuses.</para>
<para>If you have a case that doesn’t quite fit in <link linkend="GtkAssistants"><type>GtkAssistants</type></link> way of
handling buttons, you can use the <link linkend="GTK-ASSISTANT-PAGE-CUSTOM:CAPS"><type>GTK_ASSISTANT_PAGE_CUSTOM</type></link> page
type and handle buttons yourself.</para>
<para>GtkAssistant maintains a <link linkend="GtkAssistantPage"><type>GtkAssistantPage</type></link> object for each added
child, which holds additional per-child properties. You
obtain the <link linkend="GtkAssistantPage"><type>GtkAssistantPage</type></link> for a child with <link linkend="gtk-assistant-get-page"><function>gtk_assistant_get_page()</function></link>.</para>
<refsect2><title>GtkAssistant as GtkBuildable</title><para>The GtkAssistant implementation of the <link linkend="GtkBuildable"><type>GtkBuildable</type></link> interface
exposes the <parameter>action_area</parameter>
 as internal children with the name
“action_area”.</para>
<para>To add pages to an assistant in <link linkend="GtkBuilder"><type>GtkBuilder</type></link>, simply add it as a
child to the GtkAssistant object. If you need to set per-object
properties, create a <link linkend="GtkAssistantPage"><type>GtkAssistantPage</type></link> object explicitly, and
set the child widget as a property on it.</para>
</refsect2>
<refsect2><title>CSS nodes</title><para>GtkAssistant has a single CSS node with the name window and style
class .assistant.</para>
</refsect2>

</refsect1>
<refsect1 id="GtkAssistant.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-assistant-new" role="function">
<title>gtk_assistant_new&#160;()</title>
<indexterm zone="gtk-assistant-new"><primary>gtk_assistant_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_assistant_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new <link linkend="GtkAssistant"><type>GtkAssistant</type></link>.</para>
<refsect3 id="gtk-assistant-new.returns" role="returns">
<title>Returns</title>
<para> a newly created <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-get-page" role="function">
<title>gtk_assistant_get_page&#160;()</title>
<indexterm zone="gtk-assistant-get-page"><primary>gtk_assistant_get_page</primary></indexterm>
<programlisting language="C"><link linkend="GtkAssistantPage"><returnvalue>GtkAssistantPage</returnvalue></link>&#160;*
gtk_assistant_get_page (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                        <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>);</programlisting>
<para>Returns the <link linkend="GtkAssistantPage"><type>GtkAssistantPage</type></link> object for <parameter>child</parameter>
.</para>
<refsect3 id="gtk-assistant-get-page.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>a child of <parameter>assistant</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-get-page.returns" role="returns">
<title>Returns</title>
<para>the <link linkend="GtkAssistantPage"><type>GtkAssistantPage</type></link> for <parameter>child</parameter>
. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-get-pages" role="function">
<title>gtk_assistant_get_pages&#160;()</title>
<indexterm zone="gtk-assistant-get-pages"><primary>gtk_assistant_get_pages</primary></indexterm>
<programlisting language="C"><link linkend="GListModel"><returnvalue>GListModel</returnvalue></link>&#160;*
gtk_assistant_get_pages (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>);</programlisting>
<para>Gets a list model of the assistant pages.</para>
<refsect3 id="gtk-assistant-get-pages.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-get-pages.returns" role="returns">
<title>Returns</title>
<para>A list model of the pages. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>][<acronym>attributes</acronym> element-type=GtkAssistantPage]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-page-get-child" role="function">
<title>gtk_assistant_page_get_child&#160;()</title>
<indexterm zone="gtk-assistant-page-get-child"><primary>gtk_assistant_page_get_child</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_assistant_page_get_child (<parameter><link linkend="GtkAssistantPage"><type>GtkAssistantPage</type></link> *page</parameter>);</programlisting>
<para>Returns the child to which <parameter>page</parameter>
 belongs.</para>
<refsect3 id="gtk-assistant-page-get-child.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistantPage"><type>GtkAssistantPage</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-page-get-child.returns" role="returns">
<title>Returns</title>
<para>the child to which <parameter>page</parameter>
belongs. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-get-current-page" role="function">
<title>gtk_assistant_get_current_page&#160;()</title>
<indexterm zone="gtk-assistant-get-current-page"><primary>gtk_assistant_get_current_page</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
gtk_assistant_get_current_page (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>);</programlisting>
<para>Returns the page number of the current page.</para>
<refsect3 id="gtk-assistant-get-current-page.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-get-current-page.returns" role="returns">
<title>Returns</title>
<para> The index (starting from 0) of the current
page in the <parameter>assistant</parameter>
, or -1 if the <parameter>assistant</parameter>
has no pages,
or no current page.</para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-set-current-page" role="function">
<title>gtk_assistant_set_current_page&#160;()</title>
<indexterm zone="gtk-assistant-set-current-page"><primary>gtk_assistant_set_current_page</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_set_current_page (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                                <parameter><link linkend="int"><type>int</type></link> page_num</parameter>);</programlisting>
<para>Switches the page to <parameter>page_num</parameter>
.</para>
<para>Note that this will only be necessary in custom buttons,
as the <parameter>assistant</parameter>
 flow can be set with
<link linkend="gtk-assistant-set-forward-page-func"><function>gtk_assistant_set_forward_page_func()</function></link>.</para>
<refsect3 id="gtk-assistant-set-current-page.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page_num</para></entry>
<entry role="parameter_description"><para>index of the page to switch to, starting from 0.
If negative, the last page will be used. If greater
than the number of pages in the <parameter>assistant</parameter>
, nothing
will be done.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-get-n-pages" role="function">
<title>gtk_assistant_get_n_pages&#160;()</title>
<indexterm zone="gtk-assistant-get-n-pages"><primary>gtk_assistant_get_n_pages</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
gtk_assistant_get_n_pages (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>);</programlisting>
<para>Returns the number of pages in the <parameter>assistant</parameter>
</para>
<refsect3 id="gtk-assistant-get-n-pages.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-get-n-pages.returns" role="returns">
<title>Returns</title>
<para> the number of pages in the <parameter>assistant</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-get-nth-page" role="function">
<title>gtk_assistant_get_nth_page&#160;()</title>
<indexterm zone="gtk-assistant-get-nth-page"><primary>gtk_assistant_get_nth_page</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_assistant_get_nth_page (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                            <parameter><link linkend="int"><type>int</type></link> page_num</parameter>);</programlisting>
<para>Returns the child widget contained in page number <parameter>page_num</parameter>
.</para>
<refsect3 id="gtk-assistant-get-nth-page.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page_num</para></entry>
<entry role="parameter_description"><para>the index of a page in the <parameter>assistant</parameter>
,
or -1 to get the last page</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-get-nth-page.returns" role="returns">
<title>Returns</title>
<para>the child widget, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
if <parameter>page_num</parameter>
is out of bounds. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-prepend-page" role="function">
<title>gtk_assistant_prepend_page&#160;()</title>
<indexterm zone="gtk-assistant-prepend-page"><primary>gtk_assistant_prepend_page</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
gtk_assistant_prepend_page (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                            <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *page</parameter>);</programlisting>
<para>Prepends a page to the <parameter>assistant</parameter>
.</para>
<refsect3 id="gtk-assistant-prepend-page.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWidget"><type>GtkWidget</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-prepend-page.returns" role="returns">
<title>Returns</title>
<para> the index (starting at 0) of the inserted page</para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-append-page" role="function">
<title>gtk_assistant_append_page&#160;()</title>
<indexterm zone="gtk-assistant-append-page"><primary>gtk_assistant_append_page</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
gtk_assistant_append_page (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                           <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *page</parameter>);</programlisting>
<para>Appends a page to the <parameter>assistant</parameter>
.</para>
<refsect3 id="gtk-assistant-append-page.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWidget"><type>GtkWidget</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-append-page.returns" role="returns">
<title>Returns</title>
<para> the index (starting at 0) of the inserted page</para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-insert-page" role="function">
<title>gtk_assistant_insert_page&#160;()</title>
<indexterm zone="gtk-assistant-insert-page"><primary>gtk_assistant_insert_page</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
gtk_assistant_insert_page (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                           <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *page</parameter>,
                           <parameter><link linkend="int"><type>int</type></link> position</parameter>);</programlisting>
<para>Inserts a page in the <parameter>assistant</parameter>
 at a given position.</para>
<refsect3 id="gtk-assistant-insert-page.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWidget"><type>GtkWidget</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>position</para></entry>
<entry role="parameter_description"><para>the index (starting at 0) at which to insert the page,
or -1 to append the page to the <parameter>assistant</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-insert-page.returns" role="returns">
<title>Returns</title>
<para> the index (starting from 0) of the inserted page</para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-remove-page" role="function">
<title>gtk_assistant_remove_page&#160;()</title>
<indexterm zone="gtk-assistant-remove-page"><primary>gtk_assistant_remove_page</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_remove_page (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                           <parameter><link linkend="int"><type>int</type></link> page_num</parameter>);</programlisting>
<para>Removes the <parameter>page_num</parameter>
’s page from <parameter>assistant</parameter>
.</para>
<refsect3 id="gtk-assistant-remove-page.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page_num</para></entry>
<entry role="parameter_description"><para>the index of a page in the <parameter>assistant</parameter>
,
or -1 to remove the last page</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkAssistantPageFunc" role="function">
<title>GtkAssistantPageFunc&#160;()</title>
<indexterm zone="GtkAssistantPageFunc"><primary>GtkAssistantPageFunc</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*GtkAssistantPageFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="int"><type>int</type></link> current_page</parameter>,
                         <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para>A function used by <link linkend="gtk-assistant-set-forward-page-func"><function>gtk_assistant_set_forward_page_func()</function></link> to know which
is the next page given a current one. It’s called both for computing the
next page when the user presses the “forward” button and for handling
the behavior of the “last” button.</para>
<refsect3 id="GtkAssistantPageFunc.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>current_page</para></entry>
<entry role="parameter_description"><para>The page number used to calculate the next page.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>user data. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="GtkAssistantPageFunc.returns" role="returns">
<title>Returns</title>
<para> The next page number.</para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-set-forward-page-func" role="function">
<title>gtk_assistant_set_forward_page_func&#160;()</title>
<indexterm zone="gtk-assistant-set-forward-page-func"><primary>gtk_assistant_set_forward_page_func</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_set_forward_page_func (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                                     <parameter><link linkend="GtkAssistantPageFunc"><type>GtkAssistantPageFunc</type></link> page_func</parameter>,
                                     <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
                                     <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy</parameter>);</programlisting>
<para>Sets the page forwarding function to be <parameter>page_func</parameter>
.</para>
<para>This function will be used to determine what will be
the next page when the user presses the forward button.
Setting <parameter>page_func</parameter>
 to <link linkend="NULL:CAPS"><literal>NULL</literal></link> will make the assistant to
use the default forward function, which just goes to the
next visible page.</para>
<refsect3 id="gtk-assistant-set-forward-page-func.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page_func</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkAssistantPageFunc"><type>GtkAssistantPageFunc</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
to use the default one. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>user data for <parameter>page_func</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>destroy</para></entry>
<entry role="parameter_description"><para>destroy notifier for <parameter>data</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-set-page-type" role="function">
<title>gtk_assistant_set_page_type&#160;()</title>
<indexterm zone="gtk-assistant-set-page-type"><primary>gtk_assistant_set_page_type</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_set_page_type (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                             <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *page</parameter>,
                             <parameter><link linkend="GtkAssistantPageType"><type>GtkAssistantPageType</type></link> type</parameter>);</programlisting>
<para>Sets the page type for <parameter>page</parameter>
.</para>
<para>The page type determines the page behavior in the <parameter>assistant</parameter>
.</para>
<refsect3 id="gtk-assistant-set-page-type.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>a page of <parameter>assistant</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>type</para></entry>
<entry role="parameter_description"><para>the new type for <parameter>page</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-get-page-type" role="function">
<title>gtk_assistant_get_page_type&#160;()</title>
<indexterm zone="gtk-assistant-get-page-type"><primary>gtk_assistant_get_page_type</primary></indexterm>
<programlisting language="C"><link linkend="GtkAssistantPageType"><returnvalue>GtkAssistantPageType</returnvalue></link>
gtk_assistant_get_page_type (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                             <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *page</parameter>);</programlisting>
<para>Gets the page type of <parameter>page</parameter>
.</para>
<refsect3 id="gtk-assistant-get-page-type.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>a page of <parameter>assistant</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-get-page-type.returns" role="returns">
<title>Returns</title>
<para> the page type of <parameter>page</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-set-page-title" role="function">
<title>gtk_assistant_set_page_title&#160;()</title>
<indexterm zone="gtk-assistant-set-page-title"><primary>gtk_assistant_set_page_title</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_set_page_title (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                              <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *page</parameter>,
                              <parameter>const <link linkend="char"><type>char</type></link> *title</parameter>);</programlisting>
<para>Sets a title for <parameter>page</parameter>
.</para>
<para>The title is displayed in the header area of the assistant
when <parameter>page</parameter>
 is the current page.</para>
<refsect3 id="gtk-assistant-set-page-title.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>a page of <parameter>assistant</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>title</para></entry>
<entry role="parameter_description"><para>the new title for <parameter>page</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-get-page-title" role="function">
<title>gtk_assistant_get_page_title&#160;()</title>
<indexterm zone="gtk-assistant-get-page-title"><primary>gtk_assistant_get_page_title</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
gtk_assistant_get_page_title (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                              <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *page</parameter>);</programlisting>
<para>Gets the title for <parameter>page</parameter>
.</para>
<refsect3 id="gtk-assistant-get-page-title.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>a page of <parameter>assistant</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-get-page-title.returns" role="returns">
<title>Returns</title>
<para> the title for <parameter>page</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-set-page-complete" role="function">
<title>gtk_assistant_set_page_complete&#160;()</title>
<indexterm zone="gtk-assistant-set-page-complete"><primary>gtk_assistant_set_page_complete</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_set_page_complete (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                                 <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *page</parameter>,
                                 <parameter><link linkend="gboolean"><type>gboolean</type></link> complete</parameter>);</programlisting>
<para>Sets whether <parameter>page</parameter>
 contents are complete.</para>
<para>This will make <parameter>assistant</parameter>
 update the buttons state
to be able to continue the task.</para>
<refsect3 id="gtk-assistant-set-page-complete.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>a page of <parameter>assistant</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>complete</para></entry>
<entry role="parameter_description"><para>the completeness status of the page</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-get-page-complete" role="function">
<title>gtk_assistant_get_page_complete&#160;()</title>
<indexterm zone="gtk-assistant-get-page-complete"><primary>gtk_assistant_get_page_complete</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_assistant_get_page_complete (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                                 <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *page</parameter>);</programlisting>
<para>Gets whether <parameter>page</parameter>
 is complete.</para>
<refsect3 id="gtk-assistant-get-page-complete.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>a page of <parameter>assistant</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-assistant-get-page-complete.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>page</parameter>
is complete.</para>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-add-action-widget" role="function">
<title>gtk_assistant_add_action_widget&#160;()</title>
<indexterm zone="gtk-assistant-add-action-widget"><primary>gtk_assistant_add_action_widget</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_add_action_widget (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                                 <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>);</programlisting>
<para>Adds a widget to the action area of a <link linkend="GtkAssistant"><type>GtkAssistant</type></link>.</para>
<refsect3 id="gtk-assistant-add-action-widget.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWidget"><type>GtkWidget</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-remove-action-widget" role="function">
<title>gtk_assistant_remove_action_widget&#160;()</title>
<indexterm zone="gtk-assistant-remove-action-widget"><primary>gtk_assistant_remove_action_widget</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_remove_action_widget (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>,
                                    <parameter><link linkend="GtkWidget"><type>GtkWidget</type></link> *child</parameter>);</programlisting>
<para>Removes a widget from the action area of a <link linkend="GtkAssistant"><type>GtkAssistant</type></link>.</para>
<refsect3 id="gtk-assistant-remove-action-widget.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>child</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkWidget"><type>GtkWidget</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-update-buttons-state" role="function">
<title>gtk_assistant_update_buttons_state&#160;()</title>
<indexterm zone="gtk-assistant-update-buttons-state"><primary>gtk_assistant_update_buttons_state</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_update_buttons_state (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>);</programlisting>
<para>Forces <parameter>assistant</parameter>
 to recompute the buttons state.</para>
<para>GTK automatically takes care of this in most situations,
e.g. when the user goes to a different page, or when the
visibility or completeness of a page changes.</para>
<para>One situation where it can be necessary to call this
function is when changing a value on the current page
affects the future page flow of the assistant.</para>
<refsect3 id="gtk-assistant-update-buttons-state.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-commit" role="function">
<title>gtk_assistant_commit&#160;()</title>
<indexterm zone="gtk-assistant-commit"><primary>gtk_assistant_commit</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_commit (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>);</programlisting>
<para>Erases the visited page history so the back button is not
shown on the current page, and removes the cancel button
from subsequent pages.</para>
<para>Use this when the information provided up to the current
page is hereafter deemed permanent and cannot be modified
or undone. For example, showing a progress page to track
a long-running, unreversible operation after the user has
clicked apply on a confirmation page.</para>
<refsect3 id="gtk-assistant-commit.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-next-page" role="function">
<title>gtk_assistant_next_page&#160;()</title>
<indexterm zone="gtk-assistant-next-page"><primary>gtk_assistant_next_page</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_next_page (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>);</programlisting>
<para>Navigate to the next page.</para>
<para>It is a programming error to call this function when
there is no next page.</para>
<para>This function is for use when creating pages of the
<link linkend="GTK-ASSISTANT-PAGE-CUSTOM:CAPS"><type>GTK_ASSISTANT_PAGE_CUSTOM</type></link> type.</para>
<refsect3 id="gtk-assistant-next-page.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-assistant-previous-page" role="function">
<title>gtk_assistant_previous_page&#160;()</title>
<indexterm zone="gtk-assistant-previous-page"><primary>gtk_assistant_previous_page</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_assistant_previous_page (<parameter><link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant</parameter>);</programlisting>
<para>Navigate to the previous visited page.</para>
<para>It is a programming error to call this function when
no previous page is available.</para>
<para>This function is for use when creating pages of the
<link linkend="GTK-ASSISTANT-PAGE-CUSTOM:CAPS"><type>GTK_ASSISTANT_PAGE_CUSTOM</type></link> type.</para>
<refsect3 id="gtk-assistant-previous-page.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkAssistant.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkAssistant-struct" role="struct">
<title>GtkAssistant</title>
<indexterm zone="GtkAssistant-struct"><primary>GtkAssistant</primary></indexterm>
<programlisting language="C">typedef struct _GtkAssistant GtkAssistant;</programlisting>
</refsect2>
<refsect2 id="GtkAssistantPage-struct" role="struct">
<title>GtkAssistantPage</title>
<indexterm zone="GtkAssistantPage-struct"><primary>GtkAssistantPage</primary></indexterm>
<programlisting language="C">typedef struct _GtkAssistantPage GtkAssistantPage;</programlisting>
</refsect2>
<refsect2 id="GtkAssistantPageType" role="enum">
<title>enum GtkAssistantPageType</title>
<indexterm zone="GtkAssistantPageType"><primary>GtkAssistantPageType</primary></indexterm>
<para>An enum for determining the page role inside the <link linkend="GtkAssistant"><type>GtkAssistant</type></link>. It's
used to handle buttons sensitivity and visibility.</para>
<para>Note that an assistant needs to end its page flow with a page of type
<link linkend="GTK-ASSISTANT-PAGE-CONFIRM:CAPS"><literal>GTK_ASSISTANT_PAGE_CONFIRM</literal></link>, <link linkend="GTK-ASSISTANT-PAGE-SUMMARY:CAPS"><literal>GTK_ASSISTANT_PAGE_SUMMARY</literal></link> or
<link linkend="GTK-ASSISTANT-PAGE-PROGRESS:CAPS"><literal>GTK_ASSISTANT_PAGE_PROGRESS</literal></link> to be correct.</para>
<para>The Cancel button will only be shown if the page isn’t “committed”.
See <link linkend="gtk-assistant-commit"><function>gtk_assistant_commit()</function></link> for details.</para>
<refsect3 id="GtkAssistantPageType.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ASSISTANT-PAGE-CONTENT:CAPS">GTK_ASSISTANT_PAGE_CONTENT</para></entry>
<entry role="enum_member_description"><para>The page has regular contents. Both the
Back and forward buttons will be shown.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ASSISTANT-PAGE-INTRO:CAPS">GTK_ASSISTANT_PAGE_INTRO</para></entry>
<entry role="enum_member_description"><para>The page contains an introduction to the
assistant task. Only the Forward button will be shown if there is a
 next page.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ASSISTANT-PAGE-CONFIRM:CAPS">GTK_ASSISTANT_PAGE_CONFIRM</para></entry>
<entry role="enum_member_description"><para>The page lets the user confirm or deny the
changes. The Back and Apply buttons will be shown.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ASSISTANT-PAGE-SUMMARY:CAPS">GTK_ASSISTANT_PAGE_SUMMARY</para></entry>
<entry role="enum_member_description"><para>The page informs the user of the changes
done. Only the Close button will be shown.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ASSISTANT-PAGE-PROGRESS:CAPS">GTK_ASSISTANT_PAGE_PROGRESS</para></entry>
<entry role="enum_member_description"><para>Used for tasks that take a long time to
complete, blocks the assistant until the page is marked as complete.
 Only the back button will be shown.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-ASSISTANT-PAGE-CUSTOM:CAPS">GTK_ASSISTANT_PAGE_CUSTOM</para></entry>
<entry role="enum_member_description"><para>Used for when other page types are not
appropriate. No buttons will be shown, and the application must
add its own buttons through <link linkend="gtk-assistant-add-action-widget"><function>gtk_assistant_add_action_widget()</function></link>.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkAssistant.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkAssistant--pages" role="property"><title>The <literal>“pages”</literal> property</title>
<indexterm zone="GtkAssistant--pages"><primary>GtkAssistant:pages</primary></indexterm>
<programlisting>  “pages”                    <link linkend="GListModel"><type>GListModel</type></link>&#160;*</programlisting>
<para>The pages of the assistant.</para><para>Owner: GtkAssistant</para>
<para>Flags: Read</para>
</refsect2>
<refsect2 id="GtkAssistant--use-header-bar" role="property"><title>The <literal>“use-header-bar”</literal> property</title>
<indexterm zone="GtkAssistant--use-header-bar"><primary>GtkAssistant:use-header-bar</primary></indexterm>
<programlisting>  “use-header-bar”           <link linkend="int"><type>int</type></link></programlisting>
<para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the assistant uses a <link linkend="GtkHeaderBar"><type>GtkHeaderBar</type></link> for action buttons
instead of the action-area.</para>
<para>For technical reasons, this property is declared as an integer
property, but you should only set it to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> or <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.</para>
<para>Owner: GtkAssistant</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
<para>Allowed values: [-1,1]</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkAssistantPage--child" role="property"><title>The <literal>“child”</literal> property</title>
<indexterm zone="GtkAssistantPage--child"><primary>GtkAssistantPage:child</primary></indexterm>
<programlisting>  “child”                    <link linkend="GtkWidget"><type>GtkWidget</type></link>&#160;*</programlisting>
<para>The content the assistant page.</para><para>Owner: GtkAssistantPage</para>
<para>Flags: Read / Write / Construct&#160;Only</para>
</refsect2>
<refsect2 id="GtkAssistantPage--complete" role="property"><title>The <literal>“complete”</literal> property</title>
<indexterm zone="GtkAssistantPage--complete"><primary>GtkAssistantPage:complete</primary></indexterm>
<programlisting>  “complete”                 <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Setting the "complete" property to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> marks a page as
complete (i.e.: all the required fields are filled out). GTK uses
this information to control the sensitivity of the navigation buttons.</para>
<para>Owner: GtkAssistantPage</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkAssistantPage--page-type" role="property"><title>The <literal>“page-type”</literal> property</title>
<indexterm zone="GtkAssistantPage--page-type"><primary>GtkAssistantPage:page-type</primary></indexterm>
<programlisting>  “page-type”                <link linkend="GtkAssistantPageType"><type>GtkAssistantPageType</type></link></programlisting>
<para>The type of the assistant page.</para>
<para>Owner: GtkAssistantPage</para>
<para>Flags: Read / Write</para>
<para>Default value: GTK_ASSISTANT_PAGE_CONTENT</para>
</refsect2>
<refsect2 id="GtkAssistantPage--title" role="property"><title>The <literal>“title”</literal> property</title>
<indexterm zone="GtkAssistantPage--title"><primary>GtkAssistantPage:title</primary></indexterm>
<programlisting>  “title”                    <link linkend="char"><type>char</type></link>&#160;*</programlisting>
<para>The title of the page.</para>
<para>Owner: GtkAssistantPage</para>
<para>Flags: Read / Write</para>
<para>Default value: NULL</para>
</refsect2>

</refsect1>
<refsect1 id="GtkAssistant.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkAssistant-apply" role="signal"><title>The <literal>“apply”</literal> signal</title>
<indexterm zone="GtkAssistant-apply"><primary>GtkAssistant::apply</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant,
               <link linkend="gpointer"><type>gpointer</type></link>      user_data)</programlisting>
<para>The ::apply signal is emitted when the apply button is clicked.</para>
<para>The default behavior of the <link linkend="GtkAssistant"><type>GtkAssistant</type></link> is to switch to the page
after the current page, unless the current page is the last one.</para>
<para>A handler for the ::apply signal should carry out the actions for
which the wizard has collected data. If the action takes a long time
to complete, you might consider putting a page of type
<link linkend="GTK-ASSISTANT-PAGE-PROGRESS:CAPS"><literal>GTK_ASSISTANT_PAGE_PROGRESS</literal></link> after the confirmation page and handle
this operation within the <link linkend="GtkAssistant-prepare"><type>“prepare”</type></link> signal of the progress
page.</para>
<refsect3 id="GtkAssistant-apply.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkAssistant-cancel" role="signal"><title>The <literal>“cancel”</literal> signal</title>
<indexterm zone="GtkAssistant-cancel"><primary>GtkAssistant::cancel</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant,
               <link linkend="gpointer"><type>gpointer</type></link>      user_data)</programlisting>
<para>The ::cancel signal is emitted when then the cancel button is clicked.</para>
<refsect3 id="GtkAssistant-cancel.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkAssistant-close" role="signal"><title>The <literal>“close”</literal> signal</title>
<indexterm zone="GtkAssistant-close"><primary>GtkAssistant::close</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant,
               <link linkend="gpointer"><type>gpointer</type></link>      user_data)</programlisting>
<para>The ::close signal is emitted either when the close button of
a summary page is clicked, or when the apply button in the last
page in the flow (of type <link linkend="GTK-ASSISTANT-PAGE-CONFIRM:CAPS"><literal>GTK_ASSISTANT_PAGE_CONFIRM</literal></link>) is clicked.</para>
<refsect3 id="GtkAssistant-close.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkAssistant-escape" role="signal"><title>The <literal>“escape”</literal> signal</title>
<indexterm zone="GtkAssistant-escape"><primary>GtkAssistant::escape</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant,
               <link linkend="gpointer"><type>gpointer</type></link>      user_data)</programlisting>
<para>The action signal for the Escape binding.</para>
<refsect3 id="GtkAssistant-escape.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkAssistant-prepare" role="signal"><title>The <literal>“prepare”</literal> signal</title>
<indexterm zone="GtkAssistant-prepare"><primary>GtkAssistant::prepare</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkAssistant"><type>GtkAssistant</type></link> *assistant,
               <link linkend="GtkWidget"><type>GtkWidget</type></link>    *page,
               <link linkend="gpointer"><type>gpointer</type></link>      user_data)</programlisting>
<para>The ::prepare signal is emitted when a new page is set as the
assistant's current page, before making the new page visible.</para>
<para>A handler for this signal can do any preparations which are
necessary before showing <parameter>page</parameter>
.</para>
<refsect3 id="GtkAssistant-prepare.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>assistant</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkAssistant"><type>GtkAssistant</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page</para></entry>
<entry role="parameter_description"><para>the current page</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2>
</refsect1>

</refentry>
