comparison gtk/dw.c @ 112:cf0115e38ef0

On multi-widget windows, set the data on all components.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 23 Sep 2002 13:34:03 +0000
parents cd0e5cf92f6a
children 39932767ef46
comparison
equal deleted inserted replaced
111:1e406d67b178 112:cf0115e38ef0
5805 5805
5806 if(!window) 5806 if(!window)
5807 return; 5807 return;
5808 5808
5809 DW_MUTEX_LOCK; 5809 DW_MUTEX_LOCK;
5810 gtk_object_set_data(GTK_OBJECT(window), dataname, (gpointer)data); 5810 if(GTK_IS_OBJECT(window))
5811 {
5812 if(GTK_IS_SCROLLED_WINDOW(window))
5813 {
5814 HWND thiswindow = (HWND)gtk_object_get_user_data(GTK_OBJECT(window));
5815
5816 if(thiswindow && GTK_IS_OBJECT(thiswindow))
5817 gtk_object_set_data(GTK_OBJECT(thiswindow), dataname, (gpointer)data);
5818 }
5819 if(GTK_IS_COMBO(window))
5820 gtk_object_set_data(GTK_OBJECT(GTK_COMBO(window)->entry), dataname, (gpointer)data);
5821 gtk_object_set_data(GTK_OBJECT(window), dataname, (gpointer)data);
5822 }
5811 DW_MUTEX_UNLOCK; 5823 DW_MUTEX_UNLOCK;
5812 } 5824 }
5813 5825
5814 /* 5826 /*
5815 * Gets a named user data item to a window handle. 5827 * Gets a named user data item to a window handle.
5819 * data: User data to be passed to the handler function. 5831 * data: User data to be passed to the handler function.
5820 */ 5832 */
5821 void *dw_window_get_data(HWND window, char *dataname) 5833 void *dw_window_get_data(HWND window, char *dataname)
5822 { 5834 {
5823 int _locked_by_me = FALSE; 5835 int _locked_by_me = FALSE;
5824 void *ret; 5836 void *ret = NULL;
5825 5837
5826 if(!window) 5838 if(!window)
5827 return NULL; 5839 return NULL;
5828 5840
5829 DW_MUTEX_LOCK; 5841 DW_MUTEX_LOCK;
5830 ret = (void *)gtk_object_get_data(GTK_OBJECT(window), dataname); 5842 if(GTK_IS_OBJECT(window))
5843 ret = (void *)gtk_object_get_data(GTK_OBJECT(window), dataname);
5831 DW_MUTEX_UNLOCK; 5844 DW_MUTEX_UNLOCK;
5832 return ret; 5845 return ret;
5833 } 5846 }
5834 5847
5835 #ifndef NO_SIGNALS 5848 #ifndef NO_SIGNALS