static gboolean gail_select_watcher (GSignalInvocationHint *ihint, guint n_param_values, const GValue *param_values, gpointer data) { GObject *object; GtkWidget *widget; object = g_value_get_object (param_values + 0); g_return_val_if_fail (GTK_IS_WIDGET(object), FALSE); widget = GTK_WIDGET (object); if (!gtk_widget_get_mapped (widget)) { g_signal_connect (widget, "map", G_CALLBACK (gail_map_cb), NULL); } else gail_finish_select (widget); return TRUE; }
static void gail_map_submenu_cb (GtkWidget *widget) { if (GTK_IS_MENU (widget)) { if (GTK_MENU (widget)->parent_menu_item) gail_finish_select (GTK_MENU (widget)->parent_menu_item); } }
static void gail_map_submenu_cb (GtkWidget *widget) { if (GTK_IS_MENU (widget)) { GtkWidget *parent_menu_item; parent_menu_item = gtk_menu_get_attach_widget (GTK_MENU (widget)); if (parent_menu_item) gail_finish_select (parent_menu_item); } }
static void gail_map_cb (GtkWidget *widget) { gail_finish_select (widget); }