1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| /* compile using:
cc -Wall -g `pkg-config --cflags --libs gtk+-2.0` -o example main.c
*/
#include <gtk/gtk.h>
void on_window_map (GtkWidget*, gpointer);
void on_window_realize (GtkWidget*, gpointer);
void on_window_show (GtkWidget*, gpointer);
int
main (int argc, char *argv[])
{
GtkWidget *window;
/* initialize the GTK+ library */
gtk_init (&argc, &argv);
/* create main window */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Example");
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
gtk_widget_set_size_request (window, 200, 100);
/* connect signals */
g_signal_connect (G_OBJECT(window), "destroy",
G_CALLBACK (gtk_main_quit), NULL);
g_signal_connect (G_OBJECT(window), "realize",
G_CALLBACK (on_window_realize), NULL);
g_signal_connect (G_OBJECT(window), "map",
G_CALLBACK (on_window_map), NULL);
g_signal_connect (G_OBJECT(window), "show",
G_CALLBACK (on_window_show), NULL);
/* show the main window, hide it, then show it again */
gtk_widget_show (window);
gtk_widget_hide (window);
gtk_widget_show (window);
gtk_main ();
return 0;
}
void
on_window_map (GtkWidget *w,gpointer user_data)
{
g_print("Window was mapped.\n");
}
void
on_window_realize (GtkWidget *w,gpointer user_data)
{
g_print("Window was realized.\n");
}
void
on_window_show (GtkWidget *w,gpointer user_data)
{
g_print("Window was shown.\n");
}
|