Dolda2000 GitWeb
/
doldaconnect.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add xpmimg widget to makegdesc.
[doldaconnect.git]
/
common
/
makegdesc
diff --git
a/common/makegdesc
b/common/makegdesc
index
0eaf7c7
..
e8fd6f5
100755
(executable)
--- a/
common/makegdesc
+++ b/
common/makegdesc
@@
-1,5
+1,10
@@
#!/usr/bin/perl
#!/usr/bin/perl
+use Getopt::Long;
+use IO::File;
+
+GetOptions(\%args, "h=s") || exit 1;
+
$tempvar = 0;
sub printwidgets
$tempvar = 0;
sub printwidgets
@@
-114,6
+119,9
@@
sub printwidgets
$widget->{"stock"} || die("Can't have image without stock\n");
$widget->{"size"} || die("Can't have image without size\n");
print "${p}stack[$sl] = gtk_image_new_from_stock(GTK_STOCK_" . $widget->{"stock"} . ", GTK_ICON_SIZE_" . $widget->{"size"} . ");\n";
$widget->{"stock"} || die("Can't have image without stock\n");
$widget->{"size"} || die("Can't have image without size\n");
print "${p}stack[$sl] = gtk_image_new_from_stock(GTK_STOCK_" . $widget->{"stock"} . ", GTK_ICON_SIZE_" . $widget->{"size"} . ");\n";
+ } elsif($widget->{"type"} eq "xpmimg") {
+ $widget->{"data"} || die("Can't have XPM image without data\n");
+ print "${p}stack[$sl] = gtk_image_new_from_pixbuf(gdk_pixbuf_new_from_xpm_data((const char **)" . $widget->{"data"} . "));\n";
} elsif($widget->{"type"} eq "lbl") {
$widget->{"label"} || $widget->{"markup"} || die("Can't have label without label\n");
if($widget->{"label"}) {
} elsif($widget->{"type"} eq "lbl") {
$widget->{"label"} || $widget->{"markup"} || die("Can't have label without label\n");
if($widget->{"label"}) {
@@
-423,6
+431,20
@@
sub printwidgets
}
}
}
}
+sub printheader
+{
+ my($widget, $handle);
+ $handle = $_[1];
+ foreach $widget (@{$_[0]})
+ {
+ if($widget->{"var"})
+ {
+ $handle->print("extern GtkWidget *" . $options{"prefix"} . $widget->{"name"} .";\n");
+ }
+ printheader($widget->{"subwidgets"}, $handle) if($widget->{"subwidgets"});
+ }
+}
+
sub printvars
{
my($widget);
sub printvars
{
my($widget);
@@
-488,6
+510,14
@@
while(<>)
}
}
}
}
+if($args{"h"})
+{
+ $hfile = IO::File->new($args{"h"}, "w") || die;
+ $hfile->print("GtkWidget *create_" . $options{"prefix"} . "wnd(void);\n");
+ printheader $rootwidgets, $hfile;
+ $hfile->close();
+}
+
printvars $rootwidgets;
print "\n";
print "GtkWidget *create_" . $options{"prefix"} . "wnd(void)\n";
printvars $rootwidgets;
print "\n";
print "GtkWidget *create_" . $options{"prefix"} . "wnd(void)\n";