/** fontpicker.c **/ #include gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data); gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data); void eventFontSet(GtkWidget *widget, gchar *string,GtkWidget *label); int main(int argc,char *argv[]) { GtkWidget *app; GtkWidget *fontpicker; GtkWidget *label; GtkWidget *box; gnome_init("fontpicker","1.0",argc,argv); app = gnome_app_new("fontpicker","Font Picker"); gtk_container_set_border_width(GTK_CONTAINER(app),30); gtk_signal_connect(GTK_OBJECT(app),"delete_event", GTK_SIGNAL_FUNC(eventDelete),NULL); gtk_signal_connect(GTK_OBJECT(app),"destroy", GTK_SIGNAL_FUNC(eventDestroy),NULL); box = gtk_vbox_new(FALSE,0); label = gtk_label_new( "Select the button below and the font picker\n" "window will appear.\n" "The font you select will be used to\n" "rewrite this text."); gtk_box_pack_start(GTK_BOX(box),label, FALSE,FALSE,0); fontpicker = gnome_font_picker_new(); gtk_signal_connect(GTK_OBJECT(fontpicker),"font-set", GTK_SIGNAL_FUNC(eventFontSet),label); gtk_box_pack_start(GTK_BOX(box),fontpicker, FALSE,FALSE,0); gnome_app_set_contents(GNOME_APP(app),box); gtk_widget_show_all(app); gtk_main(); exit(0); } void eventFontSet(GtkWidget *widget, gchar *string,GtkWidget *label) { GtkStyle *oldStyle; GtkStyle *newStyle; GdkFont *font; font = gdk_font_load(string); oldStyle = gtk_widget_get_style(label); newStyle = gtk_style_copy(oldStyle); newStyle->font = font; gtk_widget_set_style(label,newStyle); gtk_style_unref(oldStyle); } gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data) { return(FALSE); } gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data) { gtk_main_quit(); return(0); }