GtkNotebook
<!-- ##### SECTION Short_Description ##### -->
-A tabbed notebook container.
+A tabbed notebook container
<!-- ##### SECTION Long_Description ##### -->
<para>
There are many configuration options for #GtkNotebook. Among other
things, you can choose on which edge the tabs appear
(see gtk_notebook_set_tab_pos()), whether, if there are too many
-tabs to fit the noteobook should be made bigger or scrolling
+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 gtk_notebook_enable_popup(), gtk_noteobook_disable_popup())
-</para>
+(see gtk_notebook_popup_enable(), gtk_notebook_popup_disable())
+</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 <child> 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 <child>
+type attribute.
+</para>
+<para>
+To add a child widget in the notebooks action area, specify
+"action-start" or "action-end" as the "type" attribute of the <child>
+element.
+</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>
<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term>#GtkContainer</term>
-<listitem><para>For functions that apply to every #GtkContainer
-(like #GtkList).</para></listitem>
+<listitem><para>For functions that apply to every #GtkContainer</para></listitem>
</varlistentry>
</variablelist>
</para>
+<!-- ##### SECTION Stability_Level ##### -->
+
+
+<!-- ##### SECTION Image ##### -->
+
+
<!-- ##### STRUCT GtkNotebook ##### -->
<para>
</para>
+<!-- ##### SIGNAL GtkNotebook::change-current-page ##### -->
+<para>
+
+</para>
+
+@notebook: the object which received the signal.
+@arg1:
+@Returns:
+
+<!-- ##### SIGNAL GtkNotebook::create-window ##### -->
+<para>
+
+</para>
+
+@notebook: the object which received the signal.
+@widget:
+@arg1:
+@arg2:
+@Returns:
+
+<!-- ##### SIGNAL GtkNotebook::focus-tab ##### -->
+<para>
+
+</para>
+
+@notebook: the object which received the signal.
+@arg1:
+@Returns:
+
+<!-- ##### SIGNAL GtkNotebook::move-focus-out ##### -->
+<para>
+
+</para>
+
+@notebook: the object which received the signal.
+@arg1:
+
+<!-- ##### SIGNAL GtkNotebook::page-added ##### -->
+<para>
+
+</para>
+
+@notebook: the object which received the signal.
+@widget:
+@arg1:
+
+<!-- ##### SIGNAL GtkNotebook::page-removed ##### -->
+<para>
+
+</para>
+
+@notebook: the object which received the signal.
+@widget:
+@arg1:
+
+<!-- ##### SIGNAL GtkNotebook::page-reordered ##### -->
+<para>
+
+</para>
+
+@notebook: the object which received the signal.
+@widget:
+@arg1:
+
+<!-- ##### SIGNAL GtkNotebook::reorder-tab ##### -->
+<para>
+
+</para>
+
+@notebook: the object which received the signal.
+@arg1:
+@Param3:
+@Returns:
+
+<!-- ##### SIGNAL GtkNotebook::select-page ##### -->
+<para>
+
+</para>
+
+@notebook: the object which received the signal.
+@arg1:
+@Returns:
+
+<!-- ##### SIGNAL GtkNotebook::switch-page ##### -->
+<para>
+Emitted when the user or a function changes the current page.
+</para>
+
+@notebook: the object which received the signal.
+@page: the new current page
+@page_num: the index of the page
+
+<!-- ##### ARG GtkNotebook:enable-popup ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:group ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:page ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:scrollable ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:show-border ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:show-tabs ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab-pos ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:detachable ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:menu-label ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:position ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:reorderable ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab-expand ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab-fill ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab-label ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab-pack ##### -->
+<para>
+ Deprecated: 2.20: The tab packing functionality of children should not
+ be used anymore and support will be removed in the future.
+</para>
+
+<!-- ##### ARG GtkNotebook:arrow-spacing ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:has-backward-stepper ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:has-forward-stepper ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:has-secondary-backward-stepper ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:has-secondary-forward-stepper ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab-curvature ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab-overlap ##### -->
+<para>
+
+</para>
+
<!-- ##### STRUCT GtkNotebookPage ##### -->
<para>
The #GtkNotebookPage is an opaque implementation detail of #GtkNotebook.
<para>
</para>
+@void:
@Returns:
@notebook:
@child:
@tab_label:
+@Returns:
<!-- ##### FUNCTION gtk_notebook_append_page_menu ##### -->
@child:
@tab_label:
@menu_label:
+@Returns:
<!-- ##### FUNCTION gtk_notebook_prepend_page ##### -->
@notebook:
@child: the
@tab_label:
+@Returns:
<!-- ##### FUNCTION gtk_notebook_prepend_page_menu ##### -->
@child:
@tab_label:
@menu_label:
+@Returns:
<!-- ##### FUNCTION gtk_notebook_insert_page ##### -->
@child:
@tab_label:
@position:
+@Returns:
<!-- ##### FUNCTION gtk_notebook_insert_page_menu ##### -->
@tab_label:
@menu_label:
@position:
+@Returns:
<!-- ##### FUNCTION gtk_notebook_remove_page ##### -->
@page_num:
-<!-- ##### MACRO gtk_notebook_current_page ##### -->
-<para>
-Deprecated compatibility macro. Use
-gtk_notebook_get_current_page() instead.
-</para>
-
-
-
<!-- ##### FUNCTION gtk_notebook_page_num ##### -->
<para>
</para>
@Returns:
-<!-- ##### MACRO gtk_notebook_set_page ##### -->
-<para>
-Deprecated compatibility macro. Use
-gtk_notebook_set_current_page() instead.
-</para>
-
-
-
<!-- ##### FUNCTION gtk_notebook_next_page ##### -->
<para>
</para>
<para>
</para>
-@notebook
-
@notebook:
@child:
@position:
@scrollable:
-<!-- ##### FUNCTION gtk_notebook_set_tab_border ##### -->
-<para>
-</para>
-
-@notebook:
-@border_width:
-
-
<!-- ##### FUNCTION gtk_notebook_popup_enable ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_notebook_get_tab_label ##### -->
+<!-- ##### FUNCTION gtk_notebook_get_n_pages ##### -->
<para>
+
</para>
@notebook:
-@child:
@Returns:
-<!-- ##### FUNCTION gtk_notebook_query_tab_label_packing ##### -->
+<!-- ##### FUNCTION gtk_notebook_get_tab_label ##### -->
<para>
</para>
@notebook:
@child:
-@expand:
-@fill:
-@pack_type:
+@Returns:
-<!-- ##### FUNCTION gtk_notebook_set_homogeneous_tabs ##### -->
+<!-- ##### FUNCTION gtk_notebook_query_tab_label_packing ##### -->
<para>
</para>
@notebook:
-@homogeneous:
+@child:
+@expand:
+@fill:
+@pack_type:
<!-- ##### FUNCTION gtk_notebook_set_menu_label ##### -->
@menu_text:
-<!-- ##### FUNCTION gtk_notebook_set_tab_hborder ##### -->
-<para>
-</para>
-
-@notebook:
-@tab_hborder:
-
-
<!-- ##### FUNCTION gtk_notebook_set_tab_label ##### -->
<para>
</para>
@tab_text:
-<!-- ##### FUNCTION gtk_notebook_set_tab_vborder ##### -->
+<!-- ##### FUNCTION gtk_notebook_set_tab_reorderable ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@reorderable:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_tab_detachable ##### -->
<para>
+
</para>
@notebook:
-@tab_vborder:
+@child:
+@detachable:
<!-- ##### FUNCTION gtk_notebook_get_menu_label_text ##### -->
@Returns:
-<!-- ##### FUNCTION gtk_notebook_set_current_page ##### -->
+<!-- ##### FUNCTION gtk_notebook_get_tab_reorderable ##### -->
<para>
</para>
@notebook:
-@page_num:
+@child:
+@Returns:
-<!-- ##### SIGNAL GtkNotebook::focus-tab ##### -->
+<!-- ##### FUNCTION gtk_notebook_get_tab_detachable ##### -->
<para>
</para>
-@notebook: the object which received the signal.
-@arg1:
+@notebook:
+@child:
+@Returns:
-<!-- ##### SIGNAL GtkNotebook::select-page ##### -->
+
+<!-- ##### FUNCTION gtk_notebook_set_current_page ##### -->
<para>
</para>
-@notebook: the object which received the signal.
-@arg1:
+@notebook:
+@page_num:
-<!-- ##### SIGNAL GtkNotebook::switch-page ##### -->
+
+<!-- ##### FUNCTION gtk_notebook_set_group ##### -->
<para>
-Emitted when the user or a function changes the current page.
+
</para>
-@notebook: the object which received the signal.
-@page: the new current page
-@page_num: the index of the page
+@notebook:
+@group:
-<!-- ##### ARG GtkNotebook:tab-pos ##### -->
-<para>
-The edge at which the tabs for switching pages are drawn.
-</para>
-<!-- ##### ARG GtkNotebook:show-tabs ##### -->
+<!-- ##### FUNCTION gtk_notebook_get_group ##### -->
<para>
-Whether to show tabs for the notebook pages.
-</para>
-<!-- ##### ARG GtkNotebook:show-border ##### -->
-<para>
-Whether to draw a bevel around the noteobook.
</para>
-<!-- ##### ARG GtkNotebook:scrollable ##### -->
-<para>
-Whether the tab label area will have arrows for scrolling if there
-are too many tabs to fit in the area.
-</para>
+@notebook:
+@Returns:
-<!-- ##### ARG GtkNotebook:tab-border ##### -->
-<para>
-Whether the tab labels have a border on all sides.
-</para>
-<!-- ##### ARG GtkNotebook:tab-hborder ##### -->
+<!-- ##### FUNCTION gtk_notebook_set_action_widget ##### -->
<para>
-Whether the tab labels have a horizontal border.
-</para>
-<!-- ##### ARG GtkNotebook:tab-vborder ##### -->
-<para>
-Whether the tab labels have a vertical border.
</para>
-<!-- ##### ARG GtkNotebook:page ##### -->
+@notebook:
+@widget:
+@pack_type:
+
+
+<!-- ##### FUNCTION gtk_notebook_get_action_widget ##### -->
<para>
-The current page
+
</para>
-<!-- ##### ARG GtkNotebook:enable-popup ##### -->
+@notebook:
+@pack_type:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION GtkNotebookWindowCreationFunc ##### -->
<para>
-Whether the popup menu for switching pages is enabled.
+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 %NULL, the drag will be cancelled.
</para>
-<!-- ##### ARG GtkNotebook:homogeneous ##### -->
+@source: The source #GtkNotebook of the drag operation
+@page: the child #GtkWidget affected
+@x: the X coordinate where the drop happens
+@y: the Y coordinate where the drop happens
+@data: user data
+@Returns: The created #GtkNotebook where the tab will be attached, or NULL to cancel the drag
+
+
+<!-- ##### FUNCTION gtk_notebook_set_window_creation_hook ##### -->
<para>
-whether the tabs must have all the same size.
+
</para>
+@func:
+@data:
+@destroy:
+
+