Mercurial > dwindows
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 /* |