comparison gtk/dw.c @ 1217:9512bf242b3e

Fixes some issues with that last commit for GTK1/2. Alternating row colors should now be supported on GTK1/2 also.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 09 Oct 2011 12:40:34 +0000
parents f87e5a44f45e
children c46c9894a8cf
comparison
equal deleted inserted replaced
1216:f87e5a44f45e 1217:9512bf242b3e
3049 temp.green = DW_GREEN_VALUE(color) << 8; 3049 temp.green = DW_GREEN_VALUE(color) << 8;
3050 temp.blue = DW_BLUE_VALUE(color) << 8; 3050 temp.blue = DW_BLUE_VALUE(color) << 8;
3051 3051
3052 gdk_color_alloc(_dw_cmap, &temp); 3052 gdk_color_alloc(_dw_cmap, &temp);
3053 } 3053 }
3054 else if(color != DW_CLR_DEFAULT) 3054 else if(color < DW_CLR_DEFAULT)
3055 { 3055 {
3056 temp = _colors[color]; 3056 temp = _colors[color];
3057 } 3057 }
3058 return temp; 3058 return temp;
3059 } 3059 }
3070 #endif 3070 #endif
3071 3071
3072 if(fore != DW_CLR_DEFAULT) 3072 if(fore != DW_CLR_DEFAULT)
3073 { 3073 {
3074 #if GTK_MAJOR_VERSION > 1 3074 #if GTK_MAJOR_VERSION > 1
3075 gtk_widget_modify_text(handle, 0, &_colors[fore]); 3075 gtk_widget_modify_text(handle, 0, &forecolor);
3076 gtk_widget_modify_text(handle, 1, &_colors[fore]); 3076 gtk_widget_modify_text(handle, 1, &forecolor);
3077 gtk_widget_modify_fg(handle, 0, &_colors[fore]); 3077 gtk_widget_modify_fg(handle, 0, &forecolor);
3078 gtk_widget_modify_fg(handle, 1, &_colors[fore]); 3078 gtk_widget_modify_fg(handle, 1, &forecolor);
3079 #else 3079 #else
3080 if(style) 3080 if(style)
3081 style->text[0] = style->text[1] = style->fg[0] = style->fg[1] = _colors[fore]; 3081 style->text[0] = style->text[1] = style->fg[0] = style->fg[1] = forecolor;
3082 #endif 3082 #endif
3083 } 3083 }
3084 if(back != DW_CLR_DEFAULT) 3084 if(back != DW_CLR_DEFAULT)
3085 { 3085 {
3086 #if GTK_MAJOR_VERSION > 1 3086 #if GTK_MAJOR_VERSION > 1
3087 gtk_widget_modify_base(handle, 0, &_colors[back]); 3087 gtk_widget_modify_base(handle, 0, &backcolor);
3088 gtk_widget_modify_base(handle, 1, &_colors[back]); 3088 gtk_widget_modify_base(handle, 1, &backcolor);
3089 gtk_widget_modify_bg(handle, 0, &_colors[back]); 3089 gtk_widget_modify_bg(handle, 0, &backcolor);
3090 gtk_widget_modify_bg(handle, 1, &_colors[back]); 3090 gtk_widget_modify_bg(handle, 1, &backcolor);
3091 #else 3091 #else
3092 if(style) 3092 if(style)
3093 style->base[0] = style->base[1] = style->bg[0] = style->bg[1] = _colors[back]; 3093 style->base[0] = style->base[1] = style->bg[0] = style->bg[1] = backcolor;
3094 #endif 3094 #endif
3095 } 3095 }
3096 3096
3097 _save_gdk_colors(handle, forecolor, backcolor); 3097 _save_gdk_colors(handle, forecolor, backcolor);
3098 3098
3127 GdkColor *backcol = (GdkColor *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_backgdk"); 3127 GdkColor *backcol = (GdkColor *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_backgdk");
3128 3128
3129 if(!backcol) 3129 if(!backcol)
3130 backcol = &_colors[DW_CLR_WHITE]; 3130 backcol = &_colors[DW_CLR_WHITE];
3131 3131
3132 if(odd != DW_RGB_TRANSPARENT && even != DW_RGB_TRANSPARENT) 3132 if(odd != DW_RGB_TRANSPARENT || even != DW_RGB_TRANSPARENT)
3133 { 3133 {
3134 GdkColor oddcol = _get_gdkcolor(odd); 3134 GdkColor oddcol = _get_gdkcolor(odd);
3135 GdkColor evencol = _get_gdkcolor(even); 3135 GdkColor evencol = _get_gdkcolor(even);
3136 3136
3137 for(z=0;z<rowcount;z++) 3137 for(z=0;z<rowcount;z++)
6988 6988
6989 strftime(textbuffer, 100, "%X", &curtm); 6989 strftime(textbuffer, 100, "%X", &curtm);
6990 6990
6991 gtk_clist_set_text(GTK_CLIST(clist), row, column, textbuffer); 6991 gtk_clist_set_text(GTK_CLIST(clist), row, column, textbuffer);
6992 } 6992 }
6993 _update_clist_rows(handle); 6993 if(!pointer)
6994 _update_clist_rows(clist);
6994 DW_MUTEX_UNLOCK; 6995 DW_MUTEX_UNLOCK;
6995 } 6996 }
6996 6997
6997 /* 6998 /*
6998 * Sets an item in specified row and column to the given data. 6999 * Sets an item in specified row and column to the given data.
7144 DW_MUTEX_LOCK; 7145 DW_MUTEX_LOCK;
7145 clist = gtk_object_get_user_data(GTK_OBJECT(handle)); 7146 clist = gtk_object_get_user_data(GTK_OBJECT(handle));
7146 7147
7147 if(clist && GTK_IS_CLIST(clist)) 7148 if(clist && GTK_IS_CLIST(clist))
7148 { 7149 {
7149 gtk_object_set_data(GTK_OBJECT(handle), "_dw_oddcol", GINT_TO_POINTER(oddcolor)); 7150 gtk_object_set_data(GTK_OBJECT(clist), "_dw_oddcol", GINT_TO_POINTER(oddcolor == DW_CLR_DEFAULT ? DW_RGB(230, 230, 230) : oddcolor));
7150 gtk_object_set_data(GTK_OBJECT(handle), "_dw_evencol", GINT_TO_POINTER(evencolor)); 7151 gtk_object_set_data(GTK_OBJECT(clist), "_dw_evencol", GINT_TO_POINTER(evencolor == DW_CLR_DEFAULT ? DW_RGB_TRANSPARENT : evencolor));
7151 _update_clist_rows(handle); 7152 _update_clist_rows(clist);
7152 } 7153 }
7153 DW_MUTEX_UNLOCK; 7154 DW_MUTEX_UNLOCK;
7154 } 7155 }
7155 7156
7156 /* 7157 /*
7229 7230
7230 DW_MUTEX_LOCK; 7231 DW_MUTEX_LOCK;
7231 clist = gtk_object_get_user_data(GTK_OBJECT(handle)); 7232 clist = gtk_object_get_user_data(GTK_OBJECT(handle));
7232 7233
7233 if(clist && GTK_IS_CLIST(clist)) 7234 if(clist && GTK_IS_CLIST(clist))
7235 {
7236 _update_clist_rows(clist);
7234 gtk_clist_thaw(GTK_CLIST(clist)); 7237 gtk_clist_thaw(GTK_CLIST(clist));
7238 }
7235 DW_MUTEX_UNLOCK; 7239 DW_MUTEX_UNLOCK;
7236 } 7240 }
7237 7241
7238 /* 7242 /*
7239 * Removes the first x rows from a container. 7243 * Removes the first x rows from a container.
7263 rows = 0; 7267 rows = 0;
7264 else 7268 else
7265 rows -= rowcount; 7269 rows -= rowcount;
7266 7270
7267 gtk_object_set_data(GTK_OBJECT(clist), "_dw_rowcount", GINT_TO_POINTER(rows)); 7271 gtk_object_set_data(GTK_OBJECT(clist), "_dw_rowcount", GINT_TO_POINTER(rows));
7268 _update_clist_rows(handle); 7272 _update_clist_rows(clist);
7269 } 7273 }
7270 DW_MUTEX_UNLOCK; 7274 DW_MUTEX_UNLOCK;
7271 } 7275 }
7272 7276
7273 /* 7277 /*
7516 gtk_clist_remove(GTK_CLIST(clist), z); 7520 gtk_clist_remove(GTK_CLIST(clist), z);
7517 7521
7518 rowcount--; 7522 rowcount--;
7519 7523
7520 gtk_object_set_data(GTK_OBJECT(clist), "_dw_rowcount", GINT_TO_POINTER(rowcount)); 7524 gtk_object_set_data(GTK_OBJECT(clist), "_dw_rowcount", GINT_TO_POINTER(rowcount));
7521 _update_clist_rows(handle); 7525 _update_clist_rows(clist);
7522 DW_MUTEX_UNLOCK; 7526 DW_MUTEX_UNLOCK;
7523 return; 7527 return;
7524 } 7528 }
7525 } 7529 }
7526 7530