Mercurial > dwindows
diff gtk/dw.c @ 350:2216e65ad2ae
Removed slider flags and container selection flags from the header file.
Added "multi" parameter to dw_container_new() to control multiple
selection.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 14 Apr 2003 13:47:20 +0000 |
parents | 81fae15885d7 |
children | feed7567764f |
line wrap: on
line diff
--- a/gtk/dw.c Sun Apr 13 09:04:50 2003 +0000 +++ b/gtk/dw.c Mon Apr 14 13:47:20 2003 +0000 @@ -2126,7 +2126,7 @@ * id: An ID to be used for getting the resource from the * resource file. */ -HWND dw_container_new(unsigned long id) +HWND dw_container_new(unsigned long id, int multi) { GtkWidget *tmp; int _locked_by_me = FALSE; @@ -2136,6 +2136,7 @@ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (tmp), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + gtk_object_set_data(GTK_OBJECT(tmp), "multi", (gpointer)multi); gtk_object_set_data(GTK_OBJECT(tmp), "id", (gpointer)id); gtk_widget_show(tmp); @@ -4295,7 +4296,7 @@ { GtkWidget *clist; char numbuf[10]; - int z; + int z, multi; int _locked_by_me = FALSE; DW_MUTEX_LOCK; @@ -4305,14 +4306,18 @@ DW_MUTEX_UNLOCK; return FALSE; } + multi = (int)gtk_object_get_data(GTK_OBJECT(handle), "multi"); + gtk_object_set_data(GTK_OBJECT(handle), "multi", (gpointer)multi); gtk_signal_connect(GTK_OBJECT(clist), "select_row", GTK_SIGNAL_FUNC(_select_row), NULL); gtk_signal_connect(GTK_OBJECT(clist), "unselect_row", GTK_SIGNAL_FUNC(_unselect_row), NULL); gtk_clist_set_column_auto_resize(GTK_CLIST(clist), 0, TRUE); - gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_SINGLE); + if(multi) + gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_EXTENDED); + else + gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_SINGLE); gtk_container_add(GTK_CONTAINER(handle), clist); - gtk_object_set_data(GTK_OBJECT(clist), "multi", (gpointer)0); gtk_object_set_user_data(GTK_OBJECT(handle), (gpointer)clist); gtk_widget_show(clist); gtk_object_set_data(GTK_OBJECT(clist), "colcount", (gpointer)count); @@ -6231,19 +6236,6 @@ if(tmp) handle2 = tmp; } - if(GTK_IS_CLIST(handle2)) - { - if(style & DW_CCS_EXTENDSEL) - { - gtk_clist_set_selection_mode(GTK_CLIST(handle2), GTK_SELECTION_EXTENDED); - gtk_object_set_data(GTK_OBJECT(handle2), "multi", (gpointer)1); - } - if(style & DW_CCS_SINGLESEL) - { - gtk_clist_set_selection_mode(GTK_CLIST(handle2), GTK_SELECTION_SINGLE); - gtk_object_set_data(GTK_OBJECT(handle2), "multi", (gpointer)0); - } - } if(GTK_IS_LABEL(handle2)) { if(style & DW_DT_CENTER || style & DW_DT_VCENTER)