Mercurial > dwindows
comparison gtk/dw.c @ 144:c68bc269ed58
Updated dw_window_set_font() to use GTK 2.0 semantics. Also improved the
look of the new GTK 2.0 MLE control.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Tue, 22 Oct 2002 11:07:42 +0000 |
parents | 1d57c27e4adc |
children | 659c1a2bccad |
comparison
equal
deleted
inserted
replaced
143:1d57c27e4adc | 144:c68bc269ed58 |
---|---|
1229 gtk_widget_set_style(handle, style); | 1229 gtk_widget_set_style(handle, style); |
1230 retval = TRUE; | 1230 retval = TRUE; |
1231 } | 1231 } |
1232 #else | 1232 #else |
1233 PangoFontDescription *font = pango_font_description_from_string(fontname); | 1233 PangoFontDescription *font = pango_font_description_from_string(fontname); |
1234 | 1234 |
1235 if(font) | 1235 if(font) |
1236 gtk_widget_modify_font(handle, font); | 1236 gtk_widget_modify_font(handle, font); |
1237 | |
1237 pango_font_description_free(font); | 1238 pango_font_description_free(font); |
1238 #endif | 1239 #endif |
1239 return retval; | 1240 return retval; |
1240 } | 1241 } |
1241 | 1242 |
1245 * handle: The window (widget) handle. | 1246 * handle: The window (widget) handle. |
1246 * fontname: Name and size of the font in the form "size.fontname" | 1247 * fontname: Name and size of the font in the form "size.fontname" |
1247 */ | 1248 */ |
1248 int dw_window_set_font(HWND handle, char *fontname) | 1249 int dw_window_set_font(HWND handle, char *fontname) |
1249 { | 1250 { |
1251 #if GTK_MAJOR_VERSION > 1 | |
1252 PangoFontDescription *pfont; | |
1253 #endif | |
1250 GtkWidget *handle2 = handle; | 1254 GtkWidget *handle2 = handle; |
1251 char *font; | 1255 char *font; |
1252 int _locked_by_me = FALSE; | 1256 int _locked_by_me = FALSE; |
1253 gpointer data; | 1257 gpointer data; |
1254 GdkFont *gdkfont; | 1258 GdkFont *gdkfont; |
1274 if(data) | 1278 if(data) |
1275 free(data); | 1279 free(data); |
1276 | 1280 |
1277 if(font) | 1281 if(font) |
1278 gtk_object_set_data(GTK_OBJECT(handle2), "fontname", (gpointer)font); | 1282 gtk_object_set_data(GTK_OBJECT(handle2), "fontname", (gpointer)font); |
1279 | 1283 #if GTK_MAJOR_VERSION > 1 |
1280 | 1284 pfont = pango_font_description_from_string(fontname); |
1281 DW_MUTEX_UNLOCK; | 1285 |
1286 if(pfont) | |
1287 gtk_widget_modify_font(handle2, pfont); | |
1288 | |
1289 pango_font_description_free(pfont); | |
1290 #endif | |
1291 DW_MUTEX_UNLOCK; | |
1282 return TRUE; | 1292 return TRUE; |
1283 } | 1293 } |
1284 | 1294 |
1285 void _free_gdk_colors(HWND handle) | 1295 void _free_gdk_colors(HWND handle) |
1286 { | 1296 { |
2091 int _locked_by_me = FALSE; | 2101 int _locked_by_me = FALSE; |
2092 | 2102 |
2093 DW_MUTEX_LOCK; | 2103 DW_MUTEX_LOCK; |
2094 #if GTK_MAJOR_VERSION > 1 | 2104 #if GTK_MAJOR_VERSION > 1 |
2095 tmpbox = gtk_scrolled_window_new (NULL, NULL); | 2105 tmpbox = gtk_scrolled_window_new (NULL, NULL); |
2096 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (tmpbox), | 2106 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(tmpbox), |
2097 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | 2107 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
2108 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(tmpbox), GTK_SHADOW_ETCHED_IN); | |
2098 tmp = gtk_text_view_new(); | 2109 tmp = gtk_text_view_new(); |
2099 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(tmpbox), tmp); | 2110 gtk_container_add (GTK_CONTAINER(tmpbox), tmp); |
2100 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(tmp), GTK_WRAP_NONE); | 2111 gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(tmp), GTK_WRAP_NONE); |
2101 gtk_object_set_user_data(GTK_OBJECT(tmpbox), (gpointer)tmp); | 2112 gtk_object_set_user_data(GTK_OBJECT(tmpbox), (gpointer)tmp); |
2102 scroller = NULL; | 2113 scroller = NULL; |
2103 #else | 2114 #else |
2104 tmpbox = gtk_hbox_new(FALSE, 0); | 2115 tmpbox = gtk_hbox_new(FALSE, 0); |
6093 gint _splitbar_accept_position(GtkWidget *widget, gpointer data) | 6104 gint _splitbar_accept_position(GtkWidget *widget, gpointer data) |
6094 { | 6105 { |
6095 float *percent = (float *)gtk_object_get_data(GTK_OBJECT(widget), "_dw_percent"); | 6106 float *percent = (float *)gtk_object_get_data(GTK_OBJECT(widget), "_dw_percent"); |
6096 int size = 0, position = gtk_paned_get_position(GTK_PANED(widget)); | 6107 int size = 0, position = gtk_paned_get_position(GTK_PANED(widget)); |
6097 | 6108 |
6109 printf("Accept position\n"); | |
6098 if(!percent) | 6110 if(!percent) |
6099 return FALSE; | 6111 return FALSE; |
6100 | 6112 |
6101 if(GTK_IS_VPANED(widget)) | 6113 if(GTK_IS_VPANED(widget)) |
6102 size = widget->allocation.height; | 6114 size = widget->allocation.height; |
6134 gtk_object_set_data(GTK_OBJECT(tmp), "id", (gpointer)id); | 6146 gtk_object_set_data(GTK_OBJECT(tmp), "id", (gpointer)id); |
6135 *percent = 50.0; | 6147 *percent = 50.0; |
6136 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_percent", (gpointer)percent); | 6148 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_percent", (gpointer)percent); |
6137 gtk_signal_connect(GTK_OBJECT(tmp), "size-allocate", GTK_SIGNAL_FUNC(_splitbar_size_allocate), NULL); | 6149 gtk_signal_connect(GTK_OBJECT(tmp), "size-allocate", GTK_SIGNAL_FUNC(_splitbar_size_allocate), NULL); |
6138 #if GTK_MAJOR_VERSION > 1 | 6150 #if GTK_MAJOR_VERSION > 1 |
6139 gtk_signal_connect(GTK_OBJECT(tmp), "accept-position", GTK_SIGNAL_FUNC(_splitbar_accept_position), NULL); | 6151 g_signal_connect(G_OBJECT(tmp), "accept-position", (GCallback)_splitbar_accept_position, NULL); |
6140 #else | 6152 #else |
6141 gtk_paned_set_handle_size(GTK_PANED(tmp), 3); | 6153 gtk_paned_set_handle_size(GTK_PANED(tmp), 3); |
6142 #endif | 6154 #endif |
6143 gtk_widget_show(tmp); | 6155 gtk_widget_show(tmp); |
6144 DW_MUTEX_UNLOCK; | 6156 DW_MUTEX_UNLOCK; |