Mercurial > dwindows
comparison gtk/dw.c @ 1091:99899e6b51c2
Fixed problem with missing menubar on GTK2.
Also switched to using GPOINTER_TO_INT() and GINT_TO_POINTER() to avoid
compiler warnings on 64bit systems in *most* places. There are still
some more complicated warnings to go... maybe we need similar macros
to avoid warnings on the other platforms as well.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 29 Jun 2011 17:35:00 +0000 |
parents | 97c221691665 |
children | 84473658ce37 |
comparison
equal
deleted
inserted
replaced
1090:b905fd8e7fd1 | 1091:99899e6b51c2 |
---|---|
1212 return NULL; | 1212 return NULL; |
1213 } | 1213 } |
1214 | 1214 |
1215 static SignalHandler _get_signal_handler(GtkWidget *widget, gpointer data) | 1215 static SignalHandler _get_signal_handler(GtkWidget *widget, gpointer data) |
1216 { | 1216 { |
1217 int counter = (int)data; | 1217 int counter = GPOINTER_TO_INT(data); |
1218 SignalHandler sh; | 1218 SignalHandler sh; |
1219 char text[100]; | 1219 char text[100]; |
1220 | 1220 |
1221 sprintf(text, "_dw_sigwindow%d", counter); | 1221 sprintf(text, "_dw_sigwindow%d", counter); |
1222 sh.window = (HWND)gtk_object_get_data(GTK_OBJECT(widget), text); | 1222 sh.window = (HWND)gtk_object_get_data(GTK_OBJECT(widget), text); |
1225 sprintf(text, "_dw_intfunc%d", counter); | 1225 sprintf(text, "_dw_intfunc%d", counter); |
1226 sh.intfunc = (void *)gtk_object_get_data(GTK_OBJECT(widget), text); | 1226 sh.intfunc = (void *)gtk_object_get_data(GTK_OBJECT(widget), text); |
1227 sprintf(text, "_dw_sigdata%d", counter); | 1227 sprintf(text, "_dw_sigdata%d", counter); |
1228 sh.data = gtk_object_get_data(GTK_OBJECT(widget), text); | 1228 sh.data = gtk_object_get_data(GTK_OBJECT(widget), text); |
1229 sprintf(text, "_dw_sigcid%d", counter); | 1229 sprintf(text, "_dw_sigcid%d", counter); |
1230 sh.cid = (gint)gtk_object_get_data(GTK_OBJECT(widget), text); | 1230 sh.cid = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(widget), text)); |
1231 | 1231 |
1232 return sh; | 1232 return sh; |
1233 } | 1233 } |
1234 | 1234 |
1235 static void _remove_signal_handler(GtkWidget *widget, int counter) | 1235 static void _remove_signal_handler(GtkWidget *widget, int counter) |
1236 { | 1236 { |
1237 char text[100]; | 1237 char text[100]; |
1238 gint cid; | 1238 gint cid; |
1239 | 1239 |
1240 sprintf(text, "_dw_sigcid%d", counter); | 1240 sprintf(text, "_dw_sigcid%d", counter); |
1241 cid = (gint)gtk_object_get_data(GTK_OBJECT(widget), text); | 1241 cid = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(widget), text)); |
1242 gtk_signal_disconnect(GTK_OBJECT(widget), cid); | 1242 gtk_signal_disconnect(GTK_OBJECT(widget), cid); |
1243 gtk_object_set_data(GTK_OBJECT(widget), text, NULL); | 1243 gtk_object_set_data(GTK_OBJECT(widget), text, NULL); |
1244 sprintf(text, "_dw_sigwindow%d", counter); | 1244 sprintf(text, "_dw_sigwindow%d", counter); |
1245 gtk_object_set_data(GTK_OBJECT(widget), text, NULL); | 1245 gtk_object_set_data(GTK_OBJECT(widget), text, NULL); |
1246 sprintf(text, "_dw_sigfunc%d", counter); | 1246 sprintf(text, "_dw_sigfunc%d", counter); |
1251 gtk_object_set_data(GTK_OBJECT(widget), text, NULL); | 1251 gtk_object_set_data(GTK_OBJECT(widget), text, NULL); |
1252 } | 1252 } |
1253 | 1253 |
1254 static int _set_signal_handler(GtkWidget *widget, HWND window, void *func, gpointer data, void *intfunc) | 1254 static int _set_signal_handler(GtkWidget *widget, HWND window, void *func, gpointer data, void *intfunc) |
1255 { | 1255 { |
1256 int counter = (int)gtk_object_get_data(GTK_OBJECT(widget), "_dw_sigcounter"); | 1256 int counter = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(widget), "_dw_sigcounter")); |
1257 char text[100]; | 1257 char text[100]; |
1258 | 1258 |
1259 sprintf(text, "_dw_sigwindow%d", counter); | 1259 sprintf(text, "_dw_sigwindow%d", counter); |
1260 gtk_object_set_data(GTK_OBJECT(widget), text, (gpointer)window); | 1260 gtk_object_set_data(GTK_OBJECT(widget), text, (gpointer)window); |
1261 sprintf(text, "_dw_sigfunc%d", counter); | 1261 sprintf(text, "_dw_sigfunc%d", counter); |
1844 return FALSE; | 1844 return FALSE; |
1845 } | 1845 } |
1846 | 1846 |
1847 static GdkPixmap *_find_private_pixmap(GdkBitmap **bitmap, HICN icon, unsigned long *userwidth, unsigned long *userheight) | 1847 static GdkPixmap *_find_private_pixmap(GdkBitmap **bitmap, HICN icon, unsigned long *userwidth, unsigned long *userheight) |
1848 { | 1848 { |
1849 int id = (int)icon; | 1849 int id = GPOINTER_TO_INT(icon); |
1850 | 1850 |
1851 if(id < _PixmapCount && _PixmapArray[id].used) | 1851 if(id < _PixmapCount && _PixmapArray[id].used) |
1852 { | 1852 { |
1853 *bitmap = _PixmapArray[id].mask; | 1853 *bitmap = _PixmapArray[id].mask; |
1854 if(userwidth) | 1854 if(userwidth) |
1861 } | 1861 } |
1862 | 1862 |
1863 static GdkPixmap *_find_pixmap(GdkBitmap **bitmap, HICN icon, HWND handle, unsigned long *userwidth, unsigned long *userheight) | 1863 static GdkPixmap *_find_pixmap(GdkBitmap **bitmap, HICN icon, HWND handle, unsigned long *userwidth, unsigned long *userheight) |
1864 { | 1864 { |
1865 char *data = NULL; | 1865 char *data = NULL; |
1866 int z, id = (int)icon; | 1866 int z, id = GPOINTER_TO_INT(icon); |
1867 | 1867 |
1868 if(id & (1 << 31)) | 1868 if(id & (1 << 31)) |
1869 return _find_private_pixmap(bitmap, (HICN)(id & 0xFFFFFF), userwidth, userheight); | 1869 return _find_private_pixmap(bitmap, (HICN)(id & 0xFFFFFF), userwidth, userheight); |
1870 | 1870 |
1871 for(z=0;z<_resources.resource_max;z++) | 1871 for(z=0;z<_resources.resource_max;z++) |
1901 } | 1901 } |
1902 | 1902 |
1903 #if GTK_MAJOR_VERSION > 1 | 1903 #if GTK_MAJOR_VERSION > 1 |
1904 static GdkPixbuf *_find_private_pixbuf(HICN icon) | 1904 static GdkPixbuf *_find_private_pixbuf(HICN icon) |
1905 { | 1905 { |
1906 int id = (int)icon; | 1906 int id = GPOINTER_TO_INT(icon); |
1907 | 1907 |
1908 if(id < _PixmapCount && _PixmapArray[id].used) | 1908 if(id < _PixmapCount && _PixmapArray[id].used) |
1909 return _PixmapArray[id].pixbuf; | 1909 return _PixmapArray[id].pixbuf; |
1910 return NULL; | 1910 return NULL; |
1911 } | 1911 } |
1912 | 1912 |
1913 static GdkPixbuf *_find_pixbuf(HICN icon) | 1913 static GdkPixbuf *_find_pixbuf(HICN icon) |
1914 { | 1914 { |
1915 char *data = NULL; | 1915 char *data = NULL; |
1916 int z, id = (int)icon; | 1916 int z, id = GPOINTER_TO_INT(icon); |
1917 | 1917 |
1918 if(id & (1 << 31)) | 1918 if(id & (1 << 31)) |
1919 return _find_private_pixbuf((HICN)(id & 0xFFFFFF)); | 1919 return _find_private_pixbuf((HICN)(id & 0xFFFFFF)); |
1920 | 1920 |
1921 for(z=0;z<_resources.resource_max;z++) | 1921 for(z=0;z<_resources.resource_max;z++) |
2481 | 2481 |
2482 dw_window_set_pos_size(entrywindow, x, y, (text_width+60+extra_width), height); | 2482 dw_window_set_pos_size(entrywindow, x, y, (text_width+60+extra_width), height); |
2483 | 2483 |
2484 dw_window_show(entrywindow); | 2484 dw_window_show(entrywindow); |
2485 | 2485 |
2486 return (int)dw_dialog_wait(dwwait); | 2486 return GPOINTER_TO_INT(dw_dialog_wait(dwwait)); |
2487 } | 2487 } |
2488 | 2488 |
2489 /* | 2489 /* |
2490 * Minimizes or Iconifies a top-level window. | 2490 * Minimizes or Iconifies a top-level window. |
2491 * Parameters: | 2491 * Parameters: |
2584 else | 2584 else |
2585 #endif | 2585 #endif |
2586 { | 2586 { |
2587 if (GTK_WIDGET(handle)->window) | 2587 if (GTK_WIDGET(handle)->window) |
2588 { | 2588 { |
2589 int width = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_width"); | 2589 int width = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_width")); |
2590 int height = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_height"); | 2590 int height = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_height")); |
2591 | 2591 |
2592 if (width && height) | 2592 if (width && height) |
2593 { | 2593 { |
2594 gtk_widget_set_usize(handle, width, height); | 2594 gtk_widget_set_usize(handle, width, height); |
2595 gtk_object_set_data(GTK_OBJECT(handle), "_dw_width", GINT_TO_POINTER(0)); | 2595 gtk_object_set_data(GTK_OBJECT(handle), "_dw_width", GINT_TO_POINTER(0)); |
3119 | 3119 |
3120 _save_gdk_colors(handle, forecolor, backcolor); | 3120 _save_gdk_colors(handle, forecolor, backcolor); |
3121 | 3121 |
3122 if(GTK_IS_CLIST(handle)) | 3122 if(GTK_IS_CLIST(handle)) |
3123 { | 3123 { |
3124 int z, rowcount = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_rowcount"); | 3124 int z, rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_rowcount")); |
3125 | 3125 |
3126 for(z=0;z<rowcount;z++) | 3126 for(z=0;z<rowcount;z++) |
3127 { | 3127 { |
3128 gtk_clist_set_foreground(GTK_CLIST(handle), z, &forecolor); | 3128 gtk_clist_set_foreground(GTK_CLIST(handle), z, &forecolor); |
3129 gtk_clist_set_background(GTK_CLIST(handle), z, &backcolor); | 3129 gtk_clist_set_background(GTK_CLIST(handle), z, &backcolor); |
3665 | 3665 |
3666 DW_MUTEX_LOCK; | 3666 DW_MUTEX_LOCK; |
3667 accel = _removetilde(tempbuf, title); | 3667 accel = _removetilde(tempbuf, title); |
3668 | 3668 |
3669 accel_group = (GtkAccelGroup *)gtk_object_get_data(GTK_OBJECT(menu), "_dw_accel"); | 3669 accel_group = (GtkAccelGroup *)gtk_object_get_data(GTK_OBJECT(menu), "_dw_accel"); |
3670 submenucount = (int)gtk_object_get_data(GTK_OBJECT(menu), "_dw_submenucount"); | 3670 submenucount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(menu), "_dw_submenucount")); |
3671 | 3671 |
3672 if (strlen(tempbuf) == 0) | 3672 if (strlen(tempbuf) == 0) |
3673 tmphandle=gtk_menu_item_new(); | 3673 tmphandle=gtk_menu_item_new(); |
3674 else | 3674 else |
3675 { | 3675 { |
3716 | 3716 |
3717 sprintf(tempbuf, "_dw_submenu%d", submenucount); | 3717 sprintf(tempbuf, "_dw_submenu%d", submenucount); |
3718 submenucount++; | 3718 submenucount++; |
3719 gtk_menu_item_set_submenu(GTK_MENU_ITEM(tmphandle), submenu); | 3719 gtk_menu_item_set_submenu(GTK_MENU_ITEM(tmphandle), submenu); |
3720 gtk_object_set_data(GTK_OBJECT(menu), tempbuf, (gpointer)submenu); | 3720 gtk_object_set_data(GTK_OBJECT(menu), tempbuf, (gpointer)submenu); |
3721 gtk_object_set_data(GTK_OBJECT(menu), "_dw_submenucount", (gpointer)submenucount); | 3721 gtk_object_set_data(GTK_OBJECT(menu), "_dw_submenucount", GINT_TO_POINTER(submenucount)); |
3722 } | 3722 } |
3723 | 3723 |
3724 if (GTK_IS_MENU_BAR(menu)) | 3724 if (GTK_IS_MENU_BAR(menu)) |
3725 gtk_menu_bar_append(GTK_MENU_BAR(menu), tmphandle); | 3725 gtk_menu_bar_append(GTK_MENU_BAR(menu), tmphandle); |
3726 else | 3726 else |
3746 } | 3746 } |
3747 | 3747 |
3748 GtkWidget *_find_submenu_id(GtkWidget *start, char *name) | 3748 GtkWidget *_find_submenu_id(GtkWidget *start, char *name) |
3749 { | 3749 { |
3750 GtkWidget *tmp; | 3750 GtkWidget *tmp; |
3751 int z, submenucount = (int)gtk_object_get_data(GTK_OBJECT(start), "_dw_submenucount"); | 3751 int z, submenucount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(start), "_dw_submenucount")); |
3752 | 3752 |
3753 if((tmp = gtk_object_get_data(GTK_OBJECT(start), name))) | 3753 if((tmp = gtk_object_get_data(GTK_OBJECT(start), name))) |
3754 return tmp; | 3754 return tmp; |
3755 | 3755 |
3756 for(z=0;z<submenucount;z++) | 3756 for(z=0;z<submenucount;z++) |
4164 gtk_object_set_user_data(GTK_OBJECT(tmp), NULL); | 4164 gtk_object_set_user_data(GTK_OBJECT(tmp), NULL); |
4165 gtk_widget_show(tmp); | 4165 gtk_widget_show(tmp); |
4166 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); | 4166 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); |
4167 | 4167 |
4168 sigid = _set_signal_handler(GTK_COMBO(tmp)->list, tmp, NULL, NULL, NULL); | 4168 sigid = _set_signal_handler(GTK_COMBO(tmp)->list, tmp, NULL, NULL, NULL); |
4169 cid = gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), (gpointer)sigid); | 4169 cid = gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), GINT_TO_POINTER(sigid)); |
4170 _set_signal_handler_id(GTK_COMBO(tmp)->list, sigid, cid); | 4170 _set_signal_handler_id(GTK_COMBO(tmp)->list, sigid, cid); |
4171 DW_MUTEX_UNLOCK; | 4171 DW_MUTEX_UNLOCK; |
4172 return tmp; | 4172 return tmp; |
4173 } | 4173 } |
4174 | 4174 |
4818 } | 4818 } |
4819 while(list) | 4819 while(list) |
4820 { | 4820 { |
4821 if(GTK_IS_WIDGET(list->data)) | 4821 if(GTK_IS_WIDGET(list->data)) |
4822 { | 4822 { |
4823 if(id == (int)gtk_object_get_data(GTK_OBJECT(list->data), "_dw_id")) | 4823 if(id == GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(list->data), "_dw_id"))) |
4824 { | 4824 { |
4825 HWND ret = (HWND)list->data; | 4825 HWND ret = (HWND)list->data; |
4826 g_list_free(orig); | 4826 g_list_free(orig); |
4827 DW_MUTEX_UNLOCK; | 4827 DW_MUTEX_UNLOCK; |
4828 return ret; | 4828 return ret; |
6452 if(!clist) | 6452 if(!clist) |
6453 { | 6453 { |
6454 DW_MUTEX_UNLOCK; | 6454 DW_MUTEX_UNLOCK; |
6455 return DW_ERROR_GENERAL; | 6455 return DW_ERROR_GENERAL; |
6456 } | 6456 } |
6457 multi = (int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_multi"); | 6457 multi = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_multi")); |
6458 gtk_object_set_data(GTK_OBJECT(handle), "_dw_multi", GINT_TO_POINTER(multi)); | 6458 gtk_object_set_data(GTK_OBJECT(handle), "_dw_multi", GINT_TO_POINTER(multi)); |
6459 | 6459 |
6460 gtk_clist_set_column_auto_resize(GTK_CLIST(clist), 0, TRUE); | 6460 gtk_clist_set_column_auto_resize(GTK_CLIST(clist), 0, TRUE); |
6461 if(multi) | 6461 if(multi) |
6462 gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_EXTENDED); | 6462 gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_EXTENDED); |
6826 { | 6826 { |
6827 DW_MUTEX_UNLOCK; | 6827 DW_MUTEX_UNLOCK; |
6828 return NULL; | 6828 return NULL; |
6829 } | 6829 } |
6830 | 6830 |
6831 count = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_colcount"); | 6831 count = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_colcount")); |
6832 prevrowcount = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"); | 6832 prevrowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount")); |
6833 | 6833 |
6834 if(!count) | 6834 if(!count) |
6835 { | 6835 { |
6836 DW_MUTEX_UNLOCK; | 6836 DW_MUTEX_UNLOCK; |
6837 return NULL; | 6837 return NULL; |
6876 DW_MUTEX_UNLOCK; | 6876 DW_MUTEX_UNLOCK; |
6877 return; | 6877 return; |
6878 } | 6878 } |
6879 | 6879 |
6880 sprintf(numbuf, "%d", column); | 6880 sprintf(numbuf, "%d", column); |
6881 flag = (int)gtk_object_get_data(GTK_OBJECT(clist), numbuf); | 6881 flag = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), numbuf)); |
6882 if(pointer) | 6882 if(pointer) |
6883 { | 6883 { |
6884 row += (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_insertpos"); | 6884 row += GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_insertpos")); |
6885 } | 6885 } |
6886 | 6886 |
6887 if(flag & DW_CFA_BITMAPORICON) | 6887 if(flag & DW_CFA_BITMAPORICON) |
6888 { | 6888 { |
6889 HICN hicon = *((HICN *)data); | 6889 HICN hicon = *((HICN *)data); |
7048 DW_MUTEX_UNLOCK; | 7048 DW_MUTEX_UNLOCK; |
7049 return 0; | 7049 return 0; |
7050 } | 7050 } |
7051 | 7051 |
7052 sprintf(numbuf, "%d", column); | 7052 sprintf(numbuf, "%d", column); |
7053 flag = (int)gtk_object_get_data(GTK_OBJECT(clist), numbuf); | 7053 flag = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), numbuf)); |
7054 | 7054 |
7055 if(flag & DW_CFA_BITMAPORICON) | 7055 if(flag & DW_CFA_BITMAPORICON) |
7056 rc = DW_CFA_BITMAPORICON; | 7056 rc = DW_CFA_BITMAPORICON; |
7057 else if(flag & DW_CFA_STRING) | 7057 else if(flag & DW_CFA_STRING) |
7058 rc = DW_CFA_STRING; | 7058 rc = DW_CFA_STRING; |
7107 | 7107 |
7108 DW_MUTEX_LOCK; | 7108 DW_MUTEX_LOCK; |
7109 clist = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(handle)); | 7109 clist = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(handle)); |
7110 if(pointer) | 7110 if(pointer) |
7111 { | 7111 { |
7112 row += (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_insertpos"); | 7112 row += GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_insertpos")); |
7113 } | 7113 } |
7114 | 7114 |
7115 if(clist) | 7115 if(clist) |
7116 gtk_clist_set_row_data(GTK_CLIST(clist), row, (gpointer)title); | 7116 gtk_clist_set_row_data(GTK_CLIST(clist), row, (gpointer)title); |
7117 DW_MUTEX_UNLOCK; | 7117 DW_MUTEX_UNLOCK; |
7176 clist = (GtkWidget*)gtk_object_get_user_data(GTK_OBJECT(handle)); | 7176 clist = (GtkWidget*)gtk_object_get_user_data(GTK_OBJECT(handle)); |
7177 if(clist && GTK_IS_CLIST(clist)) | 7177 if(clist && GTK_IS_CLIST(clist)) |
7178 { | 7178 { |
7179 int rows, z; | 7179 int rows, z; |
7180 | 7180 |
7181 rows = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"); | 7181 rows = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount")); |
7182 | 7182 |
7183 _dw_unselect(clist); | 7183 _dw_unselect(clist); |
7184 | 7184 |
7185 for(z=0;z<rowcount;z++) | 7185 for(z=0;z<rowcount;z++) |
7186 gtk_clist_remove(GTK_CLIST(clist), 0); | 7186 gtk_clist_remove(GTK_CLIST(clist), 0); |
7330 { | 7330 { |
7331 list = GTK_CLIST(clist)->selection; | 7331 list = GTK_CLIST(clist)->selection; |
7332 | 7332 |
7333 if(list) | 7333 if(list) |
7334 { | 7334 { |
7335 int counter = 0, pos = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_querypos"); | 7335 int counter = 0, pos = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_querypos")); |
7336 gtk_object_set_data(GTK_OBJECT(clist), "_dw_querypos", GINT_TO_POINTER(pos+1)); | 7336 gtk_object_set_data(GTK_OBJECT(clist), "_dw_querypos", GINT_TO_POINTER(pos+1)); |
7337 | 7337 |
7338 while(list && counter < pos) | 7338 while(list && counter < pos) |
7339 { | 7339 { |
7340 list = list->next; | 7340 list = list->next; |
7352 */ | 7352 */ |
7353 retval = NULL; | 7353 retval = NULL; |
7354 } | 7354 } |
7355 else | 7355 else |
7356 { | 7356 { |
7357 int pos = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_querypos"); | 7357 int pos = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_querypos")); |
7358 | 7358 |
7359 retval = (char *)gtk_clist_get_row_data(GTK_CLIST(clist), pos); | 7359 retval = (char *)gtk_clist_get_row_data(GTK_CLIST(clist), pos); |
7360 gtk_object_set_data(GTK_OBJECT(clist), "_dw_querypos", GINT_TO_POINTER(pos+1)); | 7360 gtk_object_set_data(GTK_OBJECT(clist), "_dw_querypos", GINT_TO_POINTER(pos+1)); |
7361 } | 7361 } |
7362 DW_MUTEX_UNLOCK; | 7362 DW_MUTEX_UNLOCK; |
7382 if(!clist) | 7382 if(!clist) |
7383 { | 7383 { |
7384 DW_MUTEX_UNLOCK; | 7384 DW_MUTEX_UNLOCK; |
7385 return; | 7385 return; |
7386 } | 7386 } |
7387 rowcount = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"); | 7387 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount")); |
7388 | 7388 |
7389 for(z=0;z<rowcount;z++) | 7389 for(z=0;z<rowcount;z++) |
7390 { | 7390 { |
7391 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z); | 7391 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z); |
7392 if(rowdata == text) | 7392 if(rowdata == text) |
7427 if(!clist) | 7427 if(!clist) |
7428 { | 7428 { |
7429 DW_MUTEX_UNLOCK; | 7429 DW_MUTEX_UNLOCK; |
7430 return; | 7430 return; |
7431 } | 7431 } |
7432 rowcount = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount"); | 7432 rowcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_rowcount")); |
7433 | 7433 |
7434 for(z=0;z<rowcount;z++) | 7434 for(z=0;z<rowcount;z++) |
7435 { | 7435 { |
7436 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z); | 7436 rowdata = gtk_clist_get_row_data(GTK_CLIST(clist), z); |
7437 if(rowdata == text) | 7437 if(rowdata == text) |
7468 if(!clist) | 7468 if(!clist) |
7469 { | 7469 { |
7470 DW_MUTEX_UNLOCK; | 7470 DW_MUTEX_UNLOCK; |
7471 return; | 7471 return; |
7472 } | 7472 } |
7473 colcount = (int)gtk_object_get_data(GTK_OBJECT(clist), "_dw_colcount"); | 7473 colcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(clist), "_dw_colcount")); |
7474 for(z=0;z<colcount;z++) | 7474 for(z=0;z<colcount;z++) |
7475 { | 7475 { |
7476 int width = gtk_clist_optimal_column_width(GTK_CLIST(clist), z); | 7476 int width = gtk_clist_optimal_column_width(GTK_CLIST(clist), z); |
7477 gtk_clist_set_column_width(GTK_CLIST(clist), z, width); | 7477 gtk_clist_set_column_width(GTK_CLIST(clist), z, width); |
7478 } | 7478 } |
9161 | 9161 |
9162 /* Internal box packing function called by the other 3 functions */ | 9162 /* Internal box packing function called by the other 3 functions */ |
9163 void _dw_box_pack(HWND box, HWND item, int index, int width, int height, int hsize, int vsize, int pad, char *funcname) | 9163 void _dw_box_pack(HWND box, HWND item, int index, int width, int height, int hsize, int vsize, int pad, char *funcname) |
9164 { | 9164 { |
9165 int warn = FALSE, _locked_by_me = FALSE; | 9165 int warn = FALSE, _locked_by_me = FALSE; |
9166 GtkWidget *tmp, *tmpitem, *image = NULL; | 9166 GtkWidget *tmp, *tmpitem; |
9167 | 9167 |
9168 if(!box) | 9168 if(!box) |
9169 return; | 9169 return; |
9170 | 9170 |
9171 /* | 9171 /* |
9178 return; | 9178 return; |
9179 } | 9179 } |
9180 | 9180 |
9181 DW_MUTEX_LOCK; | 9181 DW_MUTEX_LOCK; |
9182 | 9182 |
9183 if((tmp = g_object_get_data(G_OBJECT(box), "_dw_boxhandle"))) | 9183 if((tmp = gtk_object_get_data(GTK_OBJECT(box), "_dw_boxhandle"))) |
9184 box = tmp; | 9184 box = tmp; |
9185 | 9185 |
9186 if(!item) | 9186 if(!item) |
9187 { | 9187 { |
9188 item = gtk_label_new(""); | 9188 item = gtk_label_new(""); |
9189 gtk_widget_show_all(item); | 9189 gtk_widget_show_all(item); |
9190 } | 9190 } |
9191 else if((image = g_object_get_data(G_OBJECT(item), "_dw_bitmap"))) | 9191 |
9192 { | 9192 tmpitem = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(item), "_dw_boxhandle"); |
9193 GdkPixbuf *pixbuf = gtk_image_get_pixbuf(GTK_IMAGE(image)); | |
9194 | |
9195 if(pixbuf) | |
9196 { | |
9197 int pwidth = gdk_pixbuf_get_width(pixbuf); | |
9198 int pheight = gdk_pixbuf_get_height(pixbuf); | |
9199 | |
9200 if(pwidth > width || pheight > height) | |
9201 { | |
9202 pixbuf = gdk_pixbuf_scale_simple(pixbuf, pwidth > width ? width : pwidth, pheight > height ? height : pheight, GDK_INTERP_BILINEAR); | |
9203 gtk_image_set_from_pixbuf(GTK_IMAGE(image), pixbuf); | |
9204 } | |
9205 } | |
9206 } | |
9207 | |
9208 tmpitem = (GtkWidget *)g_object_get_data(G_OBJECT(item), "_dw_boxhandle"); | |
9209 | 9193 |
9210 if(GTK_IS_TABLE(box)) | 9194 if(GTK_IS_TABLE(box)) |
9211 { | 9195 { |
9212 int boxcount = (int)g_object_get_data(G_OBJECT(box), "_dw_boxcount"); | 9196 int boxcount = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(box), "_dw_boxcount")); |
9213 int boxtype = (int)g_object_get_data(G_OBJECT(box), "_dw_boxtype"); | 9197 int boxtype = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(box), "_dw_boxtype")); |
9214 int x, y; | 9198 int x, y; |
9215 | 9199 |
9216 /* If the item being packed is a box, then we use it's padding | 9200 /* If the item being packed is a box, then we use it's padding |
9217 * instead of the padding specified on the pack line, this is | 9201 * instead of the padding specified on the pack line, this is |
9218 * due to a bug in the OS/2 and Win32 renderer and a limitation | 9202 * due to a bug in the OS/2 and Win32 renderer and a limitation |
9219 * of the GtkTable class. | 9203 * of the GtkTable class. |
9220 */ | 9204 */ |
9221 if(GTK_IS_TABLE(item) || (tmpitem && GTK_IS_TABLE(tmpitem))) | 9205 if(GTK_IS_TABLE(item) || (tmpitem && GTK_IS_TABLE(tmpitem))) |
9222 { | 9206 { |
9223 GtkWidget *eventbox = (GtkWidget *)g_object_get_data(G_OBJECT(item), "_dw_eventbox"); | 9207 GtkWidget *eventbox = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(item), "_dw_eventbox"); |
9224 | 9208 |
9225 /* NOTE: I left in the ability to pack boxes with a size, | 9209 /* NOTE: I left in the ability to pack boxes with a size, |
9226 * this eliminates that by forcing the size to 0. | 9210 * this eliminates that by forcing the size to 0. |
9227 */ | 9211 */ |
9228 height = width = 0; | 9212 height = width = 0; |
9229 | 9213 |
9230 if(eventbox) | 9214 if(eventbox) |
9231 { | 9215 { |
9232 int boxpad = (int)g_object_get_data(G_OBJECT(item), "_dw_boxpad"); | 9216 int boxpad = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(item), "_dw_boxpad")); |
9233 gtk_container_add(GTK_CONTAINER(eventbox), item); | 9217 gtk_container_add(GTK_CONTAINER(eventbox), item); |
9234 gtk_container_set_border_width(GTK_CONTAINER(eventbox), boxpad); | 9218 gtk_container_set_border_width(GTK_CONTAINER(eventbox), boxpad); |
9235 item = eventbox; | 9219 item = eventbox; |
9236 } | 9220 } |
9237 } | 9221 } |
9267 gtk_object_set_data(GTK_OBJECT(box), "_dw_boxcount", GINT_TO_POINTER(boxcount + 1)); | 9251 gtk_object_set_data(GTK_OBJECT(box), "_dw_boxcount", GINT_TO_POINTER(boxcount + 1)); |
9268 gtk_widget_set_usize(item, width, height); | 9252 gtk_widget_set_usize(item, width, height); |
9269 if(GTK_IS_RADIO_BUTTON(item)) | 9253 if(GTK_IS_RADIO_BUTTON(item)) |
9270 { | 9254 { |
9271 GSList *group; | 9255 GSList *group; |
9272 GtkWidget *groupstart = (GtkWidget *)g_object_get_data(G_OBJECT(box), "_dw_group"); | 9256 GtkWidget *groupstart = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(box), "_dw_group"); |
9273 | 9257 |
9274 if(groupstart) | 9258 if(groupstart) |
9275 { | 9259 { |
9276 group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(groupstart)); | 9260 group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(groupstart)); |
9277 gtk_radio_button_set_group(GTK_RADIO_BUTTON(item), group); | 9261 gtk_radio_button_set_group(GTK_RADIO_BUTTON(item), group); |
9278 } | 9262 } |
9279 else | 9263 else |
9280 g_object_set_data(G_OBJECT(box), "_dw_group", (gpointer)item); | 9264 gtk_object_set_data(GTK_OBJECT(box), "_dw_group", (gpointer)item); |
9281 } | 9265 } |
9282 } | 9266 } |
9283 else | 9267 else |
9284 { | 9268 { |
9285 GtkWidget *vbox = g_object_get_data(G_OBJECT(box), "_dw_vbox"); | 9269 GtkWidget *vbox = gtk_object_get_data(GTK_OBJECT(box), "_dw_vbox"); |
9286 | 9270 |
9287 if(!vbox) | 9271 if(!vbox) |
9288 { | 9272 { |
9289 vbox = gtk_vbox_new(FALSE, 0); | 9273 vbox = gtk_vbox_new(FALSE, 0); |
9290 g_object_set_data(G_OBJECT(box), "_dw_vbox", vbox); | 9274 gtk_object_set_data(GTK_OBJECT(box), "_dw_vbox", vbox); |
9291 gtk_container_add(GTK_CONTAINER(box), vbox); | 9275 gtk_container_add(GTK_CONTAINER(box), vbox); |
9292 gtk_widget_show(vbox); | 9276 gtk_widget_show(vbox); |
9293 } | 9277 } |
9294 | 9278 |
9295 gtk_container_set_border_width(GTK_CONTAINER(box), pad); | 9279 gtk_container_set_border_width(GTK_CONTAINER(box), pad); |
9296 | 9280 |
9297 if(GTK_IS_TABLE(item) || (tmpitem && GTK_IS_TABLE(tmpitem))) | 9281 if(GTK_IS_TABLE(item) || (tmpitem && GTK_IS_TABLE(tmpitem))) |
9298 { | 9282 { |
9299 GtkWidget *eventbox = (GtkWidget *)g_object_get_data(G_OBJECT(item), "_dw_eventbox"); | 9283 GtkWidget *eventbox = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(item), "_dw_eventbox"); |
9300 | 9284 |
9301 /* NOTE: I left in the ability to pack boxes with a size, | 9285 /* NOTE: I left in the ability to pack boxes with a size, |
9302 * this eliminates that by forcing the size to 0. | 9286 * this eliminates that by forcing the size to 0. |
9303 */ | 9287 */ |
9304 height = width = 0; | 9288 height = width = 0; |
9305 | 9289 |
9306 if(eventbox) | 9290 if(eventbox) |
9307 { | 9291 { |
9308 int boxpad = (int)g_object_get_data(G_OBJECT(item), "_dw_boxpad"); | 9292 int boxpad = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(item), "_dw_boxpad")); |
9309 gtk_container_add(GTK_CONTAINER(eventbox), item); | 9293 gtk_container_add(GTK_CONTAINER(eventbox), item); |
9310 gtk_container_set_border_width(GTK_CONTAINER(eventbox), boxpad); | 9294 gtk_container_set_border_width(GTK_CONTAINER(eventbox), boxpad); |
9311 item = eventbox; | 9295 item = eventbox; |
9312 } | 9296 } |
9313 } | 9297 } |
9318 } | 9302 } |
9319 | 9303 |
9320 gtk_box_pack_end(GTK_BOX(vbox), item, TRUE, TRUE, 0); | 9304 gtk_box_pack_end(GTK_BOX(vbox), item, TRUE, TRUE, 0); |
9321 | 9305 |
9322 gtk_widget_set_usize(item, width, height); | 9306 gtk_widget_set_usize(item, width, height); |
9323 g_object_set_data(G_OBJECT(box), "_dw_user", vbox); | 9307 gtk_object_set_user_data(GTK_OBJECT(box), vbox); |
9324 } | 9308 } |
9325 DW_MUTEX_UNLOCK; | 9309 DW_MUTEX_UNLOCK; |
9326 | 9310 |
9327 if(warn) | 9311 if(warn) |
9328 { | 9312 { |
9795 { | 9779 { |
9796 char ptext[100]; | 9780 char ptext[100]; |
9797 int num; | 9781 int num; |
9798 | 9782 |
9799 sprintf(ptext, "_dw_page%d", (int)pageid); | 9783 sprintf(ptext, "_dw_page%d", (int)pageid); |
9800 num = (int)gtk_object_get_data(GTK_OBJECT(handle), ptext); | 9784 num = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), ptext)); |
9801 realpage = 0xFF & num; | 9785 realpage = 0xFF & num; |
9802 } | 9786 } |
9803 | 9787 |
9804 if(realpage > -1 && realpage < 256) | 9788 if(realpage > -1 && realpage < 256) |
9805 { | 9789 { |
9836 int num, z, realpage = -1, pad, _locked_by_me = FALSE; | 9820 int num, z, realpage = -1, pad, _locked_by_me = FALSE; |
9837 char ptext[100]; | 9821 char ptext[100]; |
9838 | 9822 |
9839 DW_MUTEX_LOCK; | 9823 DW_MUTEX_LOCK; |
9840 sprintf(ptext, "_dw_page%d", (int)pageid); | 9824 sprintf(ptext, "_dw_page%d", (int)pageid); |
9841 num = (int)gtk_object_get_data(GTK_OBJECT(handle), ptext); | 9825 num = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(handle), ptext)); |
9842 gtk_object_set_data(GTK_OBJECT(handle), ptext, NULL); | 9826 gtk_object_set_data(GTK_OBJECT(handle), ptext, NULL); |
9843 pagearray = (GtkWidget **)gtk_object_get_data(GTK_OBJECT(handle), "_dw_pagearray"); | 9827 pagearray = (GtkWidget **)gtk_object_get_data(GTK_OBJECT(handle), "_dw_pagearray"); |
9844 | 9828 |
9845 if(!pagearray) | 9829 if(!pagearray) |
9846 { | 9830 { |
9870 | 9854 |
9871 label = gtk_label_new(text ? text : ""); | 9855 label = gtk_label_new(text ? text : ""); |
9872 | 9856 |
9873 if(GTK_IS_TABLE(page)) | 9857 if(GTK_IS_TABLE(page)) |
9874 { | 9858 { |
9875 pad = (int)gtk_object_get_data(GTK_OBJECT(page), "_dw_boxpad"); | 9859 pad = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(page), "_dw_boxpad")); |
9876 gtk_container_border_width(GTK_CONTAINER(page), pad); | 9860 gtk_container_border_width(GTK_CONTAINER(page), pad); |
9877 } | 9861 } |
9878 | 9862 |
9879 if(realpage != -1) | 9863 if(realpage != -1) |
9880 gtk_notebook_insert_page(GTK_NOTEBOOK(handle), page, label, realpage); | 9864 gtk_notebook_insert_page(GTK_NOTEBOOK(handle), page, label, realpage); |
10402 if(tmp) | 10386 if(tmp) |
10403 handle2 = tmp; | 10387 handle2 = tmp; |
10404 } | 10388 } |
10405 else if(GTK_IS_COMBO(handle)) | 10389 else if(GTK_IS_COMBO(handle)) |
10406 { | 10390 { |
10407 retval = (unsigned int)gtk_object_get_data(GTK_OBJECT(handle), "_dw_item"); | 10391 retval = GPOINTER_TO_UINT(gtk_object_get_data(GTK_OBJECT(handle), "_dw_item")); |
10408 DW_MUTEX_UNLOCK; | 10392 DW_MUTEX_UNLOCK; |
10409 return retval; | 10393 return retval; |
10410 } | 10394 } |
10411 if(GTK_IS_LIST(handle2)) | 10395 if(GTK_IS_LIST(handle2)) |
10412 { | 10396 { |
10514 | 10498 |
10515 /* Reposition the bar according to the percentage */ | 10499 /* Reposition the bar according to the percentage */ |
10516 static gint _splitbar_size_allocate(GtkWidget *widget, GtkAllocation *event, gpointer data) | 10500 static gint _splitbar_size_allocate(GtkWidget *widget, GtkAllocation *event, gpointer data) |
10517 { | 10501 { |
10518 float *percent = (float *)gtk_object_get_data(GTK_OBJECT(widget), "_dw_percent"); | 10502 float *percent = (float *)gtk_object_get_data(GTK_OBJECT(widget), "_dw_percent"); |
10519 int lastwidth = (int)gtk_object_get_data(GTK_OBJECT(widget), "_dw_lastwidth"); | 10503 int lastwidth = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(widget), "_dw_lastwidth")); |
10520 int lastheight = (int)gtk_object_get_data(GTK_OBJECT(widget), "_dw_lastheight"); | 10504 int lastheight = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(widget), "_dw_lastheight")); |
10521 | 10505 |
10522 /* Prevent infinite recursion ;) */ | 10506 /* Prevent infinite recursion ;) */ |
10523 if(!percent || (lastwidth == event->width && lastheight == event->height)) | 10507 if(!percent || (lastwidth == event->width && lastheight == event->height)) |
10524 return FALSE; | 10508 return FALSE; |
10525 | 10509 |
11836 else if (GTK_IS_TREE_VIEW(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_CONTEXT) == 0) | 11820 else if (GTK_IS_TREE_VIEW(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_CONTEXT) == 0) |
11837 { | 11821 { |
11838 thisfunc = _findsigfunc("tree-context"); | 11822 thisfunc = _findsigfunc("tree-context"); |
11839 | 11823 |
11840 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc); | 11824 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc); |
11841 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), (gpointer)sigid); | 11825 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), GINT_TO_POINTER(sigid)); |
11842 _set_signal_handler_id(thiswindow, sigid, cid); | 11826 _set_signal_handler_id(thiswindow, sigid, cid); |
11843 | 11827 |
11844 #if 0 | 11828 #if 0 |
11845 sigid = _set_signal_handler(window, window, sigfunc, data, thisfunc); | 11829 sigid = _set_signal_handler(window, window, sigfunc, data, thisfunc); |
11846 cid = gtk_signal_connect(GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), (gpointer)sigid); | 11830 cid = gtk_signal_connect(GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), (gpointer)sigid); |
11856 | 11840 |
11857 thiswindow = (GtkWidget *)gtk_tree_view_get_selection(GTK_TREE_VIEW(thiswindow)); | 11841 thiswindow = (GtkWidget *)gtk_tree_view_get_selection(GTK_TREE_VIEW(thiswindow)); |
11858 thisname = "changed"; | 11842 thisname = "changed"; |
11859 | 11843 |
11860 sigid = _set_signal_handler(treeview, window, sigfunc, data, thisfunc); | 11844 sigid = _set_signal_handler(treeview, window, sigfunc, data, thisfunc); |
11861 cid = g_signal_connect(G_OBJECT(thiswindow), thisname, (GCallback)thisfunc, (gpointer)sigid); | 11845 cid = g_signal_connect(G_OBJECT(thiswindow), thisname, (GCallback)thisfunc, GINT_TO_POINTER(sigid)); |
11862 _set_signal_handler_id(treeview, sigid, cid); | 11846 _set_signal_handler_id(treeview, sigid, cid); |
11863 DW_MUTEX_UNLOCK; | 11847 DW_MUTEX_UNLOCK; |
11864 return; | 11848 return; |
11865 } | 11849 } |
11866 else if (GTK_IS_TREE_VIEW(thiswindow) && strcmp(signame, DW_SIGNAL_TREE_EXPAND) == 0) | 11850 else if (GTK_IS_TREE_VIEW(thiswindow) && strcmp(signame, DW_SIGNAL_TREE_EXPAND) == 0) |
11873 thisfunc = _findsigfunc("tree-context"); | 11857 thisfunc = _findsigfunc("tree-context"); |
11874 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc); | 11858 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc); |
11875 | 11859 |
11876 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_func", (gpointer)thisfunc); | 11860 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_func", (gpointer)thisfunc); |
11877 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_data", GINT_TO_POINTER(sigid)); | 11861 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_container_context_data", GINT_TO_POINTER(sigid)); |
11878 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), (gpointer)sigid); | 11862 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), GINT_TO_POINTER(sigid)); |
11879 _set_signal_handler_id(thiswindow, sigid, cid); | 11863 _set_signal_handler_id(thiswindow, sigid, cid); |
11880 sigid = _set_signal_handler(window, window, sigfunc, data, thisfunc); | 11864 sigid = _set_signal_handler(window, window, sigfunc, data, thisfunc); |
11881 cid = gtk_signal_connect(GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), (gpointer)sigid); | 11865 cid = gtk_signal_connect(GTK_OBJECT(window), "button_press_event", GTK_SIGNAL_FUNC(thisfunc), GINT_TO_POINTER(sigid)); |
11882 _set_signal_handler_id(window, sigid, cid); | 11866 _set_signal_handler_id(window, sigid, cid); |
11883 DW_MUTEX_UNLOCK; | 11867 DW_MUTEX_UNLOCK; |
11884 return; | 11868 return; |
11885 } | 11869 } |
11886 else if (GTK_IS_TREE(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_SELECT) == 0) | 11870 else if (GTK_IS_TREE(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_SELECT) == 0) |
11906 } | 11890 } |
11907 #endif | 11891 #endif |
11908 else if (GTK_IS_CLIST(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_ENTER) == 0) | 11892 else if (GTK_IS_CLIST(thiswindow) && strcmp(signame, DW_SIGNAL_ITEM_ENTER) == 0) |
11909 { | 11893 { |
11910 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, _container_enter_event); | 11894 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, _container_enter_event); |
11911 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "key_press_event", GTK_SIGNAL_FUNC(_container_enter_event), (gpointer)sigid); | 11895 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), "key_press_event", GTK_SIGNAL_FUNC(_container_enter_event), GINT_TO_POINTER(sigid)); |
11912 _set_signal_handler_id(thiswindow, sigid, cid); | 11896 _set_signal_handler_id(thiswindow, sigid, cid); |
11913 | 11897 |
11914 thisname = "button_press_event"; | 11898 thisname = "button_press_event"; |
11915 thisfunc = _findsigfunc(DW_SIGNAL_ITEM_ENTER); | 11899 thisfunc = _findsigfunc(DW_SIGNAL_ITEM_ENTER); |
11916 } | 11900 } |
11962 DW_MUTEX_UNLOCK; | 11946 DW_MUTEX_UNLOCK; |
11963 return; | 11947 return; |
11964 } | 11948 } |
11965 | 11949 |
11966 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc); | 11950 sigid = _set_signal_handler(thiswindow, window, sigfunc, data, thisfunc); |
11967 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), thisname, GTK_SIGNAL_FUNC(thisfunc),(gpointer)sigid); | 11951 cid = gtk_signal_connect(GTK_OBJECT(thiswindow), thisname, GTK_SIGNAL_FUNC(thisfunc),GINT_TO_POINTER(sigid)); |
11968 _set_signal_handler_id(thiswindow, sigid, cid); | 11952 _set_signal_handler_id(thiswindow, sigid, cid); |
11969 DW_MUTEX_UNLOCK; | 11953 DW_MUTEX_UNLOCK; |
11970 } | 11954 } |
11971 | 11955 |
11972 /* | 11956 /* |
11981 void *thisfunc; | 11965 void *thisfunc; |
11982 int _locked_by_me = FALSE; | 11966 int _locked_by_me = FALSE; |
11983 | 11967 |
11984 DW_MUTEX_LOCK; | 11968 DW_MUTEX_LOCK; |
11985 thiswindow = _find_signal_window(window, signame); | 11969 thiswindow = _find_signal_window(window, signame); |
11986 count = (int)gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter"); | 11970 count = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter")); |
11987 thisfunc = _findsigfunc(signame); | 11971 thisfunc = _findsigfunc(signame); |
11988 | 11972 |
11989 for(z=0;z<count;z++) | 11973 for(z=0;z<count;z++) |
11990 { | 11974 { |
11991 SignalHandler sh = _get_signal_handler(thiswindow, (gpointer)z); | 11975 SignalHandler sh = _get_signal_handler(thiswindow, GINT_TO_POINTER(z)); |
11992 | 11976 |
11993 if(sh.intfunc == thisfunc) | 11977 if(sh.intfunc == thisfunc) |
11994 _remove_signal_handler(thiswindow, z); | 11978 _remove_signal_handler(thiswindow, z); |
11995 } | 11979 } |
11996 DW_MUTEX_UNLOCK; | 11980 DW_MUTEX_UNLOCK; |
12007 int z, count; | 11991 int z, count; |
12008 int _locked_by_me = FALSE; | 11992 int _locked_by_me = FALSE; |
12009 | 11993 |
12010 DW_MUTEX_LOCK; | 11994 DW_MUTEX_LOCK; |
12011 thiswindow = _find_signal_window(window, NULL); | 11995 thiswindow = _find_signal_window(window, NULL); |
12012 count = (int)gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter"); | 11996 count = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter")); |
12013 | 11997 |
12014 for(z=0;z<count;z++) | 11998 for(z=0;z<count;z++) |
12015 _remove_signal_handler(thiswindow, z); | 11999 _remove_signal_handler(thiswindow, z); |
12016 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_sigcounter", NULL); | 12000 gtk_object_set_data(GTK_OBJECT(thiswindow), "_dw_sigcounter", NULL); |
12017 DW_MUTEX_UNLOCK; | 12001 DW_MUTEX_UNLOCK; |
12029 int z, count; | 12013 int z, count; |
12030 int _locked_by_me = FALSE; | 12014 int _locked_by_me = FALSE; |
12031 | 12015 |
12032 DW_MUTEX_LOCK; | 12016 DW_MUTEX_LOCK; |
12033 thiswindow = _find_signal_window(window, NULL); | 12017 thiswindow = _find_signal_window(window, NULL); |
12034 count = (int)gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter"); | 12018 count = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(thiswindow), "_dw_sigcounter")); |
12035 | 12019 |
12036 for(z=0;z<count;z++) | 12020 for(z=0;z<count;z++) |
12037 { | 12021 { |
12038 SignalHandler sh = _get_signal_handler(thiswindow, (gpointer)z); | 12022 SignalHandler sh = _get_signal_handler(thiswindow, GINT_TO_POINTER(z)); |
12039 | 12023 |
12040 if(sh.data == data) | 12024 if(sh.data == data) |
12041 _remove_signal_handler(thiswindow, z); | 12025 _remove_signal_handler(thiswindow, z); |
12042 } | 12026 } |
12043 DW_MUTEX_UNLOCK; | 12027 DW_MUTEX_UNLOCK; |