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

<refnamediv>
<refname>GtkNotebook</refname>
<refpurpose>A tabbed notebook container</refpurpose>
</refnamediv>

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

<synopsis>

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

                    <link linkend="GtkNotebook-struct">GtkNotebook</link>;
                    <link linkend="GtkNotebookPage">GtkNotebookPage</link>;
<link linkend="GtkWidget">GtkWidget</link> *         <link linkend="gtk-notebook-new">gtk_notebook_new</link>                    (void);
<link linkend="gint">gint</link>                <link linkend="gtk-notebook-append-page">gtk_notebook_append_page</link>            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label);
<link linkend="gint">gint</link>                <link linkend="gtk-notebook-append-page-menu">gtk_notebook_append_page_menu</link>       (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label,
                                                         <link linkend="GtkWidget">GtkWidget</link> *menu_label);
<link linkend="gint">gint</link>                <link linkend="gtk-notebook-prepend-page">gtk_notebook_prepend_page</link>           (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label);
<link linkend="gint">gint</link>                <link linkend="gtk-notebook-prepend-page-menu">gtk_notebook_prepend_page_menu</link>      (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label,
                                                         <link linkend="GtkWidget">GtkWidget</link> *menu_label);
<link linkend="gint">gint</link>                <link linkend="gtk-notebook-insert-page">gtk_notebook_insert_page</link>            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label,
                                                         <link linkend="gint">gint</link> position);
<link linkend="gint">gint</link>                <link linkend="gtk-notebook-insert-page-menu">gtk_notebook_insert_page_menu</link>       (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label,
                                                         <link linkend="GtkWidget">GtkWidget</link> *menu_label,
                                                         <link linkend="gint">gint</link> position);
<link linkend="void">void</link>                <link linkend="gtk-notebook-remove-page">gtk_notebook_remove_page</link>            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gint">gint</link> page_num);
#define             <link linkend="gtk-notebook-current-page">gtk_notebook_current_page</link>
<link linkend="gint">gint</link>                <link linkend="gtk-notebook-page-num">gtk_notebook_page_num</link>               (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);
#define             <link linkend="gtk-notebook-set-page">gtk_notebook_set_page</link>
<link linkend="void">void</link>                <link linkend="gtk-notebook-next-page">gtk_notebook_next_page</link>              (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="void">void</link>                <link linkend="gtk-notebook-prev-page">gtk_notebook_prev_page</link>              (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="void">void</link>                <link linkend="gtk-notebook-reorder-child">gtk_notebook_reorder_child</link>          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="gint">gint</link> position);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-tab-pos">gtk_notebook_set_tab_pos</link>            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkPositionType">GtkPositionType</link> pos);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-show-tabs">gtk_notebook_set_show_tabs</link>          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gboolean">gboolean</link> show_tabs);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-show-border">gtk_notebook_set_show_border</link>        (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gboolean">gboolean</link> show_border);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-scrollable">gtk_notebook_set_scrollable</link>         (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gboolean">gboolean</link> scrollable);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-tab-border">gtk_notebook_set_tab_border</link>         (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="guint">guint</link> border_width);
<link linkend="void">void</link>                <link linkend="gtk-notebook-popup-enable">gtk_notebook_popup_enable</link>           (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="void">void</link>                <link linkend="gtk-notebook-popup-disable">gtk_notebook_popup_disable</link>          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="gint">gint</link>                <link linkend="gtk-notebook-get-current-page">gtk_notebook_get_current_page</link>       (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="GtkWidget">GtkWidget</link> *         <link linkend="gtk-notebook-get-menu-label">gtk_notebook_get_menu_label</link>         (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);
<link linkend="GtkWidget">GtkWidget</link>*          <link linkend="gtk-notebook-get-nth-page">gtk_notebook_get_nth_page</link>           (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gint">gint</link> page_num);
<link linkend="gint">gint</link>                <link linkend="gtk-notebook-get-n-pages">gtk_notebook_get_n_pages</link>            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="GtkWidget">GtkWidget</link> *         <link linkend="gtk-notebook-get-tab-label">gtk_notebook_get_tab_label</link>          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);
<link linkend="void">void</link>                <link linkend="gtk-notebook-query-tab-label-packing">gtk_notebook_query_tab_label_packing</link>
                                                        (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="gboolean">gboolean</link> *expand,
                                                         <link linkend="gboolean">gboolean</link> *fill,
                                                         <link linkend="GtkPackType">GtkPackType</link> *pack_type);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-homogeneous-tabs">gtk_notebook_set_homogeneous_tabs</link>   (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gboolean">gboolean</link> homogeneous);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-menu-label">gtk_notebook_set_menu_label</link>         (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *menu_label);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-menu-label-text">gtk_notebook_set_menu_label_text</link>    (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         const <link linkend="gchar">gchar</link> *menu_text);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-tab-hborder">gtk_notebook_set_tab_hborder</link>        (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="guint">guint</link> tab_hborder);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-tab-label">gtk_notebook_set_tab_label</link>          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-tab-label-packing">gtk_notebook_set_tab_label_packing</link>  (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="gboolean">gboolean</link> expand,
                                                         <link linkend="gboolean">gboolean</link> fill,
                                                         <link linkend="GtkPackType">GtkPackType</link> pack_type);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-tab-label-text">gtk_notebook_set_tab_label_text</link>     (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         const <link linkend="gchar">gchar</link> *tab_text);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-tab-vborder">gtk_notebook_set_tab_vborder</link>        (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="guint">guint</link> tab_vborder);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-tab-reorderable">gtk_notebook_set_tab_reorderable</link>    (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="gboolean">gboolean</link> reorderable);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-tab-detachable">gtk_notebook_set_tab_detachable</link>     (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="gboolean">gboolean</link> detachable);
const <link linkend="gchar">gchar</link> *       <link linkend="gtk-notebook-get-menu-label-text">gtk_notebook_get_menu_label_text</link>    (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-notebook-get-scrollable">gtk_notebook_get_scrollable</link>         (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-notebook-get-show-border">gtk_notebook_get_show_border</link>        (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-notebook-get-show-tabs">gtk_notebook_get_show_tabs</link>          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
const <link linkend="gchar">gchar</link> *       <link linkend="gtk-notebook-get-tab-label-text">gtk_notebook_get_tab_label_text</link>     (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);
<link linkend="GtkPositionType">GtkPositionType</link>     <link linkend="gtk-notebook-get-tab-pos">gtk_notebook_get_tab_pos</link>            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-notebook-get-tab-reorderable">gtk_notebook_get_tab_reorderable</link>    (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-notebook-get-tab-detachable">gtk_notebook_get_tab_detachable</link>     (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-current-page">gtk_notebook_set_current_page</link>       (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gint">gint</link> page_num);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-group-id">gtk_notebook_set_group_id</link>           (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gint">gint</link> group_id);
<link linkend="gint">gint</link>                <link linkend="gtk-notebook-get-group-id">gtk_notebook_get_group_id</link>           (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-group">gtk_notebook_set_group</link>              (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gpointer">gpointer</link> group);
<link linkend="gpointer">gpointer</link>            <link linkend="gtk-notebook-get-group">gtk_notebook_get_group</link>              (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);
<link linkend="GtkNotebook">GtkNotebook</link> *       (<link linkend="GtkNotebookWindowCreationFunc">*GtkNotebookWindowCreationFunc</link>)    (<link linkend="GtkNotebook">GtkNotebook</link> *source,
                                                         <link linkend="GtkWidget">GtkWidget</link> *page,
                                                         <link linkend="gint">gint</link> x,
                                                         <link linkend="gint">gint</link> y,
                                                         <link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>                <link linkend="gtk-notebook-set-window-creation-hook">gtk_notebook_set_window_creation_hook</link>
                                                        (<link linkend="GtkNotebookWindowCreationFunc">GtkNotebookWindowCreationFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> destroy);
</synopsis>
</refsynopsisdiv>

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



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


<refsect1 id="GtkNotebook.properties" role="properties">
<title role="properties.title">Properties</title>
<synopsis>
  &quot;<link linkend="GtkNotebook--enable-popup">enable-popup</link>&quot;             <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkNotebook--group">group</link>&quot;                    <link linkend="gpointer">gpointer</link>              : Read / Write
  &quot;<link linkend="GtkNotebook--group-id">group-id</link>&quot;                 <link linkend="gint">gint</link>                  : Read / Write
  &quot;<link linkend="GtkNotebook--homogeneous">homogeneous</link>&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkNotebook--page">page</link>&quot;                     <link linkend="gint">gint</link>                  : Read / Write
  &quot;<link linkend="GtkNotebook--scrollable">scrollable</link>&quot;               <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkNotebook--show-border">show-border</link>&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkNotebook--show-tabs">show-tabs</link>&quot;                <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkNotebook--tab-border">tab-border</link>&quot;               <link linkend="guint">guint</link>                 : Write
  &quot;<link linkend="GtkNotebook--tab-hborder">tab-hborder</link>&quot;              <link linkend="guint">guint</link>                 : Read / Write
  &quot;<link linkend="GtkNotebook--tab-pos">tab-pos</link>&quot;                  <link linkend="GtkPositionType">GtkPositionType</link>       : Read / Write
  &quot;<link linkend="GtkNotebook--tab-vborder">tab-vborder</link>&quot;              <link linkend="guint">guint</link>                 : Read / Write
</synopsis>
</refsect1>
<refsect1 id="GtkNotebook.child-properties" role="child_properties">
<title role="child_properties.title">Child Properties</title>
<synopsis>
  &quot;<link linkend="GtkNotebook--c-detachable">detachable</link>&quot;               <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkNotebook--c-menu-label">menu-label</link>&quot;               <link linkend="gchar">gchar</link>*                : Read / Write
  &quot;<link linkend="GtkNotebook--c-position">position</link>&quot;                 <link linkend="gint">gint</link>                  : Read / Write
  &quot;<link linkend="GtkNotebook--c-reorderable">reorderable</link>&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkNotebook--c-tab-expand">tab-expand</link>&quot;               <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkNotebook--c-tab-fill">tab-fill</link>&quot;                 <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkNotebook--c-tab-label">tab-label</link>&quot;                <link linkend="gchar">gchar</link>*                : Read / Write
  &quot;<link linkend="GtkNotebook--c-tab-pack">tab-pack</link>&quot;                 <link linkend="GtkPackType">GtkPackType</link>           : Read / Write
</synopsis>
</refsect1>
<refsect1 id="GtkNotebook.style-properties" role="style_properties">
<title role="style_properties.title">Style Properties</title>
<synopsis>
  &quot;<link linkend="GtkNotebook--s-arrow-spacing">arrow-spacing</link>&quot;            <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkNotebook--s-has-backward-stepper">has-backward-stepper</link>&quot;     <link linkend="gboolean">gboolean</link>              : Read
  &quot;<link linkend="GtkNotebook--s-has-forward-stepper">has-forward-stepper</link>&quot;      <link linkend="gboolean">gboolean</link>              : Read
  &quot;<link linkend="GtkNotebook--s-has-secondary-backward-stepper">has-secondary-backward-stepper</link>&quot; <link linkend="gboolean">gboolean</link>              : Read
  &quot;<link linkend="GtkNotebook--s-has-secondary-forward-stepper">has-secondary-forward-stepper</link>&quot; <link linkend="gboolean">gboolean</link>              : Read
  &quot;<link linkend="GtkNotebook--s-tab-curvature">tab-curvature</link>&quot;            <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkNotebook--s-tab-overlap">tab-overlap</link>&quot;              <link linkend="gint">gint</link>                  : Read
</synopsis>
</refsect1>

<refsect1 id="GtkNotebook.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>
  &quot;<link linkend="GtkNotebook-change-current-page">change-current-page</link>&quot;                            : Run Last / Action
  &quot;<link linkend="GtkNotebook-create-window">create-window</link>&quot;                                  : Run Last
  &quot;<link linkend="GtkNotebook-focus-tab">focus-tab</link>&quot;                                      : Run Last / Action
  &quot;<link linkend="GtkNotebook-move-focus-out">move-focus-out</link>&quot;                                 : Run Last / Action
  &quot;<link linkend="GtkNotebook-page-added">page-added</link>&quot;                                     : Run Last
  &quot;<link linkend="GtkNotebook-page-removed">page-removed</link>&quot;                                   : Run Last
  &quot;<link linkend="GtkNotebook-page-reordered">page-reordered</link>&quot;                                 : Run Last
  &quot;<link linkend="GtkNotebook-reorder-tab">reorder-tab</link>&quot;                                    : Run Last / Action
  &quot;<link linkend="GtkNotebook-select-page">select-page</link>&quot;                                    : Run Last / Action
  &quot;<link linkend="GtkNotebook-switch-page">switch-page</link>&quot;                                    : Run Last
</synopsis>
</refsect1>


<refsect1 id="GtkNotebook.description" role="desc">
<title role="desc.title">Description</title>
<para>
The <link linkend="GtkNotebook"><type>GtkNotebook</type></link> widget is a <link linkend="GtkContainer"><type>GtkContainer</type></link> whose children are pages that
can be switched between using tab labels along one edge.
</para>
<para>
There are many configuration options for <link linkend="GtkNotebook"><type>GtkNotebook</type></link>. Among other
things, you can choose on which edge the tabs appear
(see <link linkend="gtk-notebook-set-tab-pos"><function>gtk_notebook_set_tab_pos()</function></link>), whether, if there are too many
tabs to fit the notebook should be made bigger or scrolling
arrows added (see gtk_notebook_set_scrollable), and whether there
will be a popup menu allowing the users to switch pages.
(see <link linkend="gtk-notebook-popup-enable"><function>gtk_notebook_popup_enable()</function></link>, <link linkend="gtk-notebook-popup-disable"><function>gtk_notebook_popup_disable()</function></link>)
</para>
<refsect2 id="GtkNotebook-BUILDER-UI">
<title>GtkNotebook as GtkBuildable</title>
<para>
The GtkNoteboopk implementation of the GtkBuildable interface
supports placing children into tabs by specifying "tab" as the
"type" attribute of a &lt;child&gt; element. Note that the content
of the tab must be created before the tab can be filled.
A tab child can be specified without specifying a &lt;child&gt;
type attribute.
</para>
<example>
<title>A UI definition fragment with GtkNotebook</title>
<programlisting><![CDATA[
<object class="GtkNotebook">
  <child>
    <object class="GtkLabel" id="notebook-content">
      <property name="label">Content</property>
    </object>
  </child>
  <child type="tab">
    <object class="GtkLabel" id="notebook-tab">
      <property name="label">Tab</property>
    </object>
  </child>
</object>
]]></programlisting>
</example>
</refsect2>
</refsect1>

<refsect1 id="GtkNotebook.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="GtkNotebook-struct" role="struct">
<title>GtkNotebook</title>
<indexterm zone="GtkNotebook-struct"><primary sortas="Notebook">GtkNotebook</primary></indexterm><programlisting>typedef struct _GtkNotebook GtkNotebook;</programlisting>
<para>
</para></refsect2>
<refsect2 id="GtkNotebookPage" role="struct">
<title>GtkNotebookPage</title>
<indexterm zone="GtkNotebookPage"><primary sortas="NotebookPage">GtkNotebookPage</primary></indexterm><programlisting>typedef struct _GtkNotebookPage GtkNotebookPage;</programlisting>
<para>
The <link linkend="GtkNotebookPage"><type>GtkNotebookPage</type></link> is an opaque implementation detail of <link linkend="GtkNotebook"><type>GtkNotebook</type></link>.
</para></refsect2>
<refsect2 id="gtk-notebook-new" role="function">
<title>gtk_notebook_new ()</title>
<indexterm zone="gtk-notebook-new"><primary sortas="notebook_new">gtk_notebook_new</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link> *         gtk_notebook_new                    (void);</programlisting>
<para>
Creates a new <link linkend="GtkNotebook"><type>GtkNotebook</type></link> widget with no pages.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the newly created <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-append-page" role="function">
<title>gtk_notebook_append_page ()</title>
<indexterm zone="gtk-notebook-append-page"><primary sortas="notebook_append_page">gtk_notebook_append_page</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_notebook_append_page            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label);</programlisting>
<para>
Appends a page to <parameter>notebook</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to use as the contents of the page.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_label</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to be used as the label for the page,
            or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to use the default label, 'page N'.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the index (starting from 0) of the appended
page in the notebook, or -1 if function fails
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-append-page-menu" role="function">
<title>gtk_notebook_append_page_menu ()</title>
<indexterm zone="gtk-notebook-append-page-menu"><primary sortas="notebook_append_page_menu">gtk_notebook_append_page_menu</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_notebook_append_page_menu       (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label,
                                                         <link linkend="GtkWidget">GtkWidget</link> *menu_label);</programlisting>
<para>
Appends a page to <parameter>notebook</parameter>, specifying the widget to use as the
label in the popup menu.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to use as the contents of the page.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_label</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to be used as the label for the page,
            or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to use the default label, 'page N'.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>menu_label</parameter>&#160;:</term>
<listitem><simpara> the widget to use as a label for the page-switch
             menu, if that is enabled. If <link linkend="NULL--CAPS"><literal>NULL</literal></link>, and <parameter>tab_label</parameter>
             is a <link linkend="GtkLabel"><type>GtkLabel</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then the menu label will be
             a newly created label with the same text as <parameter>tab_label</parameter>;
             If <parameter>tab_label</parameter> is not a <link linkend="GtkLabel"><type>GtkLabel</type></link>, <parameter>menu_label</parameter> must be
             specified if the page-switch menu is to be used.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the index (starting from 0) of the appended
page in the notebook, or -1 if function fails
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-prepend-page" role="function">
<title>gtk_notebook_prepend_page ()</title>
<indexterm zone="gtk-notebook-prepend-page"><primary sortas="notebook_prepend_page">gtk_notebook_prepend_page</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_notebook_prepend_page           (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label);</programlisting>
<para>
Prepends a page to <parameter>notebook</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to use as the contents of the page.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_label</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to be used as the label for the page,
            or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to use the default label, 'page N'.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the index (starting from 0) of the prepended
page in the notebook, or -1 if function fails
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-prepend-page-menu" role="function">
<title>gtk_notebook_prepend_page_menu ()</title>
<indexterm zone="gtk-notebook-prepend-page-menu"><primary sortas="notebook_prepend_page_menu">gtk_notebook_prepend_page_menu</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_notebook_prepend_page_menu      (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label,
                                                         <link linkend="GtkWidget">GtkWidget</link> *menu_label);</programlisting>
<para>
Prepends a page to <parameter>notebook</parameter>, specifying the widget to use as the
label in the popup menu.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to use as the contents of the page.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_label</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to be used as the label for the page,
            or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to use the default label, 'page N'.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>menu_label</parameter>&#160;:</term>
<listitem><simpara> the widget to use as a label for the page-switch
             menu, if that is enabled. If <link linkend="NULL--CAPS"><literal>NULL</literal></link>, and <parameter>tab_label</parameter>
             is a <link linkend="GtkLabel"><type>GtkLabel</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then the menu label will be
             a newly created label with the same text as <parameter>tab_label</parameter>;
             If <parameter>tab_label</parameter> is not a <link linkend="GtkLabel"><type>GtkLabel</type></link>, <parameter>menu_label</parameter> must be
             specified if the page-switch menu is to be used.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the index (starting from 0) of the prepended
page in the notebook, or -1 if function fails
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-insert-page" role="function">
<title>gtk_notebook_insert_page ()</title>
<indexterm zone="gtk-notebook-insert-page"><primary sortas="notebook_insert_page">gtk_notebook_insert_page</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_notebook_insert_page            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label,
                                                         <link linkend="gint">gint</link> position);</programlisting>
<para>
Insert a page into <parameter>notebook</parameter> at the given position.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to use as the contents of the page.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_label</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to be used as the label for the page,
            or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to use the default label, 'page N'.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara> the index (starting at 0) at which to insert the page,
           or -1 to append the page after all other pages.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the index (starting from 0) of the inserted
page in the notebook, or -1 if function fails
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-insert-page-menu" role="function">
<title>gtk_notebook_insert_page_menu ()</title>
<indexterm zone="gtk-notebook-insert-page-menu"><primary sortas="notebook_insert_page_menu">gtk_notebook_insert_page_menu</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_notebook_insert_page_menu       (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label,
                                                         <link linkend="GtkWidget">GtkWidget</link> *menu_label,
                                                         <link linkend="gint">gint</link> position);</programlisting>
<para>
Insert a page into <parameter>notebook</parameter> at the given position, specifying
the widget to use as the label in the popup menu.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to use as the contents of the page.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_label</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkWidget"><type>GtkWidget</type></link> to be used as the label for the page,
            or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to use the default label, 'page N'.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>menu_label</parameter>&#160;:</term>
<listitem><simpara> the widget to use as a label for the page-switch
             menu, if that is enabled. If <link linkend="NULL--CAPS"><literal>NULL</literal></link>, and <parameter>tab_label</parameter>
             is a <link linkend="GtkLabel"><type>GtkLabel</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then the menu label will be
             a newly created label with the same text as <parameter>tab_label</parameter>;
             If <parameter>tab_label</parameter> is not a <link linkend="GtkLabel"><type>GtkLabel</type></link>, <parameter>menu_label</parameter> must be
             specified if the page-switch menu is to be used.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara> the index (starting at 0) at which to insert the page,
           or -1 to append the page after all other pages.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the index (starting from 0) of the inserted
page in the notebook
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-remove-page" role="function">
<title>gtk_notebook_remove_page ()</title>
<indexterm zone="gtk-notebook-remove-page"><primary sortas="notebook_remove_page">gtk_notebook_remove_page</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_remove_page            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gint">gint</link> page_num);</programlisting>
<para>
Removes a page from the notebook given its index
in the notebook.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page_num</parameter>&#160;:</term>
<listitem><simpara> the index of a notebook page, starting
           from 0. If -1, the last page will
           be removed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-current-page" role="macro" condition="deprecated:Use gtk_notebook_get_current_page() instead.">
<title>gtk_notebook_current_page</title>
<indexterm zone="gtk-notebook-current-page" role="deprecated"><primary sortas="notebook_current_page">gtk_notebook_current_page</primary></indexterm><programlisting>#define	gtk_notebook_current_page               gtk_notebook_get_current_page
</programlisting>
<warning><para><literal>gtk_notebook_current_page</literal> is deprecated and should not be used in newly-written code. Use <link linkend="gtk-notebook-get-current-page"><function>gtk_notebook_get_current_page()</function></link> instead.</para></warning>
<para>
Deprecated compatibility macro.
</para></refsect2>
<refsect2 id="gtk-notebook-page-num" role="function">
<title>gtk_notebook_page_num ()</title>
<indexterm zone="gtk-notebook-page-num"><primary sortas="notebook_page_num">gtk_notebook_page_num</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_notebook_page_num               (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);</programlisting>
<para>
Finds the index of the page which contains the given child
widget.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkWidget"><type>GtkWidget</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the index of the page containing <parameter>child</parameter>, or
  -1 if <parameter>child</parameter> is not in the notebook.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-page" role="macro" condition="deprecated:Use gtk_notebook_set_current_page() instead.">
<title>gtk_notebook_set_page</title>
<indexterm zone="gtk-notebook-set-page" role="deprecated"><primary sortas="notebook_set_page">gtk_notebook_set_page</primary></indexterm><programlisting>#define gtk_notebook_set_page                   gtk_notebook_set_current_page
</programlisting>
<warning><para><literal>gtk_notebook_set_page</literal> is deprecated and should not be used in newly-written code. Use <link linkend="gtk-notebook-set-current-page"><function>gtk_notebook_set_current_page()</function></link> instead.</para></warning>
<para>
Deprecated compatibility macro.
</para></refsect2>
<refsect2 id="gtk-notebook-next-page" role="function">
<title>gtk_notebook_next_page ()</title>
<indexterm zone="gtk-notebook-next-page"><primary sortas="notebook_next_page">gtk_notebook_next_page</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_next_page              (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Switches to the next page. Nothing happens if the current page is
the last page.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-prev-page" role="function">
<title>gtk_notebook_prev_page ()</title>
<indexterm zone="gtk-notebook-prev-page"><primary sortas="notebook_prev_page">gtk_notebook_prev_page</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_prev_page              (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Switches to the previous page. Nothing happens if the current page
is the first page.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-reorder-child" role="function">
<title>gtk_notebook_reorder_child ()</title>
<indexterm zone="gtk-notebook-reorder-child"><primary sortas="notebook_reorder_child">gtk_notebook_reorder_child</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_reorder_child          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="gint">gint</link> position);</programlisting>
<para>
Reorders the page containing <parameter>child</parameter>, so that it appears in position
<parameter>position</parameter>. If <parameter>position</parameter> is greater than or equal to the number of
children in the list or negative, <parameter>child</parameter> will be moved to the end
of the list.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the child to move
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara> the new position, or -1 to move to the end
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-tab-pos" role="function">
<title>gtk_notebook_set_tab_pos ()</title>
<indexterm zone="gtk-notebook-set-tab-pos"><primary sortas="notebook_set_tab_pos">gtk_notebook_set_tab_pos</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_tab_pos            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkPositionType">GtkPositionType</link> pos);</programlisting>
<para>
Sets the edge at which the tabs for switching pages in the
notebook are drawn.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&#160;:</term>
<listitem><simpara> the edge to draw the tabs at.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-show-tabs" role="function">
<title>gtk_notebook_set_show_tabs ()</title>
<indexterm zone="gtk-notebook-set-show-tabs"><primary sortas="notebook_set_show_tabs">gtk_notebook_set_show_tabs</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_show_tabs          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gboolean">gboolean</link> show_tabs);</programlisting>
<para>
Sets whether to show the tabs for the notebook or not.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>show_tabs</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the tabs should be shown.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-show-border" role="function">
<title>gtk_notebook_set_show_border ()</title>
<indexterm zone="gtk-notebook-set-show-border"><primary sortas="notebook_set_show_border">gtk_notebook_set_show_border</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_show_border        (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gboolean">gboolean</link> show_border);</programlisting>
<para>
Sets whether a bevel will be drawn around the notebook pages.
This only has a visual effect when the tabs are not shown.
See <link linkend="gtk-notebook-set-show-tabs"><function>gtk_notebook_set_show_tabs()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>show_border</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if a bevel should be drawn around the notebook.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-scrollable" role="function">
<title>gtk_notebook_set_scrollable ()</title>
<indexterm zone="gtk-notebook-set-scrollable"><primary sortas="notebook_set_scrollable">gtk_notebook_set_scrollable</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_scrollable         (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gboolean">gboolean</link> scrollable);</programlisting>
<para>
Sets whether the tab label area will have arrows for scrolling if
there are too many tabs to fit in the area.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>scrollable</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if scroll arrows should be added
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-tab-border" role="function" condition="deprecated:">
<title>gtk_notebook_set_tab_border ()</title>
<indexterm zone="gtk-notebook-set-tab-border" role="deprecated"><primary sortas="notebook_set_tab_border">gtk_notebook_set_tab_border</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_tab_border         (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="guint">guint</link> border_width);</programlisting>
<warning><para><literal>gtk_notebook_set_tab_border</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Sets the width the border around the tab labels
in a notebook. This is equivalent to calling
gtk_notebook_set_tab_hborder (<parameter>notebook</parameter>, <parameter>border_width</parameter>) followed
by gtk_notebook_set_tab_vborder (<parameter>notebook</parameter>, <parameter>border_width</parameter>).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>border_width</parameter>&#160;:</term>
<listitem><simpara> width of the border around the tab labels.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-popup-enable" role="function">
<title>gtk_notebook_popup_enable ()</title>
<indexterm zone="gtk-notebook-popup-enable"><primary sortas="notebook_popup_enable">gtk_notebook_popup_enable</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_popup_enable           (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Enables the popup menu: if the user clicks with the right mouse button on
the bookmarks, a menu with all the pages will be popped up.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-popup-disable" role="function">
<title>gtk_notebook_popup_disable ()</title>
<indexterm zone="gtk-notebook-popup-disable"><primary sortas="notebook_popup_disable">gtk_notebook_popup_disable</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_popup_disable          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Disables the popup menu.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-get-current-page" role="function">
<title>gtk_notebook_get_current_page ()</title>
<indexterm zone="gtk-notebook-get-current-page"><primary sortas="notebook_get_current_page">gtk_notebook_get_current_page</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_notebook_get_current_page       (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Returns the page number of the current page.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the index (starting from 0) of the current
page in the notebook. If the notebook has no pages, then
-1 will be returned.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-get-menu-label" role="function">
<title>gtk_notebook_get_menu_label ()</title>
<indexterm zone="gtk-notebook-get-menu-label"><primary sortas="notebook_get_menu_label">gtk_notebook_get_menu_label</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link> *         gtk_notebook_get_menu_label         (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);</programlisting>
<para>
Retrieves the menu label widget of the page containing <parameter>child</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> a widget contained in a page of <parameter>notebook</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the menu label, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the
              notebook page does not have a menu label other
              than the default (the tab label).
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-get-nth-page" role="function">
<title>gtk_notebook_get_nth_page ()</title>
<indexterm zone="gtk-notebook-get-nth-page"><primary sortas="notebook_get_nth_page">gtk_notebook_get_nth_page</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>*          gtk_notebook_get_nth_page           (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gint">gint</link> page_num);</programlisting>
<para>
Returns the child widget contained in page number <parameter>page_num</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page_num</parameter>&#160;:</term>
<listitem><simpara> the index of a page in the notebook, or -1
           to get the last page.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the child widget, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if <parameter>page_num</parameter> is
out of bounds.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-get-n-pages" role="function" condition="since:2.2">
<title>gtk_notebook_get_n_pages ()</title>
<indexterm zone="gtk-notebook-get-n-pages" role="2.2"><primary sortas="notebook_get_n_pages">gtk_notebook_get_n_pages</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_notebook_get_n_pages            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Gets the number of pages in a notebook.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the number of pages in the notebook.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gtk-notebook-get-tab-label" role="function">
<title>gtk_notebook_get_tab_label ()</title>
<indexterm zone="gtk-notebook-get-tab-label"><primary sortas="notebook_get_tab_label">gtk_notebook_get_tab_label</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link> *         gtk_notebook_get_tab_label          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);</programlisting>
<para>
Returns the tab label widget for the page <parameter>child</parameter>. <link linkend="NULL--CAPS"><literal>NULL</literal></link> is returned
if <parameter>child</parameter> is not in <parameter>notebook</parameter> or if no tab label has specifically
been set for <parameter>child</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the page
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the tab label
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-query-tab-label-packing" role="function">
<title>gtk_notebook_query_tab_label_packing ()</title>
<indexterm zone="gtk-notebook-query-tab-label-packing"><primary sortas="notebook_query_tab_label_packing">gtk_notebook_query_tab_label_packing</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_query_tab_label_packing
                                                        (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="gboolean">gboolean</link> *expand,
                                                         <link linkend="gboolean">gboolean</link> *fill,
                                                         <link linkend="GtkPackType">GtkPackType</link> *pack_type);</programlisting>
<para>
Query the packing attributes for the tab label of the page
containing <parameter>child</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the page
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>expand</parameter>&#160;:</term>
<listitem><simpara> location to store the expand value (or NULL)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>fill</parameter>&#160;:</term>
<listitem><simpara> location to store the fill value (or NULL)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pack_type</parameter>&#160;:</term>
<listitem><simpara> location to store the pack_type (or NULL)
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-homogeneous-tabs" role="function" condition="deprecated:">
<title>gtk_notebook_set_homogeneous_tabs ()</title>
<indexterm zone="gtk-notebook-set-homogeneous-tabs" role="deprecated"><primary sortas="notebook_set_homogeneous_tabs">gtk_notebook_set_homogeneous_tabs</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_homogeneous_tabs   (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gboolean">gboolean</link> homogeneous);</programlisting>
<warning><para><literal>gtk_notebook_set_homogeneous_tabs</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Sets whether the tabs must have all the same size or not.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>homogeneous</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if all tabs should be the same size.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-menu-label" role="function">
<title>gtk_notebook_set_menu_label ()</title>
<indexterm zone="gtk-notebook-set-menu-label"><primary sortas="notebook_set_menu_label">gtk_notebook_set_menu_label</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_menu_label         (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *menu_label);</programlisting>
<para>
Changes the menu label for the page containing <parameter>child</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the child widget
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>menu_label</parameter>&#160;:</term>
<listitem><simpara> the menu label, or NULL for default
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-menu-label-text" role="function">
<title>gtk_notebook_set_menu_label_text ()</title>
<indexterm zone="gtk-notebook-set-menu-label-text"><primary sortas="notebook_set_menu_label_text">gtk_notebook_set_menu_label_text</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_menu_label_text    (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         const <link linkend="gchar">gchar</link> *menu_text);</programlisting>
<para>
Creates a new label and sets it as the menu label of <parameter>child</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the child widget
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>menu_text</parameter>&#160;:</term>
<listitem><simpara> the label text
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-tab-hborder" role="function" condition="deprecated:">
<title>gtk_notebook_set_tab_hborder ()</title>
<indexterm zone="gtk-notebook-set-tab-hborder" role="deprecated"><primary sortas="notebook_set_tab_hborder">gtk_notebook_set_tab_hborder</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_tab_hborder        (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="guint">guint</link> tab_hborder);</programlisting>
<warning><para><literal>gtk_notebook_set_tab_hborder</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Sets the width of the horizontal border of tab labels.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_hborder</parameter>&#160;:</term>
<listitem><simpara> width of the horizontal border of tab labels.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-tab-label" role="function">
<title>gtk_notebook_set_tab_label ()</title>
<indexterm zone="gtk-notebook-set-tab-label"><primary sortas="notebook_set_tab_label">gtk_notebook_set_tab_label</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_tab_label          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="GtkWidget">GtkWidget</link> *tab_label);</programlisting>
<para>
Changes the tab label for <parameter>child</parameter>. If <link linkend="NULL--CAPS"><literal>NULL</literal></link> is specified
for <parameter>tab_label</parameter>, then the page will have the label 'page N'.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the page
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_label</parameter>&#160;:</term>
<listitem><simpara> the tab label widget to use, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> for default tab
            label.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-tab-label-packing" role="function">
<title>gtk_notebook_set_tab_label_packing ()</title>
<indexterm zone="gtk-notebook-set-tab-label-packing"><primary sortas="notebook_set_tab_label_packing">gtk_notebook_set_tab_label_packing</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_tab_label_packing  (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="gboolean">gboolean</link> expand,
                                                         <link linkend="gboolean">gboolean</link> fill,
                                                         <link linkend="GtkPackType">GtkPackType</link> pack_type);</programlisting>
<para>
Sets the packing parameters for the tab label of the page
containing <parameter>child</parameter>. See <link linkend="gtk-box-pack-start"><function>gtk_box_pack_start()</function></link> for the exact meaning
of the parameters.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the child widget
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>expand</parameter>&#160;:</term>
<listitem><simpara> whether to expand the bookmark or not
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>fill</parameter>&#160;:</term>
<listitem><simpara> whether the bookmark should fill the allocated area or not
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pack_type</parameter>&#160;:</term>
<listitem><simpara> the position of the bookmark
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-tab-label-text" role="function">
<title>gtk_notebook_set_tab_label_text ()</title>
<indexterm zone="gtk-notebook-set-tab-label-text"><primary sortas="notebook_set_tab_label_text">gtk_notebook_set_tab_label_text</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_tab_label_text     (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         const <link linkend="gchar">gchar</link> *tab_text);</programlisting>
<para>
Creates a new label and sets it as the tab label for the page
containing <parameter>child</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the page
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_text</parameter>&#160;:</term>
<listitem><simpara> the label text
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-tab-vborder" role="function" condition="deprecated:">
<title>gtk_notebook_set_tab_vborder ()</title>
<indexterm zone="gtk-notebook-set-tab-vborder" role="deprecated"><primary sortas="notebook_set_tab_vborder">gtk_notebook_set_tab_vborder</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_tab_vborder        (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="guint">guint</link> tab_vborder);</programlisting>
<warning><para><literal>gtk_notebook_set_tab_vborder</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Sets the width of the vertical border of tab labels.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tab_vborder</parameter>&#160;:</term>
<listitem><simpara> width of the vertical border of tab labels.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-tab-reorderable" role="function" condition="since:2.10">
<title>gtk_notebook_set_tab_reorderable ()</title>
<indexterm zone="gtk-notebook-set-tab-reorderable" role="2.10"><primary sortas="notebook_set_tab_reorderable">gtk_notebook_set_tab_reorderable</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_tab_reorderable    (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="gboolean">gboolean</link> reorderable);</programlisting>
<para>
Sets whether the notebook tab can be reordered
via drag and drop or not.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> a child <link linkend="GtkWidget"><type>GtkWidget</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>reorderable</parameter>&#160;:</term>
<listitem><simpara> whether the tab is reorderable or not.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-notebook-set-tab-detachable" role="function" condition="since:2.10">
<title>gtk_notebook_set_tab_detachable ()</title>
<indexterm zone="gtk-notebook-set-tab-detachable" role="2.10"><primary sortas="notebook_set_tab_detachable">gtk_notebook_set_tab_detachable</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_tab_detachable     (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child,
                                                         <link linkend="gboolean">gboolean</link> detachable);</programlisting>
<para>
Sets whether the tab can be detached from <parameter>notebook</parameter> to another
notebook or widget.
</para>
<para>
Note that 2 notebooks must share a common group identificator
(see <link linkend="gtk-notebook-set-group-id"><function>gtk_notebook_set_group_id()</function></link>) to allow automatic tabs
interchange between them.
</para>
<para>
If you want a widget to interact with a notebook through DnD
(i.e.: accept dragged tabs from it) it must be set as a drop
destination and accept the target "GTK_NOTEBOOK_TAB". The notebook
will fill the selection with a GtkWidget** pointing to the child
widget that corresponds to the dropped tab.
<informalexample><programlisting>
 static void
 on_drop_zone_drag_data_received (GtkWidget        *widget,
                                  GdkDragContext   *context,
                                  gint              x,
                                  gint              y,
                                  GtkSelectionData *selection_data,
                                  guint             info,
                                  guint             time,
                                  gpointer          user_data)
 {
   GtkWidget *notebook;
   GtkWidget **child;
   
   notebook = gtk_drag_get_source_widget (context);
   child = (void*) selection_data->data;
   
   process_widget (*child);
   gtk_container_remove (GTK_CONTAINER (notebook), *child);
 }
</programlisting></informalexample>
</para>
<para>
If you want a notebook to accept drags from other widgets,
you will have to set your own DnD code to do it.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> a child <link linkend="GtkWidget"><type>GtkWidget</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>detachable</parameter>&#160;:</term>
<listitem><simpara> whether the tab is detachable or not
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-notebook-get-menu-label-text" role="function">
<title>gtk_notebook_get_menu_label_text ()</title>
<indexterm zone="gtk-notebook-get-menu-label-text"><primary sortas="notebook_get_menu_label_text">gtk_notebook_get_menu_label_text</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link> *       gtk_notebook_get_menu_label_text    (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);</programlisting>
<para>
Retrieves the text of the menu label for the page containing
   <parameter>child</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the child widget of a page of the notebook.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the text of the tab label, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the
              widget does not have a menu label other than
              the default menu label, or the menu label widget
              is not a <link linkend="GtkLabel"><type>GtkLabel</type></link>. The string is owned by
              the widget and must not be freed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-get-scrollable" role="function">
<title>gtk_notebook_get_scrollable ()</title>
<indexterm zone="gtk-notebook-get-scrollable"><primary sortas="notebook_get_scrollable">gtk_notebook_get_scrollable</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_notebook_get_scrollable         (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Returns whether the tab label area has arrows for scrolling. See
<link linkend="gtk-notebook-set-scrollable"><function>gtk_notebook_set_scrollable()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if arrows for scrolling are present
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-get-show-border" role="function">
<title>gtk_notebook_get_show_border ()</title>
<indexterm zone="gtk-notebook-get-show-border"><primary sortas="notebook_get_show_border">gtk_notebook_get_show_border</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_notebook_get_show_border        (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Returns whether a bevel will be drawn around the notebook pages. See
<link linkend="gtk-notebook-set-show-border"><function>gtk_notebook_set_show_border()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the bevel is drawn
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-get-show-tabs" role="function">
<title>gtk_notebook_get_show_tabs ()</title>
<indexterm zone="gtk-notebook-get-show-tabs"><primary sortas="notebook_get_show_tabs">gtk_notebook_get_show_tabs</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_notebook_get_show_tabs          (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Returns whether the tabs of the notebook are shown. See
<link linkend="gtk-notebook-set-show-tabs"><function>gtk_notebook_set_show_tabs()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the tabs are shown
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-get-tab-label-text" role="function">
<title>gtk_notebook_get_tab_label_text ()</title>
<indexterm zone="gtk-notebook-get-tab-label-text"><primary sortas="notebook_get_tab_label_text">gtk_notebook_get_tab_label_text</primary></indexterm><programlisting>const <link linkend="gchar">gchar</link> *       gtk_notebook_get_tab_label_text     (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);</programlisting>
<para>
Retrieves the text of the tab label for the page containing
   <parameter>child</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> a widget contained in a page of <parameter>notebook</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the text of the tab label, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the
              tab label widget is not a <link linkend="GtkLabel"><type>GtkLabel</type></link>. The
              string is owned by the widget and must not
              be freed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-get-tab-pos" role="function">
<title>gtk_notebook_get_tab_pos ()</title>
<indexterm zone="gtk-notebook-get-tab-pos"><primary sortas="notebook_get_tab_pos">gtk_notebook_get_tab_pos</primary></indexterm><programlisting><link linkend="GtkPositionType">GtkPositionType</link>     gtk_notebook_get_tab_pos            (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Gets the edge at which the tabs for switching pages in the
notebook are drawn.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the edge at which the tabs are drawn
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-get-tab-reorderable" role="function" condition="since:2.10">
<title>gtk_notebook_get_tab_reorderable ()</title>
<indexterm zone="gtk-notebook-get-tab-reorderable" role="2.10"><primary sortas="notebook_get_tab_reorderable">gtk_notebook_get_tab_reorderable</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_notebook_get_tab_reorderable    (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);</programlisting>
<para>
Gets whether the tab can be reordered via drag and drop or not.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> a child <link linkend="GtkWidget"><type>GtkWidget</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the tab is reorderable.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-notebook-get-tab-detachable" role="function" condition="since:2.10">
<title>gtk_notebook_get_tab_detachable ()</title>
<indexterm zone="gtk-notebook-get-tab-detachable" role="2.10"><primary sortas="notebook_get_tab_detachable">gtk_notebook_get_tab_detachable</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_notebook_get_tab_detachable     (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="GtkWidget">GtkWidget</link> *child);</programlisting>
<para>
Returns whether the tab contents can be detached from <parameter>notebook</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> a child <link linkend="GtkWidget"><type>GtkWidget</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> TRUE if the tab is detachable.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-notebook-set-current-page" role="function">
<title>gtk_notebook_set_current_page ()</title>
<indexterm zone="gtk-notebook-set-current-page"><primary sortas="notebook_set_current_page">gtk_notebook_set_current_page</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_current_page       (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gint">gint</link> page_num);</programlisting>
<para>
Switches to the page number <parameter>page_num</parameter>. 
</para>
<para>
Note that due to historical reasons, GtkNotebook refuses
to switch to a page unless the child widget is visible. 
Therefore, it is recommended to show child widgets before
adding them to a notebook.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page_num</parameter>&#160;:</term>
<listitem><simpara> 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 notebook, nothing
           will be done.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-group-id" role="function" condition="deprecated:2.12: use gtk_notebook_set_group() instead.|since:2.10">
<title>gtk_notebook_set_group_id ()</title>
<indexterm zone="gtk-notebook-set-group-id" role="deprecated"><primary sortas="notebook_set_group_id">gtk_notebook_set_group_id</primary></indexterm><indexterm zone="gtk-notebook-set-group-id" role="2.10"><primary sortas="notebook_set_group_id">gtk_notebook_set_group_id</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_group_id           (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gint">gint</link> group_id);</programlisting>
<warning><para><literal>gtk_notebook_set_group_id</literal> has been deprecated since version 2.12 and should not be used in newly-written code. use <link linkend="gtk-notebook-set-group"><function>gtk_notebook_set_group()</function></link> instead.</para></warning>
<para>
Sets an group identificator for <parameter>notebook</parameter>, notebooks sharing
the same group identificator will be able to exchange tabs
via drag and drop. A notebook with group identificator -1 will
not be able to exchange tabs with any other notebook.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>group_id</parameter>&#160;:</term>
<listitem><simpara> a group identificator, or -1 to unset it
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-notebook-get-group-id" role="function" condition="deprecated:2.12: use gtk_notebook_get_group() instead.|since:2.10">
<title>gtk_notebook_get_group_id ()</title>
<indexterm zone="gtk-notebook-get-group-id" role="deprecated"><primary sortas="notebook_get_group_id">gtk_notebook_get_group_id</primary></indexterm><indexterm zone="gtk-notebook-get-group-id" role="2.10"><primary sortas="notebook_get_group_id">gtk_notebook_get_group_id</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_notebook_get_group_id           (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<warning><para><literal>gtk_notebook_get_group_id</literal> has been deprecated since version 2.12 and should not be used in newly-written code. use <link linkend="gtk-notebook-get-group"><function>gtk_notebook_get_group()</function></link> instead.</para></warning>
<para>
Gets the current group identificator for <parameter>notebook</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the group identificator, or -1 if none is set.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-notebook-set-group" role="function" condition="since:2.12">
<title>gtk_notebook_set_group ()</title>
<indexterm zone="gtk-notebook-set-group" role="2.12"><primary sortas="notebook_set_group">gtk_notebook_set_group</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_group              (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                         <link linkend="gpointer">gpointer</link> group);</programlisting>
<para>
Sets a group identificator pointer for <parameter>notebook</parameter>, notebooks sharing
the same group identificator pointer will be able to exchange tabs
via drag and drop. A notebook with a <link linkend="NULL--CAPS"><literal>NULL</literal></link> group identificator will
not be able to exchange tabs with any other notebook.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>group</parameter>&#160;:</term>
<listitem><simpara> a pointer to identify the notebook group, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to unset it
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-notebook-get-group" role="function" condition="since:2.12">
<title>gtk_notebook_get_group ()</title>
<indexterm zone="gtk-notebook-get-group" role="2.12"><primary sortas="notebook_get_group">gtk_notebook_get_group</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link>            gtk_notebook_get_group              (<link linkend="GtkNotebook">GtkNotebook</link> *notebook);</programlisting>
<para>
Gets the current group identificator pointer for <parameter>notebook</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the group identificator, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if none is set.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="GtkNotebookWindowCreationFunc" role="function">
<title>GtkNotebookWindowCreationFunc ()</title>
<indexterm zone="GtkNotebookWindowCreationFunc"><primary sortas="NotebookWindowCreationFunc">GtkNotebookWindowCreationFunc</primary></indexterm><programlisting><link linkend="GtkNotebook">GtkNotebook</link> *       (*GtkNotebookWindowCreationFunc)    (<link linkend="GtkNotebook">GtkNotebook</link> *source,
                                                         <link linkend="GtkWidget">GtkWidget</link> *page,
                                                         <link linkend="gint">gint</link> x,
                                                         <link linkend="gint">gint</link> y,
                                                         <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
A function used by GtkNotebook when a detachable tab is dropped
in the root window, it's used to create a window containing a notebook
where the tab will be attached. This function will also be responsible
of moving/resizing the window and adding the necessary properties to
the notebook (i.e.: group-id).
If the function returns <link linkend="NULL--CAPS"><literal>NULL</literal></link>, the drag will be cancelled.
</para><variablelist role="params">
<varlistentry><term><parameter>source</parameter>&#160;:</term>
<listitem><simpara>The source <link linkend="GtkNotebook"><type>GtkNotebook</type></link> of the drag operation
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page</parameter>&#160;:</term>
<listitem><simpara>the child <link linkend="GtkWidget"><type>GtkWidget</type></link> affected
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&#160;:</term>
<listitem><simpara>the X coordinate where the drop happens
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&#160;:</term>
<listitem><simpara>the Y coordinate where the drop happens
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>user data
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>The created <link linkend="GtkNotebook"><type>GtkNotebook</type></link> where the tab will be attached, or NULL to cancel the drag
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-notebook-set-window-creation-hook" role="function" condition="since:2.10">
<title>gtk_notebook_set_window_creation_hook ()</title>
<indexterm zone="gtk-notebook-set-window-creation-hook" role="2.10"><primary sortas="notebook_set_window_creation_hook">gtk_notebook_set_window_creation_hook</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_notebook_set_window_creation_hook
                                                        (<link linkend="GtkNotebookWindowCreationFunc">GtkNotebookWindowCreationFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> destroy);</programlisting>
<para>
Installs a global function used to create a window
when a detached tab is dropped in an empty area.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>func</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkNotebookWindowCreationFunc"><type>GtkNotebookWindowCreationFunc</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara> user data for <parameter>func</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>destroy</parameter>&#160;:</term>
<listitem><simpara> Destroy notifier for <parameter>data</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>

</refsect1>
<refsect1 id="GtkNotebook.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkNotebook--enable-popup" role="property"><title>The <literal>&quot;enable-popup&quot;</literal> property</title>
<indexterm zone="GtkNotebook--enable-popup"><primary sortas="Notebook:enable-popup">GtkNotebook:enable-popup</primary></indexterm><programlisting>  &quot;enable-popup&quot;             <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>If TRUE, pressing the right mouse button on the notebook pops up a menu that you can use to go to a page.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkNotebook--group" role="property"><title>The <literal>&quot;group&quot;</literal> property</title>
<indexterm zone="GtkNotebook--group" role="2.12"><primary sortas="Notebook:group">GtkNotebook:group</primary></indexterm><programlisting>  &quot;group&quot;                    <link linkend="gpointer">gpointer</link>              : Read / Write</programlisting>
<para>
Group for tabs drag and drop.</para>
<para>
</para><para>Since 2.12</para>
</refsect2>
<refsect2 id="GtkNotebook--group-id" role="property"><title>The <literal>&quot;group-id&quot;</literal> property</title>
<indexterm zone="GtkNotebook--group-id"><primary sortas="Notebook:group-id">GtkNotebook:group-id</primary></indexterm><programlisting>  &quot;group-id&quot;                 <link linkend="gint">gint</link>                  : Read / Write</programlisting>
<para>Group ID for tabs drag and drop.</para><para>Allowed values: &gt;= G_MAXULONG</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkNotebook--homogeneous" role="property"><title>The <literal>&quot;homogeneous&quot;</literal> property</title>
<indexterm zone="GtkNotebook--homogeneous"><primary sortas="Notebook:homogeneous">GtkNotebook:homogeneous</primary></indexterm><programlisting>  &quot;homogeneous&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether tabs should have homogeneous sizes.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkNotebook--page" role="property"><title>The <literal>&quot;page&quot;</literal> property</title>
<indexterm zone="GtkNotebook--page"><primary sortas="Notebook:page">GtkNotebook:page</primary></indexterm><programlisting>  &quot;page&quot;                     <link linkend="gint">gint</link>                  : Read / Write</programlisting>
<para>The index of the current page.</para><para>Allowed values: &gt;= G_MAXULONG</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkNotebook--scrollable" role="property"><title>The <literal>&quot;scrollable&quot;</literal> property</title>
<indexterm zone="GtkNotebook--scrollable"><primary sortas="Notebook:scrollable">GtkNotebook:scrollable</primary></indexterm><programlisting>  &quot;scrollable&quot;               <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>If TRUE, scroll arrows are added if there are too many tabs to fit.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkNotebook--show-border" role="property"><title>The <literal>&quot;show-border&quot;</literal> property</title>
<indexterm zone="GtkNotebook--show-border"><primary sortas="Notebook:show-border">GtkNotebook:show-border</primary></indexterm><programlisting>  &quot;show-border&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether the border should be shown or not.</para><para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkNotebook--show-tabs" role="property"><title>The <literal>&quot;show-tabs&quot;</literal> property</title>
<indexterm zone="GtkNotebook--show-tabs"><primary sortas="Notebook:show-tabs">GtkNotebook:show-tabs</primary></indexterm><programlisting>  &quot;show-tabs&quot;                <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether tabs should be shown or not.</para><para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkNotebook--tab-border" role="property"><title>The <literal>&quot;tab-border&quot;</literal> property</title>
<indexterm zone="GtkNotebook--tab-border"><primary sortas="Notebook:tab-border">GtkNotebook:tab-border</primary></indexterm><programlisting>  &quot;tab-border&quot;               <link linkend="guint">guint</link>                 : Write</programlisting>
<para>Width of the border around the tab labels.</para><para>Default value: 2</para>
</refsect2>
<refsect2 id="GtkNotebook--tab-hborder" role="property"><title>The <literal>&quot;tab-hborder&quot;</literal> property</title>
<indexterm zone="GtkNotebook--tab-hborder"><primary sortas="Notebook:tab-hborder">GtkNotebook:tab-hborder</primary></indexterm><programlisting>  &quot;tab-hborder&quot;              <link linkend="guint">guint</link>                 : Read / Write</programlisting>
<para>Width of the horizontal border of tab labels.</para><para>Default value: 2</para>
</refsect2>
<refsect2 id="GtkNotebook--tab-pos" role="property"><title>The <literal>&quot;tab-pos&quot;</literal> property</title>
<indexterm zone="GtkNotebook--tab-pos"><primary sortas="Notebook:tab-pos">GtkNotebook:tab-pos</primary></indexterm><programlisting>  &quot;tab-pos&quot;                  <link linkend="GtkPositionType">GtkPositionType</link>       : Read / Write</programlisting>
<para>Which side of the notebook holds the tabs.</para><para>Default value: GTK_POS_TOP</para>
</refsect2>
<refsect2 id="GtkNotebook--tab-vborder" role="property"><title>The <literal>&quot;tab-vborder&quot;</literal> property</title>
<indexterm zone="GtkNotebook--tab-vborder"><primary sortas="Notebook:tab-vborder">GtkNotebook:tab-vborder</primary></indexterm><programlisting>  &quot;tab-vborder&quot;              <link linkend="guint">guint</link>                 : Read / Write</programlisting>
<para>Width of the vertical border of tab labels.</para><para>Default value: 2</para>
</refsect2>
</refsect1>
<refsect1 id="GtkNotebook.child-property-details" role="child_property_details">
<title role="child_property_details.title">Child Property Details</title>
<refsect2 id="GtkNotebook--c-detachable" role="property"><title>The <literal>&quot;detachable&quot;</literal> child property</title>
<indexterm zone="GtkNotebook--c-detachable"><primary sortas="Notebook:detachable">GtkNotebook:detachable</primary></indexterm><programlisting>  &quot;detachable&quot;               <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether the tab is detachable.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkNotebook--c-menu-label" role="property"><title>The <literal>&quot;menu-label&quot;</literal> child property</title>
<indexterm zone="GtkNotebook--c-menu-label"><primary sortas="Notebook:menu-label">GtkNotebook:menu-label</primary></indexterm><programlisting>  &quot;menu-label&quot;               <link linkend="gchar">gchar</link>*                : Read / Write</programlisting>
<para>The string displayed in the child's menu entry.</para><para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkNotebook--c-position" role="property"><title>The <literal>&quot;position&quot;</literal> child property</title>
<indexterm zone="GtkNotebook--c-position"><primary sortas="Notebook:position">GtkNotebook:position</primary></indexterm><programlisting>  &quot;position&quot;                 <link linkend="gint">gint</link>                  : Read / Write</programlisting>
<para>The index of the child in the parent.</para><para>Allowed values: &gt;= G_MAXULONG</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkNotebook--c-reorderable" role="property"><title>The <literal>&quot;reorderable&quot;</literal> child property</title>
<indexterm zone="GtkNotebook--c-reorderable"><primary sortas="Notebook:reorderable">GtkNotebook:reorderable</primary></indexterm><programlisting>  &quot;reorderable&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether the tab is reorderable by user action or not.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkNotebook--c-tab-expand" role="property"><title>The <literal>&quot;tab-expand&quot;</literal> child property</title>
<indexterm zone="GtkNotebook--c-tab-expand"><primary sortas="Notebook:tab-expand">GtkNotebook:tab-expand</primary></indexterm><programlisting>  &quot;tab-expand&quot;               <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether to expand the child's tab or not.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkNotebook--c-tab-fill" role="property"><title>The <literal>&quot;tab-fill&quot;</literal> child property</title>
<indexterm zone="GtkNotebook--c-tab-fill"><primary sortas="Notebook:tab-fill">GtkNotebook:tab-fill</primary></indexterm><programlisting>  &quot;tab-fill&quot;                 <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether the child's tab should fill the allocated area or not.</para><para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkNotebook--c-tab-label" role="property"><title>The <literal>&quot;tab-label&quot;</literal> child property</title>
<indexterm zone="GtkNotebook--c-tab-label"><primary sortas="Notebook:tab-label">GtkNotebook:tab-label</primary></indexterm><programlisting>  &quot;tab-label&quot;                <link linkend="gchar">gchar</link>*                : Read / Write</programlisting>
<para>The string displayed on the child's tab label.</para><para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkNotebook--c-tab-pack" role="property"><title>The <literal>&quot;tab-pack&quot;</literal> child property</title>
<indexterm zone="GtkNotebook--c-tab-pack"><primary sortas="Notebook:tab-pack">GtkNotebook:tab-pack</primary></indexterm><programlisting>  &quot;tab-pack&quot;                 <link linkend="GtkPackType">GtkPackType</link>           : Read / Write</programlisting>
<para>A GtkPackType indicating whether the child is packed with reference to the start or end of the parent.</para><para>Default value: GTK_PACK_START</para>
</refsect2>
</refsect1>
<refsect1 id="GtkNotebook.style-property-details" role="style_properties_details">
<title role="style_properties_details.title">Style Property Details</title>
<refsect2 id="GtkNotebook--s-arrow-spacing" role="property"><title>The <literal>&quot;arrow-spacing&quot;</literal> style property</title>
<indexterm zone="GtkNotebook--s-arrow-spacing" role="2.10"><primary sortas="Notebook:arrow-spacing">GtkNotebook:arrow-spacing</primary></indexterm><programlisting>  &quot;arrow-spacing&quot;            <link linkend="gint">gint</link>                  : Read</programlisting>
<para>
The "arrow-spacing" property defines the spacing between the scroll
arrows and the tabs.</para>
<para>
</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
<para>Since 2.10</para>
</refsect2>
<refsect2 id="GtkNotebook--s-has-backward-stepper" role="property"><title>The <literal>&quot;has-backward-stepper&quot;</literal> style property</title>
<indexterm zone="GtkNotebook--s-has-backward-stepper" role="2.4"><primary sortas="Notebook:has-backward-stepper">GtkNotebook:has-backward-stepper</primary></indexterm><programlisting>  &quot;has-backward-stepper&quot;     <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>
The "has-backward-stepper" property determines whether
the standard backward arrow button is displayed.</para>
<para>
</para><para>Default value: TRUE</para>
<para>Since 2.4</para>
</refsect2>
<refsect2 id="GtkNotebook--s-has-forward-stepper" role="property"><title>The <literal>&quot;has-forward-stepper&quot;</literal> style property</title>
<indexterm zone="GtkNotebook--s-has-forward-stepper" role="2.4"><primary sortas="Notebook:has-forward-stepper">GtkNotebook:has-forward-stepper</primary></indexterm><programlisting>  &quot;has-forward-stepper&quot;      <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>
The "has-forward-stepper" property determines whether 
the standard forward arrow button is displayed.</para>
<para>
</para><para>Default value: TRUE</para>
<para>Since 2.4</para>
</refsect2>
<refsect2 id="GtkNotebook--s-has-secondary-backward-stepper" role="property"><title>The <literal>&quot;has-secondary-backward-stepper&quot;</literal> style property</title>
<indexterm zone="GtkNotebook--s-has-secondary-backward-stepper" role="2.4"><primary sortas="Notebook:has-secondary-backward-stepper">GtkNotebook:has-secondary-backward-stepper</primary></indexterm><programlisting>  &quot;has-secondary-backward-stepper&quot; <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>
The "has-secondary-backward-stepper" property determines whether 
a second backward arrow button is displayed on the opposite end 
of the tab area.</para>
<para>
</para><para>Default value: FALSE</para>
<para>Since 2.4</para>
</refsect2>
<refsect2 id="GtkNotebook--s-has-secondary-forward-stepper" role="property"><title>The <literal>&quot;has-secondary-forward-stepper&quot;</literal> style property</title>
<indexterm zone="GtkNotebook--s-has-secondary-forward-stepper" role="2.4"><primary sortas="Notebook:has-secondary-forward-stepper">GtkNotebook:has-secondary-forward-stepper</primary></indexterm><programlisting>  &quot;has-secondary-forward-stepper&quot; <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>
The "has-secondary-forward-stepper" property determines whether 
a second forward arrow button is displayed on the opposite end 
of the tab area.</para>
<para>
</para><para>Default value: FALSE</para>
<para>Since 2.4</para>
</refsect2>
<refsect2 id="GtkNotebook--s-tab-curvature" role="property"><title>The <literal>&quot;tab-curvature&quot;</literal> style property</title>
<indexterm zone="GtkNotebook--s-tab-curvature" role="2.10"><primary sortas="Notebook:tab-curvature">GtkNotebook:tab-curvature</primary></indexterm><programlisting>  &quot;tab-curvature&quot;            <link linkend="gint">gint</link>                  : Read</programlisting>
<para>
The "tab-curvature" property defines size of tab curvature.</para>
<para>
</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 1</para>
<para>Since 2.10</para>
</refsect2>
<refsect2 id="GtkNotebook--s-tab-overlap" role="property"><title>The <literal>&quot;tab-overlap&quot;</literal> style property</title>
<indexterm zone="GtkNotebook--s-tab-overlap" role="2.10"><primary sortas="Notebook:tab-overlap">GtkNotebook:tab-overlap</primary></indexterm><programlisting>  &quot;tab-overlap&quot;              <link linkend="gint">gint</link>                  : Read</programlisting>
<para>
The "tab-overlap" property defines size of tab overlap
area.</para>
<para>
</para><para>Default value: 2</para>
<para>Since 2.10</para>
</refsect2>

</refsect1>

<refsect1 id="GtkNotebook.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkNotebook-change-current-page" role="signal"><title>The <literal>&quot;change-current-page&quot;</literal> signal</title>
<indexterm zone="GtkNotebook-change-current-page"><primary sortas="Notebook::change-current-page">GtkNotebook::change-current-page</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                        <link linkend="gint">gint</link>         arg1,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkNotebook-create-window" role="signal"><title>The <literal>&quot;create-window&quot;</literal> signal</title>
<indexterm zone="GtkNotebook-create-window" role="2.12"><primary sortas="Notebook::create-window">GtkNotebook::create-window</primary></indexterm><programlisting><link linkend="GtkNotebook">GtkNotebook</link>*        user_function                      (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                        <link linkend="GtkWidget">GtkWidget</link>   *page,
                                                        <link linkend="gint">gint</link>         x,
                                                        <link linkend="gint">gint</link>         y,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last</programlisting>
<para>
The ::create-window signal is emitted when a detachable
tab is dropped on the root window.
</para>
<para>
A handler for this signal can create a window containing 
a notebook where the tab will be attached. It is also 
responsible for moving/resizing the window and adding the 
necessary properties to the notebook (e.g. the 
<link linkend="GtkNotebook--group-id"><type>"group-id"</type></link> ).
</para>
<para>
The default handler uses the global window creation hook,
if one has been set with <link linkend="gtk-notebook-set-window-creation-hook"><function>gtk_notebook_set_window_creation_hook()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkNotebook"><type>GtkNotebook</type></link> emitting the signal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page</parameter>&#160;:</term>
<listitem><simpara> the tab of <parameter>notebook</parameter> that is being detached
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&#160;:</term>
<listitem><simpara> the X coordinate where the drop happens
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&#160;:</term>
<listitem><simpara> the Y coordinate where the drop happens
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="GtkNotebook"><type>GtkNotebook</type></link> that <parameter>page</parameter> should be added to, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.

</simpara></listitem></varlistentry>
</variablelist><para>Since 2.12</para></refsect2><refsect2 id="GtkNotebook-focus-tab" role="signal"><title>The <literal>&quot;focus-tab&quot;</literal> signal</title>
<indexterm zone="GtkNotebook-focus-tab"><primary sortas="Notebook::focus-tab">GtkNotebook::focus-tab</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkNotebook">GtkNotebook</link>   *notebook,
                                                        <link linkend="GtkNotebookTab">GtkNotebookTab</link> arg1,
                                                        <link linkend="gpointer">gpointer</link>       user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkNotebook-move-focus-out" role="signal"><title>The <literal>&quot;move-focus-out&quot;</literal> signal</title>
<indexterm zone="GtkNotebook-move-focus-out"><primary sortas="Notebook::move-focus-out">GtkNotebook::move-focus-out</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkNotebook">GtkNotebook</link>     *notebook,
                                                        <link linkend="GtkDirectionType">GtkDirectionType</link> arg1,
                                                        <link linkend="gpointer">gpointer</link>         user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkNotebook-page-added" role="signal"><title>The <literal>&quot;page-added&quot;</literal> signal</title>
<indexterm zone="GtkNotebook-page-added" role="2.10"><primary sortas="Notebook::page-added">GtkNotebook::page-added</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                        <link linkend="GtkWidget">GtkWidget</link>   *child,
                                                        <link linkend="guint">guint</link>        page_num,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last</programlisting>
<para>
the ::page-added signal is emitted in the notebook
right after a page is added to the notebook.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the child <link linkend="GtkWidget"><type>GtkWidget</type></link> affected
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page_num</parameter>&#160;:</term>
<listitem><simpara> the new page number for <parameter>child</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist><para>Since 2.10</para></refsect2><refsect2 id="GtkNotebook-page-removed" role="signal"><title>The <literal>&quot;page-removed&quot;</literal> signal</title>
<indexterm zone="GtkNotebook-page-removed" role="2.10"><primary sortas="Notebook::page-removed">GtkNotebook::page-removed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                        <link linkend="GtkWidget">GtkWidget</link>   *child,
                                                        <link linkend="guint">guint</link>        page_num,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last</programlisting>
<para>
the ::page-removed signal is emitted in the notebook
right after a page is removed from the notebook.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the child <link linkend="GtkWidget"><type>GtkWidget</type></link> affected
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page_num</parameter>&#160;:</term>
<listitem><simpara> the <parameter>child</parameter> page number
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist><para>Since 2.10</para></refsect2><refsect2 id="GtkNotebook-page-reordered" role="signal"><title>The <literal>&quot;page-reordered&quot;</literal> signal</title>
<indexterm zone="GtkNotebook-page-reordered" role="2.10"><primary sortas="Notebook::page-reordered">GtkNotebook::page-reordered</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                        <link linkend="GtkWidget">GtkWidget</link>   *child,
                                                        <link linkend="guint">guint</link>        page_num,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last</programlisting>
<para>
the ::page-reordered signal is emitted in the notebook
right after a page has been reordered.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkNotebook"><type>GtkNotebook</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara> the child <link linkend="GtkWidget"><type>GtkWidget</type></link> affected
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page_num</parameter>&#160;:</term>
<listitem><simpara> the new page number for <parameter>child</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist><para>Since 2.10</para></refsect2><refsect2 id="GtkNotebook-reorder-tab" role="signal"><title>The <literal>&quot;reorder-tab&quot;</literal> signal</title>
<indexterm zone="GtkNotebook-reorder-tab"><primary sortas="Notebook::reorder-tab">GtkNotebook::reorder-tab</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkNotebook">GtkNotebook</link>     *notebook,
                                                        <link linkend="GtkDirectionType">GtkDirectionType</link> arg1,
                                                        <link linkend="gboolean">gboolean</link>         arg2,
                                                        <link linkend="gpointer">gpointer</link>         user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>Param3</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkNotebook-select-page" role="signal"><title>The <literal>&quot;select-page&quot;</literal> signal</title>
<indexterm zone="GtkNotebook-select-page"><primary sortas="Notebook::select-page">GtkNotebook::select-page</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkNotebook">GtkNotebook</link> *notebook,
                                                        <link linkend="gboolean">gboolean</link>     arg1,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkNotebook-switch-page" role="signal"><title>The <literal>&quot;switch-page&quot;</literal> signal</title>
<indexterm zone="GtkNotebook-switch-page"><primary sortas="Notebook::switch-page">GtkNotebook::switch-page</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkNotebook">GtkNotebook</link>     *notebook,
                                                        <link linkend="GtkNotebookPage">GtkNotebookPage</link> *page,
                                                        <link linkend="guint">guint</link>            page_num,
                                                        <link linkend="gpointer">gpointer</link>         user_data)      : Run Last</programlisting>
<para>
Emitted when the user or a function changes the current page.
</para><variablelist role="params">
<varlistentry><term><parameter>notebook</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page</parameter>&#160;:</term>
<listitem><simpara>the new current page
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>page_num</parameter>&#160;:</term>
<listitem><simpara>the index of the page
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>


<refsect1 id="GtkNotebook.see-also">
<title>See Also</title>
<para>
<variablelist>
<varlistentry>
<term><link linkend="GtkContainer"><type>GtkContainer</type></link></term>
<listitem><para>For functions that apply to every <link linkend="GtkContainer"><type>GtkContainer</type></link></para></listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>

</refentry>
