Also, you can popup the execution widows, or hide them, depending on your needs. Tk::Execute::Command is good with subwidgets, so you can read the output textbox of each command, or change their colors, etc. The following example demonstrates that.#!/usr/bin/perl use warnings; use strict; use Tk; use Tk::ExecuteCommand; my $global = 'foobar'; my $mw = MainWindow->new; my $ec_dir = $mw->ExecuteCommand( -command => "echo $global; dir; sleep 5; dir;", -entryWidth => 50, -height => 10, -label => '', -text => 'Execute dir ', )->pack; my $ec_date = $mw->ExecuteCommand( -command => "echo $global; date; sleep 5; date;", -entryWidth => 50, -height => 10, -label => '', -text => 'Execute date ', )->pack; my $dir_but = $mw->Button( -text => 'Execute dir', -background => 'hotpink', -command => sub{ $ec_dir->execute_command })->pack; my $date_but = $mw->Button( -text => 'Execute date', -background => 'lightgreen', -command => sub{ $ec_date->execute_command })->pack; MainLoop;
#!/usr/bin/perl -w use Tk; use Tk::ExecuteCommand; use strict; my $mw = MainWindow->new; #create and hide toplevel############ my $tl = $mw->Toplevel(); $tl->withdraw; my $snaptext = $tl->Scrolled('Text', -background=>'lightsteelblue', -foreground=>'black', )->pack(); $tl->Button(-text =>'Close', -command => sub{$tl->withdraw })->pack(); ####################################### my $ec = $mw->ExecuteCommand( -command => '', -entryWidth => 50, -height => 10, -label => '', -text => 'Execute', )->pack; my $dtext = $ec->Subwidget('text'); $dtext->configure( -background => 'black', -foreground => 'yellow', ); $mw->Button(-text => "Snap Shot", -command => sub{ my $time = localtime; my $old_y_view = $dtext->index('end'); print "$old_y_view\n"; my $gettext = $dtext->get('end -10 lines', 'end'); print "gettext->$gettext\n"; $snaptext->insert('end',"\n##$time\n$gettext\n###end $tim +e\n"); $snaptext->see('end'); $tl->deiconify; })->pack(); $ec->configure(-command => './test'); $ec->execute_command; MainLoop;
In reply to Re: Method for sharing variables
by zentara
in thread Method for sharing variables
by diggernz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |