/** frame1.c **/ #include GtkWidget *makeFrames(); gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data); gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data); struct { gchar *typeName; GtkShadowType type; } shadow[] = { { "GTK_SHADOW_NONE", GTK_SHADOW_NONE }, { "GTK_SHADOW_IN", GTK_SHADOW_IN }, { "GTK_SHADOW_OUT", GTK_SHADOW_OUT }, { "GTK_SHADOW_ETCHED_IN", GTK_SHADOW_ETCHED_IN }, { "GTK_SHADOW_ETCHED_OUT", GTK_SHADOW_ETCHED_OUT } }; int main(int argc,char *argv[]) { GtkWidget *window; GtkWidget *frame; gnome_init("frame1","1.0",argc,argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_container_set_border_width( GTK_CONTAINER(window),25); gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(eventDelete), NULL); gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(eventDestroy), NULL); frame = makeFrames(); gtk_container_add(GTK_CONTAINER(window),frame); gtk_widget_show(window); gtk_main(); exit(0); } GtkWidget *makeFrames() { int i; GtkWidget *box; GtkWidget *frame; GtkWidget *label; box = gtk_vbox_new(FALSE,10); gtk_widget_show(box); for(i=0; i<5; i++) { frame = gtk_frame_new(NULL); gtk_widget_show(frame); gtk_frame_set_shadow_type(GTK_FRAME(frame), shadow[i].type); gtk_container_add(GTK_CONTAINER(box),frame); label = gtk_label_new(shadow[i].typeName); gtk_widget_show(label); gtk_container_add(GTK_CONTAINER(frame),label); } return(box); } gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data) { return(FALSE); } gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data) { gtk_main_quit(); return(0); }