<?xml version="1.0" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="class-gtkassistant">
  <refnamediv>
    <refname>gtk.Assistant</refname>
    <refpurpose>a widget used to guide users through multi-step operations
    (new in PyGTK 2.10)</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.Assistant</classname></ooclass>
      <ooclass><classname><link linkend="class-gtkwindow">gtk.Window</link></classname></ooclass>
      <constructorsynopsis language="python">
        <methodname>gtk.Assistant</methodname>
        <methodparam></methodparam>
      </constructorsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--get-current-page">get_current_page</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--set-current-page">set_current_page</link></methodname>
        <methodparam><parameter role="keyword">page_num</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--get-n-pages">get_n_pages</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--get-nth-page">get_nth_page</link></methodname>
        <methodparam><parameter role="keyword">page_num</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--prepend-page">prepend_page</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--append-page">append_page</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--insert-page">insert_page</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">position</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--set-forward-page-func">set_forward_page_func</link></methodname>
        <methodparam><parameter role="keyword">page_func</parameter></methodparam>
        <methodparam><parameter role="keyword">data</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--set-page-type">set_page_type</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">type</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--get-page-type">get_page_type</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--set-page-title">set_page_title</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">title</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--get-page-title">get_page_title</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--set-page-header-image">set_page_header_image</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">pixbuf</parameter><initializer>None</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--get-page-header-image">get_page_header_image</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--set-page-side-image">set_page_side_image</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">pixbuf</parameter><initializer>None</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--get-page-side-image">get_page_side_image</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--set-page-complete">set_page_complete</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">complete</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--get-page-complete">get_page_complete</link></methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--add-action-widget">add_action_widget</link></methodname>
        <methodparam><parameter role="keyword">child</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--remove-action-widget">remove_action_widget</link></methodname>
        <methodparam><parameter role="keyword">child</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--update-buttons-state">update_buttons_state</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtkassistant--commit">commit</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
    </classsynopsis>

</refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-gtkobject">gtk.Object</link>
    +-- <link linkend="class-gtkwidget">gtk.Widget</link>
      +-- <link linkend="class-gtkcontainer">gtk.Container</link>
        +-- <link linkend="class-gtkbin">gtk.Bin</link>
          +-- <link linkend="class-gtkwindow">gtk.Window</link>
            +-- <link linkend="class-gtkwidget">gtk.Assistant</link>
</synopsis>

  </refsect1>
  
  <refsect1>
		<title>Implemented Interfaces</title>
		<para>
			<link linkend="class-gtkassistant"><classname>gtk.Assistant</classname></link>
			implements 
			<link linkend="class-gtkbuildable"><classname>gtk.Buildable</classname></link>
		</para>
	</refsect1>


  <refsect1 id="properties-gtkassistant">
    <title>gtk.Assistant Properties</title>

    <para><link linkend="properties-gtkobject">gtk.Object Properties</link></para>
    <para><link linkend="properties-gtkwidget">gtk.Widget Properties</link></para>
    <para><link linkend="properties-gtkcontainer">gtk.Container Properties</link></para>
    <para><link linkend="properties-gtkwindow">gtk.Window Properties</link></para>

  </refsect1>

  <refsect1 id="style-properties-gtkassistant">
    <title>gtk.Assistant Style Properties</title>

    <para><link linkend="style-properties-gtkwidget">gtk.Widget Style Properties</link></para>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
	<tgroup cols="3">
	  <colspec column="1" colwidth="1in"/>
	  <colspec column="2" colwidth="1in"/>
	  <colspec column="3" colwidth="4in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"content-padding"</entry>
	      <entry>Read</entry>
	      <entry>Number of pixels around the content pages. Allowed
	      values: >= 0. Default value: 1. This property is available in
	      GTK+ 2.10 and above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"header-padding"</entry>
	      <entry>Read</entry>
	      <entry>Number of pixels around the header. Allowed values: >=
	      0 Default value: 6. This property is available in GTK+ 2.10
	      and above.</entry>
	    </row>

	  </tbody>
	</tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1 id="child-properties-gtkassistant">
    <title>gtk.Assistant Child Properties</title>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
	<tgroup cols="3">
	  <colspec column="1" colwidth="1in"/>
	  <colspec column="2" colwidth="1in"/>
	  <colspec column="3" colwidth="4in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"complete"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, 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. Default value: <literal>False</literal>. This property
	      is available in GTK+ 2.10 and above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"header-image"</entry>
	      <entry>Read-Write</entry>
	      <entry>The <link
	      linkend="class-gdkpixbuf"><classname>gtk.gdk.Pixbuf</classname></link>
	      image that is displayed in the page header. This property is
	      available in GTK+ 2.10 and above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"page-type"</entry>
	      <entry>Read-Write</entry>
	      <entry>The type of the assistant page - one of the <xref
	      linkend="gtk-assistant-page-type-constants"
	      endterm="gtk-assistant-page-type-constants-title"></xref> .
	      Default value:
	      <literal>gtk.ASSISTANT_PAGE_CONTENT</literal>. This property
	      is available in GTK+ 2.10 and above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"sidebar-image"</entry>
	      <entry>Read-Write</entry>
	      <entry>The <link
	      linkend="class-gdkpixbuf"><classname>gtk.gdk.Pixbuf</classname></link>
	      image displayed in the sidebar for the assistant page. Set
	      this to <literal>None</literal> to make the sidebar
	      disappear. This property is available in GTK+ 2.10 and
	      above.</entry>
	    </row>

	    <row valign="top">
	      <entry>"title"</entry>
	      <entry>Read-Write</entry>
	      <entry>The title that is displayed in the page header. If
	      "title" and "header-image" are both <literal>None</literal>,
	      no header is displayed.  Default value:
	      <literal>None</literal>. This property is available in GTK+
	      2.10 and above.</entry>
	    </row>

	  </tbody>
	</tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1 id="signal-prototypes-gtkassistant">
    <title>gtk.Assistant Signal Prototypes</title>

    <para><link linkend="signal-prototypes-gobject">gobject.GObject Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkobject">gtk.Object Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkwidget">gtk.Widget Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkcontainer">gtk.Container Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkwindow">gtk.Window Signal Prototypes</link></para>

    <variablelist>
      <varlistentry>
        <term>"<link linkend="signal-gtkassistant--apply">apply</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkassistant--cancel">cancel</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkassistant--close">close</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkassistant--prepare">prepare</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>page</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
    </variablelist>

  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>A <link
    linkend="class-gtkassistant"><classname>gtk.Assistant</classname></link>
    is a widget used to guide the user through a complex operation by
    breaking it into several steps. Each step is generally handled by one
    assistant page. The assistant controls the page flow to collect the
    necessary data to complete the application task.</para>

  </refsect1>

  <refsect1>
    <title>Constructor</title>

    <refsect2 id="constructor-gtkassistant">
      <title>gtk.Assistant</title>

      <programlisting><constructorsynopsis language="python">
        <methodname>gtk.Assistant</methodname>
      </constructorsynopsis></programlisting>
      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a new <link
          linkend="class-gtkassistant"><classname>gtk.Assistant</classname></link>
          object.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This constructor is available in PyGTK 2.10 and above.</para>
      </note>

      <para>Creates a new <link
      linkend="class-gtkassistant"><classname>gtk.Assistant</classname></link>.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtkassistant--get-current-page">
      <title>gtk.Assistant.get_current_page</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_current_page</methodname>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <term><parameter
role="keyword"></parameter>&nbsp;:</term>
	  <listitem><simpara>The index (starting from 0) of the current page
	  in the assistant, if the assistant has no pages, -1 will be
	  returned.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>get_current_page</methodname>() method returns
      the page number of the current page.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--set-current-page">
      <title>gtk.Assistant.set_current_page</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_current_page</methodname>
	  <methodparam><parameter
			 role="keyword">page_num</parameter></methodparam>
	</methodsynopsis></programlisting>
        <variablelist>
          <varlistentry>
            <term><parameter role="keyword">page_num</parameter>&nbsp;:</term>
            <listitem><simpara>the 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 assistant, there will be no
            change.</simpara></listitem>
          </varlistentry>
        </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>set_current_page</methodname>() method switches
      the page to the page specified by
      <parameter>page_num</parameter>. Note that this will only be necessary
      in custom buttons, as the assistant flow can be set with the <link
      linkend="method-gtkassistant--set-forward-page-func"><methodname>set_forward_page_func</methodname>()</link>
      method.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--get-n-pages">
      <title>gtk.Assistant.get_n_pages</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_n_pages</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>The number of pages in the assistant.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>get_n_pages</methodname>() method returns the
      number of pages in the assistant</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--get-nth-page">
      <title>gtk.Assistant.get_nth_page</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_nth_page</methodname>
        <methodparam><parameter role="keyword">page_num</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page_num</parameter>&nbsp;:</term>
          <listitem><simpara>The index of a page in the assistant, or -1 to
          get the last page;</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>The child widget, or <literal>None</literal> if
          <parameter>page_num</parameter> is out of
          bounds.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>get_nth_page</methodname>() method returns the
      child widget contained in the page specified by
      <parameter>page_num</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--prepend-page">
      <title>gtk.Assistant.prepend_page</title>

      <programlisting><methodsynopsis language="python">
        <methodname>prepend_page</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a <link
          linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the index (starting at 0) of the inserted
          page</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>prepend_page</methodname>() method prepends the
      page specified by <parameter>page</parameter> to the assistant.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--append-page">
      <title>gtk.Assistant.append_page</title>

      <programlisting><methodsynopsis language="python">
        <methodname>append_page</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a <link linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the index (starting at 0) of the inserted
          page</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>append_page</methodname>() method appends the
      page specified by <parameter>page</parameter> to the assistant.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--insert-page">
      <title>gtk.Assistant.insert_page</title>

      <programlisting><methodsynopsis language="python">
        <methodname>insert_page</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">position</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a <link
          linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">position</parameter>&nbsp;:</term>
          <listitem><simpara>the index (starting at 0) at which to insert the
          page, or -1 to append the page to the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the index (starting from 0) of the inserted
          page</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>insert_page</methodname>() method inserts the
      page specified by <parameter>page</parameter> in the assistant at the
      position index specified by <parameter>position</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--set-forward-page-func">
      <title>gtk.Assistant.set_forward_page_func</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_forward_page_func</methodname>
        <methodparam><parameter role="keyword">page_func</parameter></methodparam>
        <methodparam><parameter role="keyword">data</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page_func</parameter>&nbsp;:</term>
          <listitem><simpara>the function, or <literal>None</literal> to use
          the default function.</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">data</parameter>&nbsp;:</term>
          <listitem><simpara>user data for
          <parameter>page_func</parameter></simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>set_forward_page_func</methodname>() method sets
      the page forwarding function to be
      <parameter>page_func</parameter>. 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
      <literal>None</literal> will make the assistant use the default
      forward function, which just goes to the next visible page.</para>

      <para>The signature of <parameter>page_func</parameter> is:</para>

      <programlisting>
        def page_func(current_page, user_data):
      </programlisting>

      <para>where <parameter>current_page</parameter> is the index of the
      current page and <parameter>user_data</parameter> is
      <parameter>data</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--set-page-type">
      <title>gtk.Assistant.set_page_type</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_page_type</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">type</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a page in the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">type</parameter>&nbsp;:</term>
          <listitem><simpara>the new type for
          <parameter>page</parameter></simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>set_page_type</methodname>() method sets the
      page type, which specifies the page behavior, for the page specified
      by <parameter>page</parameter> to the value specified by
      <parameter>type</parameter>. The page type must be one of the <xref
      linkend="gtk-assistant-page-type-constants"
      endterm="gtk-assistant-page-type-constants-title"></xref>.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--get-page-type">
      <title>gtk.Assistant.get_page_type</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_page_type</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a page in the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the page type of
          <parameter>page</parameter>.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>get_page_type</methodname>() method returns the
      page type of the page specified by <parameter>page</parameter>. The
      page type will be one of the <xref
      linkend="gtk-assistant-page-type-constants"
      endterm="gtk-assistant-page-type-constants-title"></xref>.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--set-page-title">
      <title>gtk.Assistant.set_page_title</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_page_title</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">title</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a page of the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">title</parameter>&nbsp;:</term>
          <listitem><simpara>the new title for
          <parameter>page</parameter></simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>set_page_title</methodname>() method sets the
      title for the page specified by <parameter>page</parameter> to the
      string specified by <parameter>title</parameter>. The title is
      displayed in the header area of the assistant when
      <parameter>page</parameter> is the current page.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--get-page-title">
      <title>gtk.Assistant.get_page_title</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_page_title</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a page of the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the title for
          <parameter>page</parameter>.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>get_page_title</methodname>() method returns the
      title for the page specified by <parameter>page</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--set-page-header-image">
      <title>gtk.Assistant.set_page_header_image</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_page_header_image</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">pixbuf</parameter><initializer>None</initializer></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a page of the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">pixbuf</parameter>&nbsp;:</term>
          <listitem><simpara>the new header image for
          <parameter>page</parameter> or
          <literal>None</literal>.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>set_page_header_image</methodname>() method sets
      the <link
      linkend="class-gdkpixbuf"><classname>gtk.gdk.Pixbuf</classname></link>
      specified by <parameter>pixbuf</parameter> as the header image for the
      page specified by <parameter>page</parameter>. This image is displayed
      in the header area of the assistant when <parameter>page</parameter>
      is the current page. If <parameter>pixbuf</parameter> is
      <literal>None</literal> the header image will be removed.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--get-page-header-image">
      <title>gtk.Assistant.get_page_header_image</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_page_header_image</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a page of the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the header image for <parameter>page</parameter>,
          or <literal>None</literal> if there's no header image for the
          page.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>get_page_header_image</methodname>() method
      returns the header image for the page specified by
      <parameter>page</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--set-page-side-image">
      <title>gtk.Assistant.set_page_side_image</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_page_side_image</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">pixbuf</parameter><initializer>None</initializer></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a page of the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">pixbuf</parameter>&nbsp;:</term>
          <listitem><simpara>the new side image for
          <parameter>page</parameter> or
          <literal>None</literal>.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>set_page_side_image</methodname>() method sets
      the <link
      linkend="class-gdkpixbuf"><classname>gtk.gdk.Pixbuf</classname></link>
      specified by <parameter>pixbuf</parameter> as the header image for the
      page specified by <parameter>page</parameter>. This image is displayed
      in the side area of the assistant when <parameter>page</parameter> is
      the current page. If <parameter>pixbuf</parameter> is
      <literal>None</literal> the side image will be removed.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--get-page-side-image">
      <title>gtk.Assistant.get_page_side_image</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_page_side_image</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a page of the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the side image for <parameter>page</parameter>,
          or <literal>None</literal> if there's no side image for the
          page.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>get_page_side_image</methodname>() method
      returns the header image for the page specified by
      <parameter>page</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--set-page-complete">
      <title>gtk.Assistant.set_page_complete</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_page_complete</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
        <methodparam><parameter role="keyword">complete</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a page of the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">complete</parameter>&nbsp;:</term>
          <listitem><simpara>if <literal>True</literal> the page status is
          complete.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>set_page_complete</methodname>() method sets the
      "complete" property of the page specified by
      <parameter>page</parameter> to the value specified by
      <parameter>complete</parameter>. If <parameter>complete</parameter> is
      <literal>True</literal> the <parameter>page</parameter> contents are
      complete. This will make the assistant update the state of its
      buttons.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--get-page-complete">
      <title>gtk.Assistant.get_page_complete</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_page_complete</methodname>
        <methodparam><parameter role="keyword">page</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">page</parameter>&nbsp;:</term>
          <listitem><simpara>a page of the assistant</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if
          <parameter>page</parameter> is complete.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>get_page_complete</methodname>() method returns
      the value of the "complete" property of the page specified by
      <parameter>page</parameter>. If the return value is
      <literal>True</literal>, the <parameter>page</parameter> contents are
      complete.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--add-action-widget">
      <title>gtk.Assistant.add_action_widget</title>

      <programlisting><methodsynopsis language="python">
        <methodname>add_action_widget</methodname>
        <methodparam><parameter role="keyword">child</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">child</parameter>&nbsp;:</term>
          <listitem><simpara>a <link
          linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>add_action_widget</methodname>() method adds the
      widget specified by <parameter>child</parameter> to the action area of
      the assistant.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--remove-action-widget">
      <title>gtk.Assistant.remove_action_widget</title>

      <programlisting><methodsynopsis language="python">
        <methodname>remove_action_widget</methodname>
        <methodparam><parameter role="keyword">child</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">child</parameter>&nbsp;:</term>
          <listitem><simpara>a <link
          linkend="class-gtkwidget"><classname>gtk.Widget</classname></link></simpara></listitem>
        </varlistentry>
      </variablelist>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>remove_action_widget</methodname>() method
      removes the widget specified by <parameter>child</parameter> from the
      action area of the assistant.</para>

    </refsect2>

    <refsect2 id="method-gtkassistant--update-buttons-state">
      <title>gtk.Assistant.update_buttons_state</title>

      <programlisting><methodsynopsis language="python">
        <methodname>update_buttons_state</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <note>
        <para>This method is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <methodname>update_buttons_state</methodname>() method
      forces the assistant to recompute the state of its buttons.</para>
      
      <para>PyGTK 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>

    </refsect2>

    <refsect2 id="method-gtkassistant--commit">
      <title>gtk.Assistant.commit</title>

      <programlisting><methodsynopsis language="python">
        <methodname>commit</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <note>
        <para>This method is available in PyGTK 2.22 and above.</para>
      </note>

      <para>The <methodname>commit</methodname>() method 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>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Signals</title>

    <refsect2 id="signal-gtkassistant--apply">
      <title>The "apply" Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>assistant</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

        <variablelist>
          <varlistentry>
            <term><parameter>assistant</parameter>&nbsp;:</term>
            <listitem><simpara>the <link
            linkend="class-gtkassistant"><classname>gtk.Assistant</classname></link>
            that received the signal</simpara></listitem>
          </varlistentry>
          <varlistentry>
            <term><parameter>user_param1</parameter>&nbsp;:</term>
            <listitem><simpara>the first user parameter (if any) specified
            with the <link
            linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
            method</simpara></listitem>
          </varlistentry>
          <varlistentry>
            <term><parameter>...</parameter>&nbsp;:</term>
            <listitem><simpara>additional user parameters (if
            any)</simpara></listitem>
          </varlistentry>
        </variablelist>

      <para>The "apply" signal is emitted when the apply button is
      clicked. The default behavior of the <link
      linkend="class-gtkassistant"><classname>gtk.Assistant</classname></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 to put a page of type
      <literal>gtk.ASSISTANT_PAGE_PROGRESS</literal> after the confirmation
      page and handle this operation within the "prepare" signal of the
      progress page.</para>

    </refsect2>

    <refsect2 id="signal-gtkassistant--cancel">
      <title>The "cancel" Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>assistant</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>assistant</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
	  linkend="class-gtkassistant"><classname>gtk.Assistant</classname></link>
	  that received the signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "cancel" signal is emitted when the cancel button is
      clicked.</para>

    </refsect2>

    <refsect2 id="signal-gtkassistant--close">
      <title>The "close" Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>assistant</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>assistant</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
	  linkend="class-gtkassistant"><classname>gtk.Assistant</classname></link>
	  that received the signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <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 <literal>gtk.ASSISTANT_PAGE_CONFIRM</literal>) is
      clicked.</para>

    </refsect2>

    <refsect2 id="signal-gtkassistant--prepare">
      <title>The "prepare" Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>assistant</parameter></methodparam>
	  <methodparam><parameter>page</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>assistant</parameter>&nbsp;:</term>
	  <listitem><simpara>the <link
	  linkend="class-gtkassistant"><classname>gtk.Assistant</classname></link>
	  that received the signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>page</parameter>&nbsp;:</term>
	  <listitem><simpara>the new page to prepare for
	  display</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "prepare" signal is emitted when a new page is set as the
      assistant's current page, but before making the new page visible. A
      handler for this signal can do any preparation that are necessary
      before showing <parameter>page</parameter>.</para>

    </refsect2>

  </refsect1>

</refentry>
