ODER, sollte es dies sein...????
--
#include <gtk/gtk.h>
// Nicht so schön...
GtkWidget *text_view;
void
on_window_destroy (GtkWidget *widget, gpointer data)
{
gtk_main_quit ();
}
/* Callback for close button */
void
on_button_clicked (GtkWidget *button, GtkTextBuffer *buffer)
{
static int flag=0;
PangoFontDescription *font_desc;
if (flag==0) {
font_desc = pango_font_description_from_string ("mono 30");
flag=1;
}
else {
font_desc = pango_font_description_from_string ("mono 10");
flag=0;
}
gtk_widget_modify_font (text_view, font_desc);
pango_font_description_free (font_desc);
}
int
main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *vbox;
GtkWidget *button;
GtkTextBuffer *buffer;
gtk_init (&argc, &argv);
/* Create a Window. */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Simple Multiline Text
Input");
/* Set a decent default size for the window. */
gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (on_window_destroy),
NULL);
vbox = gtk_vbox_new (FALSE, 2);
gtk_container_add (GTK_CONTAINER (window), vbox);
/* Create a multiline text widget. */
text_view = gtk_text_view_new ();
gtk_box_pack_start (GTK_BOX (vbox), text_view, 1, 1, 0);
/* Obtaining the buffer associated with the widget. */
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view));
/* Set the default buffer text. */
gtk_text_buffer_set_text (buffer, "Hello Text View!", -1);
/* Create a close button. */
button = gtk_button_new_with_label ("Change");
gtk_box_pack_start (GTK_BOX (vbox), button, 0, 0, 0);
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (on_button_clicked),
buffer);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}