Combobox Focus Challenge!!!
- From: anmol dhawan <anmol_dhawan2000 yahoo com>
- To: gtk-app-devel-list gnome org
- Subject: Combobox Focus Challenge!!!
- Date: Mon, 29 Aug 2005 05:53:13 -0700 (PDT)
Hi,
In the following attached code, gtk_widget_grab_focus() is not able to shift the focus to combobox.
The behavior should be:
When button1 is clicked, focus should come to button and when button is clicked focus should come to combobox.
But the focus is not coming on the combobox.
Why the focus is not coming on the combobox and which api should I use for this?
################################################################################################
#include <stdlib.h>
#include <gtk/gtk.h>
GtkWidget* combo;
GtkWidget *button;
GtkWidget *button1;
void button_callback( GtkWidget *widget,
gpointer data )
{
g_print ("button is pressed : shifting focus to combobox\n");
gtk_widget_grab_focus(combo); //not working
}
void button1_callback( GtkWidget *widget,
gpointer data )
{
gtk_widget_grab_focus(button);
g_print ("button1 is pressed : shifting focus to button\n");
}
int main( int argc, char *argv[] )
{
gtk_init (&argc, &argv);
GtkWidget *dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL);
combo = gtk_combo_new();
GList *glist = NULL;
glist = g_list_append(glist, "string 2");
glist = g_list_append(glist, "string 3");
glist = g_list_append(glist, "string 4");
glist = g_list_append(glist, "string 5");
gtk_combo_set_popdown_strings (GTK_COMBO (combo), glist);
button = gtk_button_new_with_label ("button");
button1 = gtk_button_new_with_label ("button1");
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (button_callback), NULL);
g_signal_connect (G_OBJECT (button1), "clicked",
G_CALLBACK (button1_callback), NULL);
GtkWidget *box;
box = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (box), 10);
gtk_box_pack_start(GTK_BOX(box), combo, FALSE, FALSE, 10);
gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 10);
gtk_box_pack_start(GTK_BOX(box), button1, FALSE, FALSE, 10);
gtk_box_set_homogeneous(GTK_BOX(box), TRUE);
gtk_container_add (GTK_CONTAINER (dialog), box);
gtk_widget_show(combo);
gtk_widget_show(button);
gtk_widget_show(button1);
gtk_widget_show (box);
gtk_widget_show(dialog);
g_signal_connect (G_OBJECT (dialog), "destroy",
G_CALLBACK (gtk_main_quit), NULL);
g_signal_connect (G_OBJECT (dialog), "delete_event",
G_CALLBACK (gtk_main_quit), NULL);
gtk_main();
return 0;
}
################################################################################################
Thanks in Advance
Anmol
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
---------------------------------
Start your day with Yahoo! - make it your home page
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]