From 88a07c82cece62903ae68e1e2c482d810bbf8560 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 29 Jul 1999 15:18:54 +0000 Subject: no_comment --- perl-install/interactive.pm | 53 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 perl-install/interactive.pm (limited to 'perl-install/interactive.pm') diff --git a/perl-install/interactive.pm b/perl-install/interactive.pm new file mode 100644 index 000000000..977adea5a --- /dev/null +++ b/perl-install/interactive.pm @@ -0,0 +1,53 @@ +package interactive; + +use diagnostics; +use strict; + +use common qw(:common); + +1; + +sub new($$) { + my ($type) = @_; + + bless {}, ref $type || $type; +} + + +sub ask_warn($$$) { + my ($o, $title, $message) = @_; + ask_from_list($o, $title, $message, [ _("Ok") ]); +} +sub ask_yesorno($$$) { + my ($o, $title, $message) = @_; + ask_from_list_($o, $title, $message, [ __("Yes"), __("No") ]) eq "Yes"; +} +sub ask_okcancel($$$) { + my ($o, $title, $message) = @_; + ask_from_list_($o, $title, $message, [ __("Ok"), __("Cancel") ]) eq "Ok"; +} +sub ask_from_list_($$$$;$) { + my ($o, $title, $message, $l, $def) = @_; + untranslate( + ask_from_list($o, $title, $message, [ map { translate($_) } @$l ], translate($def)), + @$l); +} +sub ask_from_list($$$$;$) { + my ($o, $title, $message, $l, $def) = @_; + + $message = ref $message ? $message : [ $message ]; + + @$l > 10 and $l = [ sort @$l ]; + + $o->ask_from_listW($title, $message, $l, $def || $l->[0]); +} +sub ask_many_from_list($$$$;$) { + my ($o, $title, $message, $l, $def) = @_; + + $message = ref $message ? $message : [ $message ]; + + $o->ask_many_from_listW($title, $message, $l, $def); +} + + + -- cgit v1.2.1