X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=common%2Fmakegdesc;h=74f5b959d00530b0d948d219f8b0e9d385f367de;hb=c0845d5b08eb1782837d67b89b0353ad27a49450;hp=bc4088c0972fab83c15baf69d365a163361c94b2;hpb=e35e7757af650b09aa4364a9ce0444c5dbde8dee;p=doldaconnect.git diff --git a/common/makegdesc b/common/makegdesc index bc4088c..74f5b95 100755 --- a/common/makegdesc +++ b/common/makegdesc @@ -25,6 +25,25 @@ sub printwidgets my($widget, $p, $sl) = @_; print "${p}gtk_container_add(GTK_CONTAINER(stack[" . ($sl - 1) . "]), stack[$sl]);\n"; } + } 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) = @_; + print "${p}gtk_assistant_append_page(GTK_ASSISTANT(stack[" . ($sl - 1) . "]), stack[$sl]);\n"; + if(defined($widget->{"title"})) { + print "${p}gtk_assistant_set_page_title(GTK_ASSISTANT(stack[" . ($sl - 1) . "]), stack[" . $sl . "], _(\"" . $widget->{"title"} . "\"));\n"; + } + if(defined($widget->{"ptype"})) { + print "${p}gtk_assistant_set_page_type(GTK_ASSISTANT(stack[" . ($sl - 1) . "]), stack[" . $sl . "], GTK_ASSISTANT_PAGE_" . $widget->{"ptype"} . ");\n"; + } + if(defined($widget->{"cmpl"})) { + print "${p}gtk_assistant_set_page_complete(GTK_ASSISTANT(stack[" . ($sl - 1) . "]), stack[" . $sl . "], " . $widget->{"cmpl"} . ");\n"; + } + } } elsif($widget->{"type"} =~ /[hv]box/) { print "${p}stack[$sl] = gtk_" . $widget->{"type"} . "_new("; print $widget->{"homo"}?"TRUE, ":"FALSE, "; @@ -277,6 +296,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"; }