[patch] GtkNotebook



Hi !

We just uploaded the patch gtk-hamann_jeske-980130-0.patch.gz to ftp.gimp.org.
It fixes some bugs and adds new features to the GtkNotebook widget.
The patch is against gtk+-0.99.3.

[FIX] (gtk_notebook_size_request) :
   container border width > 0 doesn't work correctly in case of "show_tabs"

[FIX] (gtk_notebook_pages_allocate) :
   container border width > 0 doesn't work correctly in case of 
   GTK_POS_BOTTOM / GTK_POS_RIGHT

[FIX] (gtk_notebook_page_allocate) :
   the tab label is sized too big (by CHILD_SPACING)
   e.g. GTK_POS_TOP : 
      tab_label->allocation.height was
      tab_label->requisition.height + CHILD_SPACING

[FIX] (gtk_notebook_show_tabs) :
    tab labels were not hidden/shown when toggling "show_tabs"

[FIX] (gtk_notebook_remove_page) :
    call gtk_notebook_switch_page if "cur_page" is removed

[CHANGE] (gtk_notebook_next_page / prev_page) :
    use g_list_find instead of while loop (which was never "break"ed)

[CHANGE]:
    globally replaced "GTK_WIDGET (widget)->style->..."
    with "widget->style->..."

[ADDED]:
    Scrollable tab section. Can be toggled with gtk_notebook_set_scrollable.

[ADDED]:
    focus handling / keyboard handling

[CHANGE]:
    testgtk was changed accordingly


Some suggestions :

- How about a popup menu on the tab section for quick page switching ?
  This could be done by an additional "gchar *" parameter to 
  gtk_notebook_append_page, insert_page, prepend_page. This string will
  appear in the popup, describing the contents of the page.

- As the properties "scrollable", "show_tabs", "show_border" are 
  separate styles, how about combining gtk_notebook_set_show_tabs,
  set_show_border, set_scrollable into one function gtk_notebook_set_style,
  taking an enum as argument ?

- Should gtk_notebook_foreach be expanded to also iterate over the
  tab label widgets ? These are certainly also children of the
  container...

bye,
  Lars + Stefan



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]