From 814957b46e16fbaf8999190c2052edbc347c71fe Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 8 Nov 2000 17:34:52 +0000 Subject: Add note about GtkMenuPositionFunc API changes. 2000-11-08 Alexander Larsson * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc API changes. * gtk/gtkmenu.c: Add support for scrolling menus. Remove gtk_menu_append/prepend/insert, these have been moved to gtkcompat.h as #defines. * gtk/gtkcompat.h.in: Add compatibility #defines for gtk_menu_append/prepend/insert * gtk/gtkmenu.h: Add data needed for scrolling menus. GtkMenuPositionFunc gets an extra argument push_in. gtk_menu_append/prepend/insert removed. * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu positioning behaviour to fit to scrolling menus. * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse into menuitem->submeny. That is wrong, and broke torn off submenus of torn off menus, since they were unrealized when the first menu was unrealized. * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and gtk_menu_shell_select_item() since these need to be overridden in GtkMenu. * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu positioning behaviour to fit to scrolling menus. (gtk_option_menu_key_press, gtk_option_menu_button_press): Select the current item so that it is prelighted when the menu pops up. This is a workaround to the fact that the menu doesn't get the initial enter event (due to grabs). * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c: s/gtk_menu_append/gtk_menu_shell_append/ * gtk/gtknotebook.c: s/gtk_menu_insert/gtk_menu_shell_insert/ * gtk/testgtk.c (create_menu, create_menus): Create the first menu with 50 items so that menu scrolling can be tested. Patch from Jonathan Blandford * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new system to handle size requests. First, we ask what the size of the toggle is. Then, when allocating the size, we allocate the toggle_size first. This way we can have multiple menu-item classes w/o needing a seperate class for each. * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system. * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system. * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_toggle_size_request): New function to handle the toggle size-request. --- gtk/gtkinputdialog.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'gtk/gtkinputdialog.c') diff --git a/gtk/gtkinputdialog.c b/gtk/gtkinputdialog.c index cf0e969098..8732921893 100644 --- a/gtk/gtkinputdialog.c +++ b/gtk/gtkinputdialog.c @@ -207,8 +207,8 @@ gtk_input_dialog_init (GtkInputDialog *inputd) { menuitem = gtk_menu_item_new_with_label(info->name); - gtk_menu_append(GTK_MENU(device_menu),menuitem); - gtk_widget_show(menuitem); + gtk_menu_shell_append (GTK_MENU_SHELL (device_menu), menuitem); + gtk_widget_show (menuitem); gtk_object_set_user_data (GTK_OBJECT (menuitem), inputd); gtk_signal_connect (GTK_OBJECT (menuitem), "activate", (GtkSignalFunc) gtk_input_dialog_set_device, @@ -236,25 +236,25 @@ gtk_input_dialog_init (GtkInputDialog *inputd) mapping_menu = gtk_menu_new (); menuitem = gtk_menu_item_new_with_label(_("Disabled")); - gtk_menu_append(GTK_MENU(mapping_menu),menuitem); + gtk_menu_shell_append (GTK_MENU_SHELL (mapping_menu), menuitem); gtk_object_set_user_data (GTK_OBJECT (menuitem), inputd); - gtk_widget_show(menuitem); + gtk_widget_show (menuitem); gtk_signal_connect (GTK_OBJECT (menuitem), "activate", (GtkSignalFunc) gtk_input_dialog_set_mapping_mode, GINT_TO_POINTER (GDK_MODE_DISABLED)); menuitem = gtk_menu_item_new_with_label(_("Screen")); - gtk_menu_append(GTK_MENU(mapping_menu),menuitem); + gtk_menu_shell_append (GTK_MENU_SHELL (mapping_menu), menuitem); gtk_object_set_user_data (GTK_OBJECT (menuitem), inputd); - gtk_widget_show(menuitem); + gtk_widget_show (menuitem); gtk_signal_connect (GTK_OBJECT (menuitem), "activate", (GtkSignalFunc) gtk_input_dialog_set_mapping_mode, GINT_TO_POINTER (GDK_MODE_SCREEN)); menuitem = gtk_menu_item_new_with_label(_("Window")); - gtk_menu_append(GTK_MENU(mapping_menu),menuitem); + gtk_menu_shell_append (GTK_MENU_SHELL (mapping_menu), menuitem); gtk_object_set_user_data (GTK_OBJECT (menuitem), inputd); - gtk_widget_show(menuitem); + gtk_widget_show (menuitem); gtk_signal_connect (GTK_OBJECT (menuitem), "activate", (GtkSignalFunc) gtk_input_dialog_set_mapping_mode, GINT_TO_POINTER (GDK_MODE_WINDOW)); @@ -524,7 +524,7 @@ gtk_input_dialog_fill_axes(GtkInputDialog *inputd, GdkDevice *info) (GtkSignalFunc) gtk_input_dialog_set_axis, GINT_TO_POINTER (0x10000 * (j + 1) + i)); gtk_widget_show (menu_item); - gtk_menu_append (GTK_MENU (menu), menu_item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); } inputd->axis_items[i] = option_menu = gtk_option_menu_new (); -- cgit v1.2.1