PAR-Packer
view release on metacpan or search on metacpan
script/tkpp view on Meta::CPAN
-value => $EMPTY,
-label => 'Original Name',
},
InternalName => {
-value => $EMPTY,
-label => 'Internal Name',
},
FileVersion => {
-value => $EMPTY,
-label => 'Version (w.x.y.z)',
},
FileDescription => {
-value => $EMPTY,
-label => 'Description',
},
},
'Legal notice' => {
CompanyName => {
-value => $EMPTY,
-label => 'Company Name',
},
LegalCopyright => {
-value => $EMPTY,
-label => 'Copyright',
},
LegalTrademarks => {
-value => $EMPTY,
-label => 'Trademarks',
},
Comments => {
-value => $EMPTY,
-label => 'Comments',
},
},
},
);
#===============================================================================
# GUI Interface
#===============================================================================
my ( $output_command_widget, $output_stderr_widget, $command, $add_files_rep_listbox ) = ();
my $main = MainWindow->new( -title => $general_configuration{tk}{title} );
$main->withdraw();
# SplashScreen
my $splashscreen_widget = splashscreen_widget($main);
# Configuration option load/save
my $ref_options_pp = {};
my $opt = new Tk::Getopt( -opttable => \@pp_default_options, -options => $ref_options_pp, );
$opt->set_defaults;
#=======
# Menu
#=======
my $bar_menu = $main->Menu( -type => 'menubar', );
$main->configure( -menu => $bar_menu, );
# File Menu
my $file_menu = $bar_menu->cascade( -label => 'File', -tearoff => 0, );
$file_menu->command(
-label => '~Load configuration',
-command => [ \&load_pp_configuration, $main, $opt, $ref_options_pp ],
);
$file_menu->command(
-label => '~Save configuration',
-command => [ \&save_pp_configuration, $main, $opt, $ref_options_pp ],
);
$file_menu->separator;
$file_menu->command(
-label => 'Save ~command line',
-command => sub {
if ( my $file = save_file( $main, [ 'Batch Files', ['.bat'] ], $general_configuration{commandline_path} ) ) {
open my $fh, '>', $file or die "Unable to write in $file\n";
print {$fh} $output_command_widget->get( '1.0', 'end' );
close $fh or die "Unable to close $file\n";
}
}
);
$file_menu->separator;
$file_menu->command( -label => '~Exit', -command => \&close_application, );
# Help Menu
my $help_menu = $bar_menu->cascade( -label => 'Help', -tearoff => 0, );
my $tkpp_pod_menu = $help_menu->command(
-label => '~Tkpp documentation',
-command => [ \&open_pod_documentation, $main, 'tkpp' ],
);
my $pp_pod_menu = $help_menu->command(
-label => '~pp documentation',
-command => [ \&open_pod_documentation, $main, 'pp' ],
);
$help_menu->separator;
$help_menu->command(
-label => 'About Tkpp',
-command => sub { popup_information( $main, $general_configuration{tk}{about_message} ); },
);
$help_menu->command(
-label => 'About pp',
-command => sub { popup_information( $main, $general_configuration{pp_version} ); },
);
#=======
# Header Frame
#=======
my $header_frame = $main->Frame( -background => 'white' );
$header_frame->Label(
-text => $general_configuration{tk}{name_application} . ' (v' . $VERSION . ')',
-background => 'white',
-font => '{Arial} 10 {bold}',
)->pack(qw/ -side left -pady 10 -padx 20/);
$header_frame->Label(
-text => $general_configuration{tk}{header_title},
-background => 'white',
-font => '{Arial} 12',
)->pack(qw/ -side left/);
$header_frame->Label(
-image => get_image_object( $header_frame, par_image(), 'gif' ),
-background => 'white',
)->pack(qw/ -side right -padx 20 /);
#=======
# Notebook Frame
#=======
my $notebook = $main->NoteBook( -font => '{Arial} 10 bold', -backpagecolor => 'white', );
my $general_notebook = $notebook->add( 'General', -label => 'General Options' );
# DEPRECATED
#my $info_notebook = $notebook->add( 'Information', -label => 'Information' );
my $size_notebook = $notebook->add( 'Size', -label => 'Size' );
my $option_notebook = $notebook->add( 'Option', -label => 'Other Options' );
my $output_notebook = $notebook->add( 'Output', -label => 'Output' );
display_general_notebook();
# DEPRECATED
#display_info_notebook();
display_size_notebook();
display_other_options_notebook();
display_output_notebook();
#=======
( run in 0.871 second using v1.01-cache-2.11-cpan-39bf76dae61 )