#include <libgnomeui-2.0/gnome.h>
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);
g_signal_connect(G_OBJECT(window), "event_delete", G_CALLBACK(eventDelete), NULL);
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(eventDestroy), NULL);
frame = makeFrames();
gtk_container_add(GTK_CONTAINER(window), frame);
gtk_widget_show(window);
gtk_main();
return 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.type);
gtk_container_add(GTK_CONTAINER(box), frame);
label = gtk_label_new(shadow.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;
}
y@y-laptop:~/coding/GTK+$ gcc -Wall frame1.c -o frame1 `pkg-config --cflags --libs libgnome-2.0 libgnomeui-2.0 libgnomecanvas-2.0`
frame1.c:10: error: incompatible types when initializing type ‘enum <anonymous>’ using type ‘char *’
frame1.c:11: error: incompatible types when initializing type ‘enum <anonymous>’ using type ‘char *’
frame1.c:12: error: incompatible types when initializing type ‘enum <anonymous>’ using type ‘char *’
frame1.c:13: error: incompatible types when initializing type ‘enum <anonymous>’ using type ‘char *’
frame1.c:14: error: incompatible types when initializing type ‘enum <anonymous>’ using type ‘char *’
y@y-laptop:~/coding/GTK+$