comparison gtk/dw.c @ 115:2d121d4d90c0

Run the _item_select_event() handler on comboboxes even if a handler wasn't requested... so we can keep our internal item up to date.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 09 Oct 2002 19:31:11 +0000
parents 39932767ef46
children 1cad81b7cc4c
comparison
equal deleted inserted replaced
114:39932767ef46 115:2d121d4d90c0
342 if(list->data == (gpointer)child) 342 if(list->data == (gpointer)child)
343 { 343 {
344 if(!gtk_object_get_data(GTK_OBJECT(work->window), "appending")) 344 if(!gtk_object_get_data(GTK_OBJECT(work->window), "appending"))
345 { 345 {
346 gtk_object_set_data(GTK_OBJECT(work->window), "item", (gpointer)item); 346 gtk_object_set_data(GTK_OBJECT(work->window), "item", (gpointer)item);
347 selectfunc(work->window, item, work->data); 347 if(selectfunc)
348 selectfunc(work->window, item, work->data);
348 } 349 }
349 break; 350 break;
350 } 351 }
351 item++; 352 item++;
352 list = list->next; 353 list = list->next;
2008 * id: An ID to be used with WinWindowFromID() or 0L. 2009 * id: An ID to be used with WinWindowFromID() or 0L.
2009 */ 2010 */
2010 HWND dw_combobox_new(char *text, unsigned long id) 2011 HWND dw_combobox_new(char *text, unsigned long id)
2011 { 2012 {
2012 GtkWidget *tmp; 2013 GtkWidget *tmp;
2014 SignalHandler *work = malloc(sizeof(SignalHandler));
2013 int _locked_by_me = FALSE; 2015 int _locked_by_me = FALSE;
2014 2016
2015 DW_MUTEX_LOCK; 2017 DW_MUTEX_LOCK;
2016 tmp = gtk_combo_new(); 2018 tmp = gtk_combo_new();
2017 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(tmp)->entry), text); 2019 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(tmp)->entry), text);
2018 gtk_combo_set_use_arrows(GTK_COMBO(tmp), TRUE); 2020 gtk_combo_set_use_arrows(GTK_COMBO(tmp), TRUE);
2019 gtk_object_set_user_data(GTK_OBJECT(tmp), NULL); 2021 gtk_object_set_user_data(GTK_OBJECT(tmp), NULL);
2020 gtk_widget_show(tmp); 2022 gtk_widget_show(tmp);
2021 gtk_object_set_data(GTK_OBJECT(tmp), "id", (gpointer)id); 2023 gtk_object_set_data(GTK_OBJECT(tmp), "id", (gpointer)id);
2024
2025 work->window = tmp;
2026 work->func = NULL;
2027 work->data = NULL;
2028
2029 gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), work);
2022 DW_MUTEX_UNLOCK; 2030 DW_MUTEX_UNLOCK;
2023 return tmp; 2031 return tmp;
2024 } 2032 }
2025 2033
2026 /* 2034 /*