Fwd: new window from button
- From: "Jonathan Winterflood" <jonathan winterflood gmail com>
- To: bradleydsmith gmail com, gtk-app-devel-list gnome org
- Subject: Fwd: new window from button
- Date: Tue, 3 Jul 2007 16:27:20 +0200
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 <torresmat gmail com>
Date: Jul 3, 2007 4:20 PM
Subject: Re: new window from button
To: Jonathan Winterflood <jonathan winterflood gmail com>
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;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]