/** xgtkdialog.c **/ #include gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data); gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data); static void makeWidget(); int main(int argc,char *argv[]) { GtkWidget *app; gnome_init("xgtkdialog","1.0",argc,argv); app = gnome_app_new("xgtkdialog","GtkDialog"); gtk_container_set_border_width(GTK_CONTAINER(app),20); gtk_signal_connect(GTK_OBJECT(app),"delete_event", GTK_SIGNAL_FUNC(eventDelete),NULL); gtk_signal_connect(GTK_OBJECT(app),"destroy", GTK_SIGNAL_FUNC(eventDestroy),NULL); makeWidget(); gtk_main(); exit(0); } gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data) { return(FALSE); } gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data) { gtk_main_quit(); return(0); } static void makeWidget() { GtkWidget *dialog; GtkWidget *button; GtkWidget *vbox; GtkWidget *hbox; dialog = gtk_dialog_new(); vbox = GTK_DIALOG(dialog)->vbox; button = gtk_button_new_with_label("VBOX First"); gtk_box_pack_start(GTK_BOX(vbox),button,TRUE,TRUE,0); button = gtk_button_new_with_label("VBOX Second"); gtk_box_pack_start(GTK_BOX(vbox),button,TRUE,TRUE,0); button = gtk_button_new_with_label("VBOX Third"); gtk_box_pack_start(GTK_BOX(vbox),button,TRUE,TRUE,0); hbox = GTK_DIALOG(dialog)->action_area; button = gtk_button_new_with_label("HBOX First"); gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0); button = gtk_button_new_with_label("HBOX Second"); gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0); button = gtk_button_new_with_label("HBOX Third"); gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,0); gtk_widget_show_all(dialog); }