forked from AuroraMiddleware/gtk
0cdc00ec0b
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.
391 lines
6.0 KiB
Plaintext
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>
|
|
|