Mercurial > dwindows
diff gtk/dw.c @ 1320:6bebcfa03b2b
Added support for dw_font_set_default() on GTK for appropriate widgets.
Removed GtkMozEmbed, GtkHtml2 and old versions of webkit from GTK3.
GTK3 only support webkit 3.0 and higher.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sun, 06 Nov 2011 10:39:57 +0000 |
parents | 52de99e55f5f |
children | 7630404386be |
line wrap: on
line diff
--- a/gtk/dw.c Sat Nov 05 21:32:35 2011 +0000 +++ b/gtk/dw.c Sun Nov 06 10:39:57 2011 +0000 @@ -134,6 +134,8 @@ GdkPixmap *_dw_tmppixmap = NULL; GdkBitmap *_dw_tmpbitmap = NULL; +char *_DWDefaultFont = NULL; + #if GTK_MAJOR_VERSION < 2 static int _dw_file_active = 0; #endif @@ -2905,6 +2907,12 @@ */ void API dw_font_set_default(char *fontname) { + char *oldfont = _DWDefaultFont; + + _DWDefaultFont = strdup(fontname); + + if(oldfont) + free(oldfont); } /* Convert DW style font to pango style */ @@ -2957,6 +2965,12 @@ if(tmp) handle2 = tmp; } + else if(GTK_IS_COMBO_BOX(handle) || GTK_IS_BUTTON(handle)) + { + GtkWidget *tmp = gtk_bin_get_child(GTK_BIN(handle)); + if(tmp) + handle2 = tmp; + } #if GTK_MAJOR_VERSION < 2 /* Free old font if it exists */ @@ -3525,6 +3539,8 @@ gtk_container_add(GTK_CONTAINER(frame), tmp); gtk_widget_show(tmp); gtk_widget_show(frame); + if(_DWDefaultFont) + dw_window_set_font(frame, _DWDefaultFont); DW_MUTEX_UNLOCK; return frame; @@ -4061,6 +4077,8 @@ gtk_object_set_user_data(GTK_OBJECT(tmp), (gpointer)tree); gtk_widget_show(tree); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmp; } @@ -4085,6 +4103,8 @@ gtk_widget_show(tmp); gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); gtk_misc_set_alignment(GTK_MISC(tmp), DW_LEFT, DW_LEFT); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmp; } @@ -4112,6 +4132,8 @@ gtk_misc_set_alignment(GTK_MISC(tmp), 0.0f, 0.5f); gtk_object_set_data(GTK_OBJECT(frame), "_dw_id", GINT_TO_POINTER(id)); gtk_object_set_data(GTK_OBJECT(frame), "_dw_label", (gpointer)tmp); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return frame; } @@ -4153,6 +4175,8 @@ gtk_object_set_user_data(GTK_OBJECT(tmpbox), (gpointer)tmp); gtk_widget_show(tmp); gtk_widget_show(tmpbox); + if(_DWDefaultFont) + dw_window_set_font(tmpbox, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmpbox; } @@ -4176,6 +4200,8 @@ gtk_widget_show(tmp); gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmp; } @@ -4200,6 +4226,8 @@ gtk_widget_show(tmp); gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmp; } @@ -4227,6 +4255,8 @@ sigid = _set_signal_handler(GTK_COMBO(tmp)->list, tmp, NULL, NULL, NULL); cid = gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), GINT_TO_POINTER(sigid)); _set_signal_handler_id(GTK_COMBO(tmp)->list, sigid, cid); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmp; } @@ -4246,6 +4276,8 @@ tmp = gtk_button_new_with_label(text); gtk_widget_show(tmp); gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmp; } @@ -4424,6 +4456,8 @@ gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); gtk_widget_show(tmp); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmp; } @@ -4518,6 +4552,8 @@ tmp = gtk_check_button_new_with_label(text); gtk_widget_show(tmp); gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmp; } @@ -4548,6 +4584,8 @@ gtk_widget_show(tmp); gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmp; } @@ -6582,6 +6620,8 @@ gtk_clist_set_column_justification(GTK_CLIST(clist),z,justification); } + if(_DWDefaultFont) + dw_window_set_font(handle, _DWDefaultFont); DW_MUTEX_UNLOCK; return DW_ERROR_NONE; } @@ -7694,6 +7734,8 @@ gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); GTK_WIDGET_SET_FLAGS(tmp, GTK_CAN_FOCUS); gtk_widget_show(tmp); + if(_DWDefaultFont) + dw_window_set_font(tmp, _DWDefaultFont); DW_MUTEX_UNLOCK; return tmp; }