Fixed HTTP-client query-string handling bug.
[doldaconnect.git] / common / makegdesc
index 32271fb..b61ed75 100755 (executable)
@@ -63,6 +63,16 @@ sub printwidgets
                print $widget->{"pad"} || "0";
                print ");\n";
            }
+       } elsif($widget->{"type"} =~ /([hv])btnbox/) {
+           print "${p}stack[$sl] = gtk_" . $1 . "button_box_new();\n";
+           if(defined($widget->{"layout"})) {
+               print "${p}gtk_button_box_set_layout(GTK_BUTTON_BOX(stack[$sl]), GTK_BUTTONBOX_" . $widget->{"layout"} . ");\n";
+           }
+           $pf = sub
+           {
+               my($widget, $p, $sl) = @_;
+               print "${p}gtk_container_add(GTK_CONTAINER(stack[" . ($sl - 1) . "]), stack[$sl]);\n";
+           }
        } elsif($widget->{"type"} eq "table") {
            print "${p}stack[$sl] = gtk_table_new(" . $widget->{"rows"} . ", " . $widget->{"cols"};
            print ", " . (($widget->{"homo"} eq "TRUE")?"TRUE":"FALSE");
@@ -119,6 +129,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";
+       } 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"}) {
@@ -318,6 +331,16 @@ sub printwidgets
                print "${p}gtk_tree_view_column_set_cell_data_func(column, renderer, " . $widget->{"func"} . ", " . ($widget->{"funcdata"} || "NULL") . ", NULL);\n";
            }
            $widget->{"noshow"} = 1;
+       } elsif($widget->{"type"} eq "progrend") {
+           print "${p}renderer = gtk_cell_renderer_progress_new();\n";
+           print "${p}gtk_tree_view_column_pack_start(column, renderer, " . (defined($widget->{"expand"})?$widget->{"expand"}:"FALSE") . ");\n";
+           if(defined($widget->{"value"})) {
+               print "${p}gtk_tree_view_column_add_attribute(column, renderer, \"value\", " . $widget->{"value"} . ");\n";
+           }
+           if(defined($widget->{"func"})) {
+               print "${p}gtk_tree_view_column_set_cell_data_func(column, renderer, " . $widget->{"func"} . ", " . ($widget->{"funcdata"} || "NULL") . ", NULL);\n";
+           }
+           $widget->{"noshow"} = 1;
        } elsif($widget->{"type"} eq "custrend") {
            print "${p}renderer = GTK_CELL_RENDERER(" . $widget->{"newfunc"} . "());\n";
            print "${p}gtk_tree_view_column_pack_start(column, renderer, " . (defined($widget->{"expand"})?$widget->{"expand"}:"FALSE") . ");\n";
@@ -510,6 +533,7 @@ 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();
 }