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);
 }
 
 /*