#include <gtk/gtk.h>
static gboolean window_delete_event( GtkWidget *widget, GdkEvent *event, gpointer data);
static void cbcb( GtkWidget *widget, gpointer data);
GtkWidget *label;
char *numbers[] ={"Ichi", "Ni", "San", "Shi", "Go", "Roku", "Shichi", "Hachi", NULL};
int main( int argc, char **argv)
{
GtkWidget *window, *vbox, *combobox;
int i =0;
gtk_set_locale( );
gtk_init( &argc, &argv);
window =gtk_window_new( GTK_WINDOW_TOPLEVEL);
gtk_window_set_title( GTK_WINDOW( window), "The Walrus was Paul");
g_signal_connect( G_OBJECT( window),
"delete_event",
G_CALLBACK( window_delete_event), NULL);
vbox =gtk_vbox_new( FALSE, 8);
gtk_container_add( GTK_CONTAINER( window), vbox);
combobox =gtk_combo_box_new_text( ); // the easier way
while( NULL !=numbers[ i])
gtk_combo_box_append_text( GTK_COMBO_BOX( combobox), numbers[ i++]);
g_signal_connect( combobox, "changed", G_CALLBACK( cbcb), NULL);
gtk_box_pack_start( GTK_BOX( vbox), combobox, FALSE, TRUE, 8);
label =gtk_label_new( "...");
gtk_box_pack_start( GTK_BOX( vbox), label, FALSE, TRUE, 8);
gtk_widget_show_all( window);
gtk_main( );
return 0;
}
static gboolean window_delete_event( GtkWidget *widget, GdkEvent *event, gpointer data)
{
exit( 0);
}
static void cbcb( GtkWidget *widget, gpointer data)
{
gtk_label_set_text( GTK_LABEL( label),
gtk_combo_box_get_active_text( GTK_COMBO_BOX( widget)));
}