# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1037538037 0 # Node ID d35771f70bddc73b897bbed7dabceb792cf6531a # Parent 0322836c529927e9b73965619c191f0082faaf8b Allow tree-select to work on container controls. diff -r 0322836c5299 -r d35771f70bdd gtk/dw.c --- a/gtk/dw.c Sun Nov 17 12:34:54 2002 +0000 +++ b/gtk/dw.c Sun Nov 17 13:00:37 2002 +0000 @@ -541,6 +541,15 @@ return FALSE; } +gint _container_select_row(GtkWidget *widget, gint row, gint column, GdkEventButton *event, gpointer data) +{ + SignalHandler *work = (SignalHandler *)data; + char *rowdata = gtk_clist_get_row_data(GTK_CLIST(widget), row); + int (*contextfunc)(HWND, char *, void *) = work->func; + + return contextfunc(work->window, rowdata, work->data);; +} + gint _unselect_row(GtkWidget *widget, gint row, gint column, GdkEventButton *event, gpointer data) { GList *tmp; @@ -5008,6 +5017,7 @@ if(*handle == NULL) { strncpy(errorbuf, dlerror(), 1024); + printf("%s\n", errorbuf); sprintf(newname, "lib%s.so", name); *handle = dlopen(newname, RTLD_NOW); } @@ -6967,6 +6977,11 @@ thisname = "button_press_event"; thisfunc = _findsigfunc("container-select"); } + else if(GTK_IS_CLIST(thiswindow) && strcmp(signame, "tree-select") == 0) + { + thisname = "select_row"; + thisfunc = (void *)_container_select_row; + } else if(GTK_IS_COMBO(thiswindow) && strcmp(signame, "item-select") == 0) { thisname = "select_child";