added new flag GTK_EXCLUSIVE_GRAB. allow exclusive grabs.

Sun Mar 15 13:25:28 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkwidget.h: added new flag GTK_EXCLUSIVE_GRAB.
                * gtk/gtkmain.c: allow exclusive grabs.

                        * gtk/gtkmenu.c: grab exclusively.
                                * gtk/gtkmenushell.c: grab exclusively.

                                        * gtk/gtkmenushell.c: don't activate insensitive menu items when
                                                in click-selects mode.

                                                        * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): activate submenus
                                                                on popup.

                                                                        * gtk/gtkmenushell.c (gtk_menu_shell_button_release): don't take
                                                                                *additional* button presses into account.

                                                                                        * gtk/gtkmenushell.c (gtk_menu_shell_button_press): don't take
                                                                                                foreign button releases into account.


oh boy, please check this out people, hope i covered all cases.
This commit is contained in:
Tim Janik
1998-03-15 13:33:54 +00:00
committed by Tim Janik
parent 9ce0cb6037
commit f87ee7e51a
14 changed files with 166 additions and 15 deletions

View File

@ -510,7 +510,8 @@ gtk_main_iteration_do (gboolean blocking)
* then we send the event to the original event widget.
* This is the key to implementing modality.
*/
if (gtk_widget_is_ancestor (event_widget, grab_widget))
if (!GTK_WIDGET_EXCLUSIVE_GRAB (grab_widget) &&
gtk_widget_is_ancestor (event_widget, grab_widget))
grab_widget = event_widget;
}
else