Ok, time to get back on the list

Brad, here's the example Matias intended to show you (the mailing list ate
the attachment it seems)

</quote who="Matias">
This is how I compile test.c
gcc -Wall `pkg-config --cflags gtk+-2.0` -o test test.c `pkg-config --libs
gtk+-2.0`
</quote>

Cheers,
Jonathan
---------- Forwarded message ----------
From: Matí­as Alejandro Torres <[EMAIL PROTECTED]>
Date: Jul 3, 2007 4:20 PM
Subject: Re: new window from button
To: Jonathan Winterflood <[EMAIL PROTECTED]>

Ok, sorry about that.

#include <stdlib.h>
#include <gtk/gtk.h>

void
button_clicked_cb (GtkWidget *button, GtkWindow *parent)
{
    static GtkWidget *cbwindow = NULL;

    if (!cbwindow)
    /* Windows has not been created yet */
    {
        GtkWidget *text_view;

        text_view = gtk_text_view_new ();
        gtk_widget_set_size_request (text_view, 200, 150);

        cbwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title (GTK_WINDOW (cbwindow), "Callback window");
        gtk_window_set_transient_for (GTK_WINDOW (cbwindow), parent);
        gtk_container_add (GTK_CONTAINER (cbwindow), text_view);
        gtk_container_set_border_width (GTK_CONTAINER (cbwindow), 12);

    }
    gtk_widget_show_all (cbwindow);
}

int
main (gint argc, gchar **argv)
{
    GtkWidget *window;
    GtkWidget *button;

    gtk_init (&argc, &argv);

    button = gtk_button_new_from_stock (GTK_STOCK_OPEN);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title (GTK_WINDOW (window), "Main window");
    gtk_container_add (GTK_CONTAINER (window), button);
    gtk_container_set_border_width (GTK_CONTAINER (window), 12);

    /* We connect the signal clicked to a callback function that will
create the window.
     * The Main window is passed to that function (last argument).
     */
    g_signal_connect (G_OBJECT (button), "clicked", (GCallback)
button_clicked_cb, window);
    /* We connect the signal delete_event of the Main window so that
     * the program exits when Main window is clicked.
     */
    g_signal_connect (G_OBJECT (window), "delete-event", (GCallback)
gtk_main_quit, NULL);

    gtk_widget_show_all (window);

    gtk_main ();

    return 0;
}
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to