comparison 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
comparison
equal deleted inserted replaced
1319:03f0bc85e7be 1320:6bebcfa03b2b
131 pthread_key_t _dw_mutex_key; 131 pthread_key_t _dw_mutex_key;
132 132
133 GtkWidget *last_window = NULL, *popup = NULL; 133 GtkWidget *last_window = NULL, *popup = NULL;
134 GdkPixmap *_dw_tmppixmap = NULL; 134 GdkPixmap *_dw_tmppixmap = NULL;
135 GdkBitmap *_dw_tmpbitmap = NULL; 135 GdkBitmap *_dw_tmpbitmap = NULL;
136
137 char *_DWDefaultFont = NULL;
136 138
137 #if GTK_MAJOR_VERSION < 2 139 #if GTK_MAJOR_VERSION < 2
138 static int _dw_file_active = 0; 140 static int _dw_file_active = 0;
139 #endif 141 #endif
140 static int _dw_ignore_click = 0, _dw_ignore_expand = 0, _dw_color_active = 0; 142 static int _dw_ignore_click = 0, _dw_ignore_expand = 0, _dw_color_active = 0;
2903 * Parameters: 2905 * Parameters:
2904 * fontname: Font name in Dynamic Windows format. 2906 * fontname: Font name in Dynamic Windows format.
2905 */ 2907 */
2906 void API dw_font_set_default(char *fontname) 2908 void API dw_font_set_default(char *fontname)
2907 { 2909 {
2910 char *oldfont = _DWDefaultFont;
2911
2912 _DWDefaultFont = strdup(fontname);
2913
2914 if(oldfont)
2915 free(oldfont);
2908 } 2916 }
2909 2917
2910 /* Convert DW style font to pango style */ 2918 /* Convert DW style font to pango style */
2911 void _convert_font(char *font) 2919 void _convert_font(char *font)
2912 { 2920 {
2952 } 2960 }
2953 /* If it is a groupox we want to operate on the frame label */ 2961 /* If it is a groupox we want to operate on the frame label */
2954 else if(GTK_IS_FRAME(handle)) 2962 else if(GTK_IS_FRAME(handle))
2955 { 2963 {
2956 GtkWidget *tmp = gtk_frame_get_label_widget(GTK_FRAME(handle)); 2964 GtkWidget *tmp = gtk_frame_get_label_widget(GTK_FRAME(handle));
2965 if(tmp)
2966 handle2 = tmp;
2967 }
2968 else if(GTK_IS_COMBO_BOX(handle) || GTK_IS_BUTTON(handle))
2969 {
2970 GtkWidget *tmp = gtk_bin_get_child(GTK_BIN(handle));
2957 if(tmp) 2971 if(tmp)
2958 handle2 = tmp; 2972 handle2 = tmp;
2959 } 2973 }
2960 2974
2961 #if GTK_MAJOR_VERSION < 2 2975 #if GTK_MAJOR_VERSION < 2
3523 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_boxpad", GINT_TO_POINTER(pad)); 3537 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_boxpad", GINT_TO_POINTER(pad));
3524 gtk_object_set_data(GTK_OBJECT(frame), "_dw_boxhandle", (gpointer)tmp); 3538 gtk_object_set_data(GTK_OBJECT(frame), "_dw_boxhandle", (gpointer)tmp);
3525 gtk_container_add(GTK_CONTAINER(frame), tmp); 3539 gtk_container_add(GTK_CONTAINER(frame), tmp);
3526 gtk_widget_show(tmp); 3540 gtk_widget_show(tmp);
3527 gtk_widget_show(frame); 3541 gtk_widget_show(frame);
3542 if(_DWDefaultFont)
3543 dw_window_set_font(frame, _DWDefaultFont);
3528 DW_MUTEX_UNLOCK; 3544 DW_MUTEX_UNLOCK;
3529 return frame; 3545 return frame;
3530 3546
3531 } 3547 }
3532 3548
4059 #endif 4075 #endif
4060 4076
4061 gtk_object_set_user_data(GTK_OBJECT(tmp), (gpointer)tree); 4077 gtk_object_set_user_data(GTK_OBJECT(tmp), (gpointer)tree);
4062 gtk_widget_show(tree); 4078 gtk_widget_show(tree);
4063 4079
4080 if(_DWDefaultFont)
4081 dw_window_set_font(tmp, _DWDefaultFont);
4064 DW_MUTEX_UNLOCK; 4082 DW_MUTEX_UNLOCK;
4065 return tmp; 4083 return tmp;
4066 } 4084 }
4067 4085
4068 4086
4083 /* Left and centered */ 4101 /* Left and centered */
4084 gtk_misc_set_alignment(GTK_MISC(tmp), 0.0f, 0.5f); 4102 gtk_misc_set_alignment(GTK_MISC(tmp), 0.0f, 0.5f);
4085 gtk_widget_show(tmp); 4103 gtk_widget_show(tmp);
4086 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4104 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4087 gtk_misc_set_alignment(GTK_MISC(tmp), DW_LEFT, DW_LEFT); 4105 gtk_misc_set_alignment(GTK_MISC(tmp), DW_LEFT, DW_LEFT);
4106 if(_DWDefaultFont)
4107 dw_window_set_font(tmp, _DWDefaultFont);
4088 DW_MUTEX_UNLOCK; 4108 DW_MUTEX_UNLOCK;
4089 return tmp; 4109 return tmp;
4090 } 4110 }
4091 4111
4092 /* 4112 /*
4110 4130
4111 /* Left and centered */ 4131 /* Left and centered */
4112 gtk_misc_set_alignment(GTK_MISC(tmp), 0.0f, 0.5f); 4132 gtk_misc_set_alignment(GTK_MISC(tmp), 0.0f, 0.5f);
4113 gtk_object_set_data(GTK_OBJECT(frame), "_dw_id", GINT_TO_POINTER(id)); 4133 gtk_object_set_data(GTK_OBJECT(frame), "_dw_id", GINT_TO_POINTER(id));
4114 gtk_object_set_data(GTK_OBJECT(frame), "_dw_label", (gpointer)tmp); 4134 gtk_object_set_data(GTK_OBJECT(frame), "_dw_label", (gpointer)tmp);
4135 if(_DWDefaultFont)
4136 dw_window_set_font(tmp, _DWDefaultFont);
4115 DW_MUTEX_UNLOCK; 4137 DW_MUTEX_UNLOCK;
4116 return frame; 4138 return frame;
4117 } 4139 }
4118 4140
4119 /* 4141 /*
4151 #endif 4173 #endif
4152 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4174 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4153 gtk_object_set_user_data(GTK_OBJECT(tmpbox), (gpointer)tmp); 4175 gtk_object_set_user_data(GTK_OBJECT(tmpbox), (gpointer)tmp);
4154 gtk_widget_show(tmp); 4176 gtk_widget_show(tmp);
4155 gtk_widget_show(tmpbox); 4177 gtk_widget_show(tmpbox);
4178 if(_DWDefaultFont)
4179 dw_window_set_font(tmpbox, _DWDefaultFont);
4156 DW_MUTEX_UNLOCK; 4180 DW_MUTEX_UNLOCK;
4157 return tmpbox; 4181 return tmpbox;
4158 } 4182 }
4159 4183
4160 /* 4184 /*
4174 gtk_entry_set_text(GTK_ENTRY(tmp), text); 4198 gtk_entry_set_text(GTK_ENTRY(tmp), text);
4175 4199
4176 gtk_widget_show(tmp); 4200 gtk_widget_show(tmp);
4177 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4201 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4178 4202
4203 if(_DWDefaultFont)
4204 dw_window_set_font(tmp, _DWDefaultFont);
4179 DW_MUTEX_UNLOCK; 4205 DW_MUTEX_UNLOCK;
4180 return tmp; 4206 return tmp;
4181 } 4207 }
4182 4208
4183 /* 4209 /*
4198 gtk_entry_set_text(GTK_ENTRY(tmp), text); 4224 gtk_entry_set_text(GTK_ENTRY(tmp), text);
4199 4225
4200 gtk_widget_show(tmp); 4226 gtk_widget_show(tmp);
4201 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4227 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4202 4228
4229 if(_DWDefaultFont)
4230 dw_window_set_font(tmp, _DWDefaultFont);
4203 DW_MUTEX_UNLOCK; 4231 DW_MUTEX_UNLOCK;
4204 return tmp; 4232 return tmp;
4205 } 4233 }
4206 4234
4207 /* 4235 /*
4225 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4253 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4226 4254
4227 sigid = _set_signal_handler(GTK_COMBO(tmp)->list, tmp, NULL, NULL, NULL); 4255 sigid = _set_signal_handler(GTK_COMBO(tmp)->list, tmp, NULL, NULL, NULL);
4228 cid = gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), GINT_TO_POINTER(sigid)); 4256 cid = gtk_signal_connect(GTK_OBJECT(GTK_COMBO(tmp)->list), "select_child", GTK_SIGNAL_FUNC(_item_select_event), GINT_TO_POINTER(sigid));
4229 _set_signal_handler_id(GTK_COMBO(tmp)->list, sigid, cid); 4257 _set_signal_handler_id(GTK_COMBO(tmp)->list, sigid, cid);
4258 if(_DWDefaultFont)
4259 dw_window_set_font(tmp, _DWDefaultFont);
4230 DW_MUTEX_UNLOCK; 4260 DW_MUTEX_UNLOCK;
4231 return tmp; 4261 return tmp;
4232 } 4262 }
4233 4263
4234 /* 4264 /*
4244 4274
4245 DW_MUTEX_LOCK; 4275 DW_MUTEX_LOCK;
4246 tmp = gtk_button_new_with_label(text); 4276 tmp = gtk_button_new_with_label(text);
4247 gtk_widget_show(tmp); 4277 gtk_widget_show(tmp);
4248 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4278 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4279 if(_DWDefaultFont)
4280 dw_window_set_font(tmp, _DWDefaultFont);
4249 DW_MUTEX_UNLOCK; 4281 DW_MUTEX_UNLOCK;
4250 return tmp; 4282 return tmp;
4251 } 4283 }
4252 4284
4253 /* 4285 /*
4422 DW_MUTEX_LOCK; 4454 DW_MUTEX_LOCK;
4423 tmp = gtk_radio_button_new_with_label(NULL, text); 4455 tmp = gtk_radio_button_new_with_label(NULL, text);
4424 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4456 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4425 gtk_widget_show(tmp); 4457 gtk_widget_show(tmp);
4426 4458
4459 if(_DWDefaultFont)
4460 dw_window_set_font(tmp, _DWDefaultFont);
4427 DW_MUTEX_UNLOCK; 4461 DW_MUTEX_UNLOCK;
4428 return tmp; 4462 return tmp;
4429 } 4463 }
4430 4464
4431 /* 4465 /*
4516 4550
4517 DW_MUTEX_LOCK; 4551 DW_MUTEX_LOCK;
4518 tmp = gtk_check_button_new_with_label(text); 4552 tmp = gtk_check_button_new_with_label(text);
4519 gtk_widget_show(tmp); 4553 gtk_widget_show(tmp);
4520 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4554 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4555 if(_DWDefaultFont)
4556 dw_window_set_font(tmp, _DWDefaultFont);
4521 DW_MUTEX_UNLOCK; 4557 DW_MUTEX_UNLOCK;
4522 return tmp; 4558 return tmp;
4523 } 4559 }
4524 4560
4525 /* 4561 /*
4546 gtk_object_set_user_data(GTK_OBJECT(tmp), list); 4582 gtk_object_set_user_data(GTK_OBJECT(tmp), list);
4547 gtk_widget_show(list); 4583 gtk_widget_show(list);
4548 gtk_widget_show(tmp); 4584 gtk_widget_show(tmp);
4549 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 4585 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
4550 4586
4587 if(_DWDefaultFont)
4588 dw_window_set_font(tmp, _DWDefaultFont);
4551 DW_MUTEX_UNLOCK; 4589 DW_MUTEX_UNLOCK;
4552 return tmp; 4590 return tmp;
4553 } 4591 }
4554 4592
4555 /* 4593 /*
6580 else 6618 else
6581 justification = GTK_JUSTIFY_LEFT; 6619 justification = GTK_JUSTIFY_LEFT;
6582 gtk_clist_set_column_justification(GTK_CLIST(clist),z,justification); 6620 gtk_clist_set_column_justification(GTK_CLIST(clist),z,justification);
6583 } 6621 }
6584 6622
6623 if(_DWDefaultFont)
6624 dw_window_set_font(handle, _DWDefaultFont);
6585 DW_MUTEX_UNLOCK; 6625 DW_MUTEX_UNLOCK;
6586 return DW_ERROR_NONE; 6626 return DW_ERROR_NONE;
6587 } 6627 }
6588 6628
6589 /* 6629 /*
7692 | GDK_POINTER_MOTION_MASK 7732 | GDK_POINTER_MOTION_MASK
7693 | GDK_POINTER_MOTION_HINT_MASK); 7733 | GDK_POINTER_MOTION_HINT_MASK);
7694 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id)); 7734 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(id));
7695 GTK_WIDGET_SET_FLAGS(tmp, GTK_CAN_FOCUS); 7735 GTK_WIDGET_SET_FLAGS(tmp, GTK_CAN_FOCUS);
7696 gtk_widget_show(tmp); 7736 gtk_widget_show(tmp);
7737 if(_DWDefaultFont)
7738 dw_window_set_font(tmp, _DWDefaultFont);
7697 DW_MUTEX_UNLOCK; 7739 DW_MUTEX_UNLOCK;
7698 return tmp; 7740 return tmp;
7699 } 7741 }
7700 7742
7701 /* Returns a GdkColor from a DW color */ 7743 /* Returns a GdkColor from a DW color */