App-DBBrowser
view release on metacpan or search on metacpan
lib/App/DBBrowser/Options/Menus.pm view on Meta::CPAN
return;
}
sub __settings_menu_wrap {
# sets the options to the index of the chosen values, not to the values itself
my ( $sf, $info, $lo, $section, $sub_menu, $prompt ) = @_;
my $tu = Term::Choose::Util->new( $sf->{i}{tcu_default} );
my $changed = $tu->settings_menu(
$sub_menu, $lo->{$section},
{ info => $info, prompt => $prompt, back => $sf->{i}{_back}, confirm => $sf->{i}{_confirm} }
);
}
sub __choose_a_subset_wrap {
my ( $sf, $info, $lo, $section, $opt, $available, $prompt ) = @_;
my $tu = Term::Choose::Util->new( $sf->{i}{tcu_default} );
my $current = $lo->{$section}{$opt};
$info .= "\n" if length $info;
$info .= 'Cur: ' . join( ', ', @$current );
my $name = 'New: ';
# Choose_a_list
my $list = $tu->choose_a_subset(
$available,
{ info => $info, prompt => $prompt, cs_label => $name, prefix => '- ', keep_chosen => 0,
index => 0, confirm => $sf->{i}{_confirm}, back => $sf->{i}{_back}, layout => 2,
clear_screen => 1 }
);
return if ! defined $list;
return if ! @$list;
$lo->{$section}{$opt} = $list;
return;
}
sub __choose_a_number_wrap {
my ( $sf, $info, $lo, $section, $opt, $prompt, $digits, $small_first ) = @_;
my $tu = Term::Choose::Util->new( $sf->{i}{tcu_default} );
my $current = $lo->{$section}{$opt};
my $w = $digits + int( ( $digits - 1 ) / 3 ) * length $sf->{i}{info_thsd_sep};
$info .= "\n" . 'Cur: ' . sprintf( "%*s", $w, insert_sep( $current, $sf->{i}{info_thsd_sep} ) );
my $name = 'New: ';
# Choose_a_number
my $choice = $tu->choose_a_number( $digits,
{ info => $info, prompt => $prompt, cs_label => $name, small_first => $small_first,
clear_screen => 1, confirm => $sf->{i}{confirm}, back => $sf->{i}{back} }
);
return if ! defined $choice;
$lo->{$section}{$opt} = $choice;
return;
}
sub __choose_a_directory_wrap {
my ( $sf, $info, $lo, $section, $opt, $prompt ) = @_;
my $tu = Term::Choose::Util->new( $sf->{i}{tcu_default} );
#my $current = $lo->{$section}{$opt};
# Choose_a_directory
my $choice = $tu->choose_a_directory(
{ show_hidden => 1, info => $info, prompt => $prompt, clear_screen => 1, decoded => 1,
confirm => $sf->{i}{confirm}, back => $sf->{i}{back} } ##
);
return if ! defined $choice;
$lo->{$section}{$opt} = $choice;
return;
}
sub __group_readline {
my ( $sf, $info, $lo, $section, $items, $prompt ) = @_;
my $list = [ map {
[ exists $_->{prompt} ? $_->{prompt} : $_->{name}, $lo->{$section}{$_->{name}} ]
} @{$items} ];
my $tf = Term::Form->new( $sf->{i}{tf_default} );
# Fill_Form
my $new_list = $tf->fill_form(
$list,
{ info => $info, prompt => $prompt, confirm => $sf->{i}{confirm}, back => $sf->{i}{back} }
);
if ( $new_list ) {
for my $i ( 0 .. $#$items ) {
$lo->{$section}{$items->[$i]{name}} = $new_list->[$i][1];
}
}
}
1;
__END__
( run in 1.109 second using v1.01-cache-2.11-cpan-39bf76dae61 )