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