-
Notifications
You must be signed in to change notification settings - Fork 6
Executioner
Saif Ahmed edited this page Nov 20, 2021
·
8 revisions
This is a program that Executes other programs, a launcher in other words. I use this to test standard applications as each new version of GUIDeFATE is being worked on, but one could adapt it for any other purpose. It itself is a test utility containing buttons, combo-boxes and a text-entry widget. In this particular iteration the test applications are expected to also accept parameters to select the backend, and also the type of assistance required. This is run from inside a folder containing the GUIDeFATE lib folder an the use lib '../lib/
ensures that the modules in this folder are used in preference to any that may be installed.
#!/usr/bin/env perl
#A test script that calls the test files in scripts folder
#uses GUIDeFATE (which in turn depends on Wx or Tk)
use lib '../lib/';
use strict;
use warnings;
use GUIDeFATE;
my $window=<<END;
+--------------------------------------+
|T Executioner |
+M-------------------------------------+
| ^bends ^ Options ^optns^ |
| {Calculator } |
| {Rock Paper Scissors Lizard Spock} |
| {GUI Gnuplotter } |
| { Text editor } |
| { Executioner (this) } |
| [ ]{Execute } |
+--------------------------------------+
bends=Wx,Tk,Gtk,Qt,Win32
optns=Quiet,Verbose,Assist
END
my $backend=$ARGV[0]?$ARGV[0]:"wx";
my $assist=$ARGV[1]?$ARGV[1]:"q";
my $gui=GUIDeFATE->new($window,$backend,$assist);
my $frame=$gui->getFrame||$gui;
$gui->MainLoop;
sub combo0{
$backend=$frame->getValue("combo0");
}
sub combo1{
$assist=$frame->getValue("combo1");
}
sub btn3 #called using button with label Calculator
{
system("(perl -I../lib/ calculator.pl $backend $assist &)");
};
sub btn4 #called using button with label Rock Paper Scissors Lizard Spock
{
system("(perl -I../lib/ rpsls.pl $backend $assist &)");
};
sub btn5 #called using button with label GUI Gnuplotter
{
system("(perl -I../lib/ GUIgnuplot.pl $backend $assist &)");
};
sub btn6 #called using button with label Text editor
{
system("(perl -I../lib/ texteditor.pl $backend $assist &)");
};
sub btn7 #called using button with label Executioner
{
system("(perl -I../lib/ Executioner.pl $backend $assist &)");
};
sub textctrl9
{
system("(perl -I../lib/ ". $frame->getValue("textctrl9") . " $backend $assist &)");
};
sub btn8 #called using button with label Executioner
{
system("(perl -I../lib/ ". $frame->getValue("textctrl9") . " $backend $assist &)");
};