1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 A tabbed notebook container
7 <!-- ##### SECTION Long_Description ##### -->
9 The #GtkNotebook widget is a #GtkContainer whose children are pages that
10 can be switched between using tab labels along one edge.
13 There are many configuration options for #GtkNotebook. Among other
14 things, you can choose on which edge the tabs appear
15 (see gtk_notebook_set_tab_pos()), whether, if there are too many
16 tabs to fit the noteobook should be made bigger or scrolling
17 arrows added (see gtk_notebook_set_scrollable), and whether there
18 will be a popup menu allowing the users to switch pages.
19 (see gtk_notebook_enable_popup(), gtk_noteobook_disable_popup())
22 <!-- ##### SECTION See_Also ##### -->
26 <term>#GtkContainer</term>
27 <listitem><para>For functions that apply to every #GtkContainer
28 (like #GtkList).</para></listitem>
33 <!-- ##### SECTION Stability_Level ##### -->
36 <!-- ##### STRUCT GtkNotebook ##### -->
42 <!-- ##### SIGNAL GtkNotebook::change-current-page ##### -->
47 @notebook: the object which received the signal.
51 <!-- ##### SIGNAL GtkNotebook::create-window ##### -->
56 @notebook: the object which received the signal.
62 <!-- ##### SIGNAL GtkNotebook::focus-tab ##### -->
67 @notebook: the object which received the signal.
71 <!-- ##### SIGNAL GtkNotebook::move-focus-out ##### -->
76 @notebook: the object which received the signal.
79 <!-- ##### SIGNAL GtkNotebook::page-added ##### -->
84 @notebook: the object which received the signal.
88 <!-- ##### SIGNAL GtkNotebook::page-removed ##### -->
93 @notebook: the object which received the signal.
97 <!-- ##### SIGNAL GtkNotebook::page-reordered ##### -->
102 @notebook: the object which received the signal.
106 <!-- ##### SIGNAL GtkNotebook::reorder-tab ##### -->
111 @notebook: the object which received the signal.
116 <!-- ##### SIGNAL GtkNotebook::select-page ##### -->
121 @notebook: the object which received the signal.
125 <!-- ##### SIGNAL GtkNotebook::switch-page ##### -->
127 Emitted when the user or a function changes the current page.
130 @notebook: the object which received the signal.
131 @page: the new current page
132 @page_num: the index of the page
134 <!-- ##### ARG GtkNotebook:enable-popup ##### -->
139 <!-- ##### ARG GtkNotebook:group ##### -->
144 <!-- ##### ARG GtkNotebook:group-id ##### -->
149 <!-- ##### ARG GtkNotebook:homogeneous ##### -->
154 <!-- ##### ARG GtkNotebook:page ##### -->
159 <!-- ##### ARG GtkNotebook:scrollable ##### -->
164 <!-- ##### ARG GtkNotebook:show-border ##### -->
169 <!-- ##### ARG GtkNotebook:show-tabs ##### -->
174 <!-- ##### ARG GtkNotebook:tab-border ##### -->
179 <!-- ##### ARG GtkNotebook:tab-hborder ##### -->
184 <!-- ##### ARG GtkNotebook:tab-pos ##### -->
189 <!-- ##### ARG GtkNotebook:tab-vborder ##### -->
194 <!-- ##### ARG GtkNotebook:detachable ##### -->
199 <!-- ##### ARG GtkNotebook:menu-label ##### -->
204 <!-- ##### ARG GtkNotebook:position ##### -->
209 <!-- ##### ARG GtkNotebook:reorderable ##### -->
214 <!-- ##### ARG GtkNotebook:tab-expand ##### -->
219 <!-- ##### ARG GtkNotebook:tab-fill ##### -->
224 <!-- ##### ARG GtkNotebook:tab-label ##### -->
229 <!-- ##### ARG GtkNotebook:tab-pack ##### -->
234 <!-- ##### ARG GtkNotebook:arrow-spacing ##### -->
239 <!-- ##### ARG GtkNotebook:has-backward-stepper ##### -->
244 <!-- ##### ARG GtkNotebook:has-forward-stepper ##### -->
249 <!-- ##### ARG GtkNotebook:has-secondary-backward-stepper ##### -->
254 <!-- ##### ARG GtkNotebook:has-secondary-forward-stepper ##### -->
259 <!-- ##### ARG GtkNotebook:tab-curvature ##### -->
264 <!-- ##### ARG GtkNotebook:tab-overlap ##### -->
269 <!-- ##### STRUCT GtkNotebookPage ##### -->
271 The #GtkNotebookPage is an opaque implementation detail of #GtkNotebook.
275 <!-- ##### FUNCTION gtk_notebook_new ##### -->
282 <!-- ##### FUNCTION gtk_notebook_append_page ##### -->
292 <!-- ##### FUNCTION gtk_notebook_append_page_menu ##### -->
303 <!-- ##### FUNCTION gtk_notebook_prepend_page ##### -->
313 <!-- ##### FUNCTION gtk_notebook_prepend_page_menu ##### -->
324 <!-- ##### FUNCTION gtk_notebook_insert_page ##### -->
335 <!-- ##### FUNCTION gtk_notebook_insert_page_menu ##### -->
347 <!-- ##### FUNCTION gtk_notebook_remove_page ##### -->
355 <!-- ##### MACRO gtk_notebook_current_page ##### -->
357 Deprecated compatibility macro. Use
358 gtk_notebook_get_current_page() instead.
363 <!-- ##### FUNCTION gtk_notebook_page_num ##### -->
372 <!-- ##### MACRO gtk_notebook_set_page ##### -->
374 Deprecated compatibility macro. Use
375 gtk_notebook_set_current_page() instead.
380 <!-- ##### FUNCTION gtk_notebook_next_page ##### -->
387 <!-- ##### FUNCTION gtk_notebook_prev_page ##### -->
394 <!-- ##### FUNCTION gtk_notebook_reorder_child ##### -->
403 <!-- ##### FUNCTION gtk_notebook_set_tab_pos ##### -->
407 @notebook: the notebook widget
411 <!-- ##### FUNCTION gtk_notebook_set_show_tabs ##### -->
419 <!-- ##### FUNCTION gtk_notebook_set_show_border ##### -->
427 <!-- ##### FUNCTION gtk_notebook_set_scrollable ##### -->
435 <!-- ##### FUNCTION gtk_notebook_set_tab_border ##### -->
443 <!-- ##### FUNCTION gtk_notebook_popup_enable ##### -->
450 <!-- ##### FUNCTION gtk_notebook_popup_disable ##### -->
457 <!-- ##### FUNCTION gtk_notebook_get_current_page ##### -->
461 @notebook: the notebook widget
462 @Returns: the page number
465 <!-- ##### FUNCTION gtk_notebook_get_menu_label ##### -->
474 <!-- ##### FUNCTION gtk_notebook_get_nth_page ##### -->
483 <!-- ##### FUNCTION gtk_notebook_get_n_pages ##### -->
492 <!-- ##### FUNCTION gtk_notebook_get_tab_label ##### -->
501 <!-- ##### FUNCTION gtk_notebook_query_tab_label_packing ##### -->
512 <!-- ##### FUNCTION gtk_notebook_set_homogeneous_tabs ##### -->
520 <!-- ##### FUNCTION gtk_notebook_set_menu_label ##### -->
529 <!-- ##### FUNCTION gtk_notebook_set_menu_label_text ##### -->
538 <!-- ##### FUNCTION gtk_notebook_set_tab_hborder ##### -->
546 <!-- ##### FUNCTION gtk_notebook_set_tab_label ##### -->
555 <!-- ##### FUNCTION gtk_notebook_set_tab_label_packing ##### -->
566 <!-- ##### FUNCTION gtk_notebook_set_tab_label_text ##### -->
575 <!-- ##### FUNCTION gtk_notebook_set_tab_vborder ##### -->
583 <!-- ##### FUNCTION gtk_notebook_set_tab_reorderable ##### -->
593 <!-- ##### FUNCTION gtk_notebook_set_tab_detachable ##### -->
603 <!-- ##### FUNCTION gtk_notebook_get_menu_label_text ##### -->
613 <!-- ##### FUNCTION gtk_notebook_get_scrollable ##### -->
622 <!-- ##### FUNCTION gtk_notebook_get_show_border ##### -->
631 <!-- ##### FUNCTION gtk_notebook_get_show_tabs ##### -->
640 <!-- ##### FUNCTION gtk_notebook_get_tab_label_text ##### -->
650 <!-- ##### FUNCTION gtk_notebook_get_tab_pos ##### -->
659 <!-- ##### FUNCTION gtk_notebook_get_tab_reorderable ##### -->
669 <!-- ##### FUNCTION gtk_notebook_get_tab_detachable ##### -->
679 <!-- ##### FUNCTION gtk_notebook_set_current_page ##### -->
688 <!-- ##### FUNCTION gtk_notebook_set_group_id ##### -->
697 <!-- ##### FUNCTION gtk_notebook_get_group_id ##### -->
706 <!-- ##### FUNCTION gtk_notebook_set_group ##### -->
715 <!-- ##### FUNCTION gtk_notebook_get_group ##### -->
724 <!-- ##### USER_FUNCTION GtkNotebookWindowCreationFunc ##### -->
726 A function used by GtkNotebook when a detachable tab is dropped
727 in the root window, it's used to create a window containing a notebook
728 where the tab will be attached. This function will also be responsible
729 of moving/resizing the window and adding the necessary properties to
730 the notebook (i.e.: group-id).
732 If the function returns %NULL, the drag will be cancelled.
735 @source: The source #GtkNotebook of the drag operation
736 @page: the child #GtkWidget affected
737 @x: the X coordinate where the drop happens
738 @y: the Y coordinate where the drop happens
740 @Returns: The created #GtkNotebook where the tab will be attached, or NULL to cancel the drag
743 <!-- ##### FUNCTION gtk_notebook_set_window_creation_hook ##### -->