Mercurial > dwindows
diff gtk/dw.c @ 820:19a632499344
GTK2/3 changes for similar dw_container_set_item() and dw_container_change_item() misbehavior.
Also implemented dw_container_change_row_title() for GTK2/3.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 26 Mar 2011 12:52:35 +0000 |
parents | d57561c34c3a |
children | 39e533f8106f |
line wrap: on
line diff
--- a/gtk/dw.c Sat Mar 26 12:49:59 2011 +0000 +++ b/gtk/dw.c Sat Mar 26 12:52:35 2011 +0000 @@ -6994,6 +6994,24 @@ DW_MUTEX_UNLOCK; } +/* Internal version for both */ +void _dw_container_set_row_title(HWND handle, void *pointer, int row, char *title) +{ + GtkWidget *clist; + int _locked_by_me = FALSE; + + DW_MUTEX_LOCK; + clist = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(handle)); + if(pointer) + { + row += (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_insertpos"); + } + + if(clist) + gtk_clist_set_row_data(GTK_CLIST(clist), row, (gpointer)title); + DW_MUTEX_UNLOCK; +} + /* * Sets the title of a row in the container. * Parameters: @@ -7003,16 +7021,19 @@ */ void dw_container_set_row_title(void *pointer, int row, char *title) { - GtkWidget *clist; - int _locked_by_me = FALSE; - - DW_MUTEX_LOCK; - clist = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(pointer)); - row += (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_insertpos"); - - if(clist) - gtk_clist_set_row_data(GTK_CLIST(clist), row, (gpointer)title); - DW_MUTEX_UNLOCK; + _dw_container_set_row_title(pointer, pointer, row, title); +} + +/* + * Changes the title of a row already inserted in the container. + * Parameters: + * handle: Handle to window (widget) of container. + * row: Zero based row of data being set. + * title: String title of the item. + */ +void dw_container_change_row_title(HWND handle, int row, char *title) +{ + _dw_container_set_row_title(handle, NULL, row, title); } /*