diff options
Diffstat (limited to 'perl-install/interactive_gtk.pm')
| -rw-r--r-- | perl-install/interactive_gtk.pm | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/perl-install/interactive_gtk.pm b/perl-install/interactive_gtk.pm index f4209c073..3d1157a51 100644 --- a/perl-install/interactive_gtk.pm +++ b/perl-install/interactive_gtk.pm @@ -38,6 +38,15 @@ sub ask_from_list_with_helpW { my $r; my $w = my_gtk->new(first(deref($title)), %$o); + if ($::isEmbedded) { + $w->{window} = new Gtk::VBox(0,0); + $w->{rwindow} = $w->{window}; + defined($::Plug) ? $::Plug->child->destroy() : ($::Plug = new Gtk::Plug ($::XID)); + $::Plug->show; + my_gtk::flush(); + $::Plug->add($w->{window}); + $w->{window}->add($w->{rwindow}); + } #gtkset_usize(createScrolledWindow($tree), 300, min(350, $::windowheight - 60)), $w->{retval} = $def || $l->[0]; #- nearly especially for the X test case (see timeout in Xconfigurator.pm) $w->{rwindow}->set_policy(0, 0, 1) if $::isWizard; @@ -88,6 +97,15 @@ sub ask_from_treelistW { my ($o, $title, $messages, $separator, $l, $def) = @_; my $sep = quotemeta $separator; my $w = my_gtk->new($title); + if ($::isEmbedded) { + $w->{window} = new Gtk::VBox(0,0); + $w->{rwindow} = $w->{window}; + defined($::Plug) ? $::Plug->child->destroy() : ($::Plug = new Gtk::Plug ($::XID)); + $::Plug->show; + my_gtk::flush(); + $::Plug->add($w->{window}); + $w->{window}->add($w->{rwindow}); + } my $tree = Gtk::CTree->new(1, 0); my %wtree; @@ -166,6 +184,15 @@ sub ask_from_treelistW { sub ask_many_from_listW { my ($o, $title, $messages, @l) = @_; my $w = my_gtk->new('', %$o); + if ($::isEmbedded) { + $w->{window} = new Gtk::VBox(0,0); + $w->{rwindow} = $w->{window}; + defined($::Plug) ? $::Plug->child->destroy() : ($::Plug = new Gtk::Plug ($::XID)); + $::Plug->show; + my_gtk::flush(); + $::Plug->add($w->{window}); + $w->{window}->add($w->{rwindow}); + } $w->sync; # for XPM's creation my $tips = new Gtk::Tooltips; @@ -204,6 +231,15 @@ sub ask_from_entries_refW { my $ignore = 0; #-to handle recursivity my $w = my_gtk->new($title_, %$o); + if ($::isEmbedded) { + $w->{window} = new Gtk::VBox(0,0); + $w->{rwindow} = $w->{window}; + defined($::Plug) ? $::Plug->child->destroy() : ($::Plug = new Gtk::Plug ($::XID)); + $::Plug->show; + my_gtk::flush(); + $::Plug->add($w->{window}); + $w->{window}->add($w->{rwindow}); + } $w->sync; # for XPM's creation my $set_icon = sub { @@ -361,6 +397,15 @@ sub wait_messageW($$$) { my ($o, $title, $messages) = @_; my $w = my_gtk->new($title, %$o, grab => 1); + if ($::isEmbedded) { + $w->{window} = new Gtk::VBox(0,0); + $w->{rwindow} = $w->{window}; + defined($::Plug) ? $::Plug->child->destroy() : ($::Plug = new Gtk::Plug ($::XID)); + $::Plug->show; + my_gtk::flush(); + $::Plug->add($w->{window}); + $w->{window}->add($w->{rwindow}); + } gtkadd($w->{window}, my $hbox = new Gtk::HBox(0,0)); $hbox->pack_start(my $box = new Gtk::VBox(0,0), 1, 1, 10); $box->pack_start($_, 1, 1, 4) foreach my @l = map { new Gtk::Label($_) } @$messages; |
