App-FQStat
view release on metacpan or search on metacpan
lib/App/FQStat/Menu.pm view on Meta::CPAN
package App::FQStat::Menu;
# App::FQStat is (c) 2007-2009 Steffen Mueller
#
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
use strict;
use warnings;
use Term::ANSIScreen qw/RESET :cursor/;
use App::FQStat::Debug;
use App::FQStat::Config qw(get_config);
use App::FQStat::Colors qw(get_color);
use base 'Exporter';
our %EXPORT_TAGS = (
'all' => [qw(
)],
);
our @EXPORT_OK = @{$EXPORT_TAGS{'all'}};
our @Menus = (
{ width => 11, name => 'Display', entries => [
{ name => 'Summary', action => \&App::FQStat::Actions::toggle_summary_mode },
{ name => 'Summ.Clust.', action => \&App::FQStat::Actions::toggle_summary_name_clustering },
{ name => 'Refresh', action => sub { App::FQStat::Drawing::update_display(1) } },
{ name => 'Sort', action => \&App::FQStat::Actions::select_sort_field },
{ name => 'Reverse', action => \&App::FQStat::Actions::toggle_reverse_sort },
{ name => 'Interval', action => \&App::FQStat::Actions::set_user_interval },
{ name => 'Highl. User', action => \&App::FQStat::Actions::update_highlighted_user_name },
{ name => 'Job Details', action => \&App::FQStat::Actions::show_job_details, },
{ name => 'Job Log', action => \&App::FQStat::Actions::show_job_log, },
], },
{ width => 11, name => 'Actions', entries => [
{ name => 'Hold', action => \&App::FQStat::Actions::hold_jobs, },
{ name => 'Resume', action => \&App::FQStat::Actions::resume_jobs, },
{ name => 'Kill', action => \&App::FQStat::Actions::kill_jobs, },
{ name => 'Set Prio.', action => \&App::FQStat::Actions::change_priority, },
{ name => 'Clear Error', action => \&App::FQStat::Actions::clear_job_error_state, },
{ name => 'Change Deps', action => \&App::FQStat::Actions::change_dependencies, },
], },
{ width => 5, name => 'Help', entries => [
{ name => 'Help', action => \&App::FQStat::Actions::show_manual, },
{ name => 'About', action => \&App::FQStat::Actions::show_manual, },
], },
{ width => 6, name => 'Config', entries => [
{ name => 'Edit', action => \&App::FQStat::Config::edit_configuration, },
{ name => 'Reset', action => \&App::FQStat::Config::reset_configuration, },
], },
{ width => 4, name => 'Quit', entries => [
{ name => 'Menu', action => \&App::FQStat::Menu::close_menu, },
{ name => 'Quit', action => \&main::cleanup_and_exit, },
], },
{
width => 8, name => 'Colors', entries => \&App::FQStat::Colors::get_color_scheme_menu_entries,
nEntries => \&App::FQStat::Colors::get_n_color_scheme_entries,
},
);
# Set cumulative width
{
my $width = 0;
foreach my $menu (@Menus) {
$menu->{startx} = $width+1;
$width += $menu->{width} + 2;
}
}
sub enter_menu {
warnenter if ::DEBUG > 0;
( run in 0.672 second using v1.01-cache-2.11-cpan-39bf76dae61 )