]> Pileus Git - ~andy/gtk/blob - demos/gtk-demo/geninclude.pl.in
add default icon
[~andy/gtk] / demos / gtk-demo / geninclude.pl.in
1 #!/usr/bin/perl -w
2
3 print <<EOT;
4 typedef GtkWidget *(*GDoDemoFunc) (void);
5
6 typedef struct _Demo Demo;
7
8 struct _Demo 
9 {
10   gchar *title;
11   gchar *filename;
12   GDoDemoFunc func;
13 };
14
15 EOT
16
17 $array = "";
18 $first = 1;
19 for $file (@ARGV) {
20     
21     ($basename = $file) =~ s/\.c$//;
22
23     if ($first) {
24         $first = 0;
25     } else {
26         $array .= ",\n";
27     }
28
29     open INFO_FILE, $file or die "Cannot open '$file'\n";
30     $title = <INFO_FILE>;
31     $title =~ s@^\s*/\*\s*@@;
32     $title =~ s@\s*$@@;
33
34     close INFO_FILE;
35
36     print "GtkWidget *do_$basename (void);\n";
37     $array .= qq(  { "$title", "$file", do_$basename });
38 }
39
40 print "\nDemo testgtk_demos[] = {";
41 print $array;
42 print "\n};\n";