comparison gtk/dw.c @ 39:3aa9ef0b3996

Added focus fixes and set-focus fixes on all three platforms.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 19 Oct 2001 14:16:50 +0000
parents 360bc6a5f1c9
children 88c9c7410c22
comparison
equal deleted inserted replaced
38:538db2a48bac 39:3aa9ef0b3996
305 } 305 }
306 306
307 void _item_select_event(GtkWidget *widget, GtkWidget *child, gpointer data) 307 void _item_select_event(GtkWidget *widget, GtkWidget *child, gpointer data)
308 { 308 {
309 SignalHandler *work = (SignalHandler *)data; 309 SignalHandler *work = (SignalHandler *)data;
310 static int _dw_recursing = 0;
311
312 if(_dw_recursing)
313 return;
310 314
311 if(work) 315 if(work)
312 { 316 {
313 int (*selectfunc)(HWND, int, void *) = work->func; 317 int (*selectfunc)(HWND, int, void *) = work->func;
314 GList *list; 318 GList *list;
315 int item = 0; 319 int item = 0;
320
321 _dw_recursing = 1;
316 322
317 if(GTK_IS_COMBO(work->window)) 323 if(GTK_IS_COMBO(work->window))
318 list = GTK_LIST(GTK_COMBO(work->window)->list)->children; 324 list = GTK_LIST(GTK_COMBO(work->window)->list)->children;
319 else if(GTK_IS_LIST(widget)) 325 else if(GTK_IS_LIST(widget))
320 list = GTK_LIST(widget)->children; 326 list = GTK_LIST(widget)->children;
330 break; 336 break;
331 } 337 }
332 item++; 338 item++;
333 list = list->next; 339 list = list->next;
334 } 340 }
341 _dw_recursing = 0;
335 } 342 }
336 } 343 }
337 344
338 void _container_context_event(GtkWidget *widget, GdkEventButton *event, gpointer data) 345 void _container_context_event(GtkWidget *widget, GdkEventButton *event, gpointer data)
339 { 346 {
4871 thisname = "select_child"; 4878 thisname = "select_child";
4872 } 4879 }
4873 else if(strcmp(signame, "set-focus") == 0) 4880 else if(strcmp(signame, "set-focus") == 0)
4874 { 4881 {
4875 thisname = "focus-in-event"; 4882 thisname = "focus-in-event";
4883 if(GTK_IS_COMBO(thiswindow))
4884 thiswindow = GTK_COMBO(thiswindow)->entry;
4876 } 4885 }
4877 else if(GTK_IS_TREE(thiswindow) && strcmp(signame, "tree-select") == 0) 4886 else if(GTK_IS_TREE(thiswindow) && strcmp(signame, "tree-select") == 0)
4878 { 4887 {
4879 if(thisfunc) 4888 if(thisfunc)
4880 { 4889 {