Fix alignment creation bug.
[doldaconnect.git] / common / makegdesc
index 9ca169c..f1df250 100755 (executable)
@@ -27,6 +27,9 @@ sub printwidgets
            }
        } elsif($widget->{"type"} eq "assistant") {
            print "${p}stack[$sl] = gtk_assistant_new();\n";
+           if(defined($widget->{"title"})) {
+               print "${p}gtk_window_set_title(GTK_WINDOW(stack[$sl]), \"" . $widget->{"title"} . "\");\n";
+           }
            $pf = sub
            {
                my($widget, $p, $sl) = @_;
@@ -97,6 +100,13 @@ sub printwidgets
        } elsif($widget->{"type"} eq "chk") {
            $widget->{"label"} || die("Can't have check button without label\n");
            print "${p}stack[$sl] = gtk_check_button_new_with_mnemonic(_(\"" . $widget->{"label"} . "\"));\n";
+       } elsif($widget->{"type"} eq "radio") {
+           $widget->{"label"} || die("Can't have check button without label\n");
+           if(defined($widget->{"group"})) {
+               print "${p}stack[$sl] = gtk_radio_button_new_with_mnemonic_from_widget(GTK_RADIO_BUTTON(" . $options{"prefix"} . $widget->{"group"} . "), _(\"" . $widget->{"label"} . "\"));\n";
+           } else {
+               print "${p}stack[$sl] = gtk_radio_button_new_with_mnemonic(NULL, _(\"" . $widget->{"label"} . "\"));\n";
+           }
        } elsif($widget->{"type"} eq "sbtn") {
            $widget->{"stock"} || die("Can't have button without stock\n");
            print "${p}stack[$sl] = gtk_button_new_from_stock(GTK_STOCK_" . $widget->{"stock"} . ");\n";
@@ -207,6 +217,37 @@ sub printwidgets
                my($widget, $p, $sl) = @_;
                print "${p}gtk_container_add(GTK_CONTAINER(stack[" . ($sl - 1) . "]), stack[$sl]);\n";
            }
+       } elsif($widget->{"type"} eq "align") {
+           print "${p}stack[$sl] = gtk_alignment_new(";
+           if(defined($widget->{"xa"})) {
+               print $widget->{"xa"};
+           } else {
+               print "0.5";
+           }
+           print ", ";
+           if(defined($widget->{"ya"})) {
+               print $widget->{"ya"};
+           } else {
+               print "0.5";
+           }
+           print ", ";
+           if(defined($widget->{"xs"})) {
+               print $widget->{"xs"};
+           } else {
+               print "1.0";
+           }
+           print ", ";
+           if(defined($widget->{"ys"})) {
+               print $widget->{"ys"};
+           } else {
+               print "1.0";
+           }
+           print ");\n";
+           $pf = sub
+           {
+               my($widget, $p, $sl) = @_;
+               print "${p}gtk_container_add(GTK_CONTAINER(stack[" . ($sl - 1) . "]), stack[$sl]);\n";
+           }
        } elsif($widget->{"type"} eq "treeview") {
            print "${p}stack[$sl] = gtk_tree_view_new();\n";
            if(defined($widget->{"hvis"})) {
@@ -293,6 +334,8 @@ sub printwidgets
            if($widget->{"grip"} eq "n") {
                print "${p}gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(stack[$sl]), FALSE);\n";
            }
+       } elsif($widget->{"type"} eq "filechooser") {
+           print "${p}stack[$sl] = gtk_file_chooser_widget_new(GTK_FILE_CHOOSER_ACTION_" . (defined($widget->{"action"})?$widget->{"action"}:"OPEN") . ");\n";
        } else {
            print STDERR "Unknown widget: " . $widget->{"type"} ."\n";
        }