gtk2/docs/reference/gtk/tmpl/gtknotebook.sgml
Owen Taylor 0cdc00ec0b Add a function to determine if a window is the focus widget within its
Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
	to determine if a window is the focus widget within
	its toplevel.

	* gtk/gtkcontainer.[ch]: Fix the return type of ::focus
	to be boolean.

	* gtk/gtkcontainer.c (gtk_container_real_focus): Move handling
	of the case where the container CAN_FOCUS to here instead
	of having it in each individual move-the-focus place.

	* gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
	focusing to be geometric in a much more obvious sense. Arrowing
	around is still non-intuitive because it isn't perfect and
	because entries, etc, grab the arrow keys, but it at least
	usually will do what you expect now.

	* gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
	file.

	* gtk/gtknotebook.c: Change tabs to be a single item in
	the focus chain. Make movement of focus on tabs with arrow
	keys wrap around.

	* gtk/gtknotebook.c (gtk_notebook_find_child): Add
	CHECK_FIND_CHILD macro to give informative error messages
	instead of silent returns.

	* gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT
	flag since we handle GdkReturn on the tabs.

	* gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
	windows rather than sending expose events directly.

	* gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure
	definition for GtkNotebookPage into .c file, since it is private.

	* gtk/testgtk.c (create_notebook): Add option for
	testing borderless notebook.

	* gtk/testgtk.c (page_switch): Removed egregious poking
	around in GTK+ internals.

	* docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.

	* gtk/gtkclist.[ch]: Remove key press handler, handle focusing
	properly through gtk_clist_focus. Make the title headers a
	single item in the tab-focus chain, and make left-right wrap
	around.

	* gtk/gtkwindow.c (gtk_window_focus): Add a custom
	focus method so that wrapping around works properly.

	* gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() -
	that is handled for the widget now.
2000-12-11 17:47:24 +00:00

391 lines
6.0 KiB
Plaintext

<!-- ##### SECTION Title ##### -->
GtkNotebook
<!-- ##### SECTION Short_Description ##### -->
A tabbed notebook container.
<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkNotebook widget is a #GtkContainer whose children are pages that
can be switched between using tab labels along one edge.
</para>
<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
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>
<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term>#GtkContainer</term>
<listitem><para>For functions that apply to every #GtkContainer
(like #GtkList).</para></listitem>
</varlistentry>
</variablelist>
</para>
<!-- ##### STRUCT GtkNotebook ##### -->
<para>
</para>
<!-- ##### STRUCT GtkNotebookPage ##### -->
<para>
The #GtkNotebookPage is an opaque implementation detail of #GtkNotebook.
</para>
<!-- ##### FUNCTION gtk_notebook_new ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gtk_notebook_append_page ##### -->
<para>
</para>
@notebook:
@child:
@tab_label:
<!-- ##### FUNCTION gtk_notebook_append_page_menu ##### -->
<para>
</para>
@notebook:
@child:
@tab_label:
@menu_label:
<!-- ##### FUNCTION gtk_notebook_prepend_page ##### -->
<para>
</para>
@notebook:
@child: the
@tab_label:
<!-- ##### FUNCTION gtk_notebook_prepend_page_menu ##### -->
<para>
</para>
@notebook:
@child:
@tab_label:
@menu_label:
<!-- ##### FUNCTION gtk_notebook_insert_page ##### -->
<para>
</para>
@notebook:
@child:
@tab_label:
@position:
<!-- ##### FUNCTION gtk_notebook_insert_page_menu ##### -->
<para>
</para>
@notebook:
@child:
@tab_label:
@menu_label:
@position:
<!-- ##### FUNCTION gtk_notebook_remove_page ##### -->
<para>
</para>
@notebook:
@page_num:
<!-- ##### MACRO gtk_notebook_current_page ##### -->
<para>
Compatibility macro; in gtkcompat.h.
</para>
<!-- ##### FUNCTION gtk_notebook_page_num ##### -->
<para>
</para>
@notebook:
@child:
@Returns:
<!-- ##### FUNCTION gtk_notebook_set_page ##### -->
<para>
</para>
@notebook:
@page_num:
<!-- ##### FUNCTION gtk_notebook_next_page ##### -->
<para>
</para>
@notebook:
<!-- ##### FUNCTION gtk_notebook_prev_page ##### -->
<para>
</para>
@notebook:
<!-- ##### FUNCTION gtk_notebook_reorder_child ##### -->
<para>
</para>
@notebook
@child:
@position:
<!-- ##### FUNCTION gtk_notebook_set_tab_pos ##### -->
<para>
</para>
@notebook: the notebook widget
@pos: the position
<!-- ##### FUNCTION gtk_notebook_set_show_tabs ##### -->
<para>
</para>
@notebook:
@show_tabs:
<!-- ##### FUNCTION gtk_notebook_set_show_border ##### -->
<para>
</para>
@notebook:
@show_border:
<!-- ##### FUNCTION gtk_notebook_set_scrollable ##### -->
<para>
</para>
@notebook:
@scrollable:
<!-- ##### FUNCTION gtk_notebook_set_tab_border ##### -->
<para>
</para>
@notebook:
@border_width:
<!-- ##### FUNCTION gtk_notebook_popup_enable ##### -->
<para>
</para>
@notebook:
<!-- ##### FUNCTION gtk_notebook_popup_disable ##### -->
<para>
</para>
@notebook:
<!-- ##### FUNCTION gtk_notebook_get_current_page ##### -->
<para>
</para>
@notebook: the notebook widget
@Returns: the page number
<!-- ##### FUNCTION gtk_notebook_get_menu_label ##### -->
<para>
</para>
@notebook:
@child:
@Returns:
<!-- ##### FUNCTION gtk_notebook_get_nth_page ##### -->
<para>
</para>
@notebook:
@page_num:
@Returns:
<!-- ##### FUNCTION gtk_notebook_get_tab_label ##### -->
<para>
</para>
@notebook:
@child:
@Returns:
<!-- ##### FUNCTION gtk_notebook_query_tab_label_packing ##### -->
<para>
</para>
@notebook:
@child:
@expand:
@fill:
@pack_type:
<!-- ##### FUNCTION gtk_notebook_set_homogeneous_tabs ##### -->
<para>
</para>
@notebook:
@homogeneous:
<!-- ##### FUNCTION gtk_notebook_set_menu_label ##### -->
<para>
</para>
@notebook:
@child:
@menu_label:
<!-- ##### FUNCTION gtk_notebook_set_menu_label_text ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_notebook_set_tab_hborder ##### -->
<para>
</para>
@notebook:
@tab_hborder:
<!-- ##### FUNCTION gtk_notebook_set_tab_label ##### -->
<para>
</para>
@notebook:
@child:
@tab_label:
<!-- ##### FUNCTION gtk_notebook_set_tab_label_packing ##### -->
<para>
</para>
@notebook:
@child:
@expand:
@fill:
@pack_type:
<!-- ##### FUNCTION gtk_notebook_set_tab_label_text ##### -->
<para>
</para>
@notebook:
@child:
@tab_text:
<!-- ##### FUNCTION gtk_notebook_set_tab_vborder ##### -->
<para>
</para>
@notebook:
@tab_vborder:
<!-- ##### 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:page ##### -->
<para>
The current page
</para>
<!-- ##### ARG GtkNotebook:tab_pos ##### -->
<para>
The edge at which the tabs for switching pages are drawn.
</para>
<!-- ##### ARG GtkNotebook:tab_border ##### -->
<para>
Whether the tab labels have a border on all sides.
</para>
<!-- ##### ARG GtkNotebook:tab_hborder ##### -->
<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:show_tabs ##### -->
<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>
<!-- ##### ARG GtkNotebook:enable_popup ##### -->
<para>
Whether the popup menu for switching pages is enabled.
</para>
<!-- ##### ARG GtkNotebook:homogeneous ##### -->
<para>
whether the tabs must have all the same size.
</para>