comparison gtk/dw.c @ 424:5cc81d3c2bca

Combobox code was using the old signal handler method. Updated it to thenew signal handler system, and updated dw_listbox_select() to use the same system as dw_listbox_selected_multi() code, but just return thefirst selected item it finds.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 15 May 2003 18:03:41 +0000
parents c1c75e363a91
children 1f92eadea7d3
comparison
equal deleted inserted replaced
423:c1c75e363a91 424:5cc81d3c2bca
2464 * id: An ID to be used with dw_window_from_id() or 0L. 2464 * id: An ID to be used with dw_window_from_id() or 0L.
2465 */ 2465 */
2466 HWND dw_combobox_new(char *text, unsigned long id) 2466 HWND dw_combobox_new(char *text, unsigned long id)
2467 { 2467 {
2468 GtkWidget *tmp; 2468 GtkWidget *tmp;
2469 SignalHandler *work = malloc(sizeof(SignalHandler)); 2469 int sigid, _locked_by_me = FALSE;
2470 int _locked_by_me = FALSE; 2470 gint cid;
2471 2471
2472 DW_MUTEX_LOCK; 2472 DW_MUTEX_LOCK;
2473 tmp = gtk_combo_new(); 2473 tmp = gtk_combo_new();
2474 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(tmp)->entry), text); 2474 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(tmp)->entry), text);
2475 gtk_combo_set_use_arrows(GTK_COMBO(tmp), TRUE); 2475 gtk_combo_set_use_arrows(GTK_COMBO(tmp), TRUE);
2476 gtk_object_set_user_data(GTK_OBJECT(tmp), NULL); 2476 gtk_object_set_user_data(GTK_OBJECT(tmp), NULL);
2477 gtk_widget_show(tmp); 2477 gtk_widget_show(tmp);
2478 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", (gpointer)id); 2478 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", (gpointer)id);
2479 2479
2480 work->window = tmp; 2480 sigid = _set_signal_handler(GTK_COMBO(tmp)->list, tmp, NULL, NULL, NULL);
2481 work->func = NULL; 2481 cid = gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), (gpointer)sigid);
2482 work->data = NULL; 2482 _set_signal_handler_id(GTK_COMBO(tmp)->list, sigid, cid);
2483
2484 gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), work);
2485 DW_MUTEX_UNLOCK; 2483 DW_MUTEX_UNLOCK;
2486 return tmp; 2484 return tmp;
2487 } 2485 }
2488 2486
2489 /* 2487 /*