summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordamien <damien@mandriva.com>2000-12-18 19:36:33 +0000
committerdamien <damien@mandriva.com>2000-12-18 19:36:33 +0000
commit845b7de8847cf536f8b4a222ad12316a7c054d13 (patch)
treef887ac450a32289512acd517fc8a19774c758e13
parentc18b5aff0fcb2adca6022214406e685b3af157a2 (diff)
downloaddrakx-backup-do-not-use-845b7de8847cf536f8b4a222ad12316a7c054d13.tar
drakx-backup-do-not-use-845b7de8847cf536f8b4a222ad12316a7c054d13.tar.gz
drakx-backup-do-not-use-845b7de8847cf536f8b4a222ad12316a7c054d13.tar.bz2
drakx-backup-do-not-use-845b7de8847cf536f8b4a222ad12316a7c054d13.tar.xz
drakx-backup-do-not-use-845b7de8847cf536f8b4a222ad12316a7c054d13.zip
corrected embedded support.
-rw-r--r--perl-install/interactive_gtk.pm62
1 files changed, 16 insertions, 46 deletions
diff --git a/perl-install/interactive_gtk.pm b/perl-install/interactive_gtk.pm
index 3d1157a51..8fa39ffe4 100644
--- a/perl-install/interactive_gtk.pm
+++ b/perl-install/interactive_gtk.pm
@@ -33,20 +33,22 @@ sub ask_from_listW {
ask_from_list_with_helpW($o, $title, $messages, $l, undef, $def);
}
+sub test_embedded {
+ my ($w) = @_;
+ $::isEmbedded or return;
+ $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});
+}
sub ask_from_list_with_helpW {
my ($o, $title, $messages, $l, $help, $def) = @_;
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});
- }
+ test_embedded($w);
#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;
@@ -97,15 +99,7 @@ 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});
- }
+ test_embedded($w);
my $tree = Gtk::CTree->new(1, 0);
my %wtree;
@@ -184,15 +178,7 @@ 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});
- }
+ test_embedded($w);
$w->sync; # for XPM's creation
my $tips = new Gtk::Tooltips;
@@ -231,15 +217,7 @@ 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});
- }
+ test_embedded($w);
$w->sync; # for XPM's creation
my $set_icon = sub {
@@ -397,15 +375,7 @@ 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});
- }
+ test_embedded($w);
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;