Added save/load or an initialization file for GUI parameters.
This commit is contained in:
@ -251,7 +251,7 @@ void TrimSPGUI::CollectValues()
|
||||
|
||||
# Scan parameters only if selected
|
||||
$All{"ScanSeq"}=ScanSeq->isChecked();
|
||||
if ($All{"ScanSeq"}) {
|
||||
# if ($All{"ScanSeq"}) {
|
||||
$All{"ERadio"}=ERadio->isChecked();
|
||||
$All{"SigERadio"}=SigERadio->isChecked();
|
||||
$All{"NProjRadio"}=NProjRadio->isChecked();
|
||||
@ -264,7 +264,7 @@ void TrimSPGUI::CollectValues()
|
||||
$All{"SFrom"}=SFrom->text();
|
||||
$All{"STo"}=STo->text();
|
||||
$All{"SStep"}=SStep->text();
|
||||
}
|
||||
# }
|
||||
|
||||
# Return values to caller
|
||||
return %All;
|
||||
@ -665,3 +665,197 @@ Copyright 2009 by Zaher Salman and the LEM Group.
|
||||
";
|
||||
my $HelpWindow = Qt::MessageBox::about( this, "About TrimSP GUI",$HelpText);
|
||||
}
|
||||
|
||||
|
||||
void TrimSPGUI::OpenFile()
|
||||
{
|
||||
# Types of different input
|
||||
my %Types = ();
|
||||
# 0 - text (this is default), 1 - spin box, 2 - radio button, 3 - combo box
|
||||
$Types{"NL"}=1 ;
|
||||
$Types{"ProjType"}= 3;
|
||||
$Types{"ScanSeq"}= 2;
|
||||
$Types{"ERadio"}= 2;
|
||||
$Types{"SigERadio"}= 2;
|
||||
$Types{"NProjRadio"}= 2;
|
||||
$Types{"dRadio"}= 2;
|
||||
$Types{"ScandL"}= 1;
|
||||
$Types{"ListRadio"}= 2;
|
||||
$Types{"ScanListdz"}= 0;
|
||||
$Types{"LoopRadio"}= 2;
|
||||
|
||||
|
||||
my $file=Qt::FileDialog::getOpenFileName(
|
||||
".",
|
||||
"Initialization file (.* *.*)",
|
||||
this,
|
||||
"open file dialog",
|
||||
"Choose an initialization file");
|
||||
|
||||
# If the user gave a valid filename try to read it
|
||||
if ($file ne "") {
|
||||
open (INF,q{<},"$file" );
|
||||
my @lines = <INF>;
|
||||
close(INF);
|
||||
my $Attrib="";
|
||||
foreach my $line (@lines) {
|
||||
my @InitPar = split (/=/,$line);
|
||||
# Check it is not empty or title line
|
||||
if ($InitPar[0] ne "" && $InitPar[1] ne "") {
|
||||
$Attrib = child($InitPar[0]);
|
||||
if ($Types{$InitPar[0]} == 1) {
|
||||
$Attrib->setValue($InitPar[1]);
|
||||
} elsif ($Types{$InitPar[0]} == 2 ) {
|
||||
if($InitPar[1] == 1) {
|
||||
$Attrib->setChecked(1);
|
||||
} else {
|
||||
$Attrib->setChecked(0);
|
||||
}
|
||||
} elsif ($Types{$InitPar[0]} == 3) {
|
||||
$Attrib-> setCurrentText($InitPar[1]);
|
||||
} else {
|
||||
$Attrib->setText($InitPar[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void TrimSPGUI::SaveFile()
|
||||
{
|
||||
my %All = CollectValues();
|
||||
my $InitFile="
|
||||
[Layers]
|
||||
NL=$All{'NL'}
|
||||
L1Comp=$All{'L1Comp'}
|
||||
L1rho=$All{'L1rho'}
|
||||
L1d=$All{'L1d'}
|
||||
L2Comp=$All{'L2Comp'}
|
||||
L2rho=$All{'L2rho'}
|
||||
L2d=$All{'L2d'}
|
||||
L3Comp=$All{'L3Comp'}
|
||||
L3rho=$All{'L3rho'}
|
||||
L3d=$All{'L3d'}
|
||||
L4Comp=$All{'L4Comp'}
|
||||
L4rho=$All{'L4rho'}
|
||||
L4d=$All{'L4d'}
|
||||
L5Comp=$All{'L5Comp'}
|
||||
L5rho=$All{'L5rho'}
|
||||
L5d=$All{'L5d'}
|
||||
L6Comp=$All{'L6Comp'}
|
||||
L6rho=$All{'L6rho'}
|
||||
L6d=$All{'L6d'}
|
||||
L7Comp=$All{'L7Comp'}
|
||||
L7rho=$All{'L7rho'}
|
||||
L7d=$All{'L7d'}
|
||||
|
||||
[ProjectileParameters]
|
||||
ProjType=$All{'ProjType'}
|
||||
NProj=$All{'NProj'}
|
||||
z0=$All{'z0'}
|
||||
dz=$All{'dz'}
|
||||
E=$All{'E'}
|
||||
SigE=$All{'SigE'}
|
||||
Angle=$All{'Angle'}
|
||||
SigAngle=$All{'SigAngle'}
|
||||
Seed=$All{'Seed'}
|
||||
|
||||
[Files]
|
||||
FNPre=$All{'FNPre'}
|
||||
Path=$All{'Path'}
|
||||
|
||||
[ScanSequence]
|
||||
ScanSeq=$All{'ScanSeq'}
|
||||
ERadio=$All{'ERadio'}
|
||||
SigERadio=$All{'SigERadio'}
|
||||
NProjRadio=$All{'NProjRadio'}
|
||||
dRadio=$All{'dRadio'}
|
||||
ListRadio=$All{'ListRadio'}
|
||||
ScanList=$All{'ScanList'}
|
||||
ScanListdz=$All{'ScanListdz'}
|
||||
LoopRadio=$All{'LoopRadio'}
|
||||
SFrom=$All{'SFrom'}
|
||||
STo=$All{'STo'}
|
||||
SStep=$All{'SStep'}
|
||||
";
|
||||
|
||||
# Save to default file name "TriumSP.cfg"
|
||||
my $file = "TrimSP.cfg";
|
||||
open (OUTF,q{>},"$file" );
|
||||
print OUTF (" $InitFile");
|
||||
close(OUTF);
|
||||
}
|
||||
|
||||
|
||||
void TrimSPGUI::SaveFileAs()
|
||||
{
|
||||
my %All = CollectValues();
|
||||
my $InitFile="
|
||||
[Layers]
|
||||
NL=$All{'NL'}
|
||||
L1Comp=$All{'L1Comp'}
|
||||
L1rho=$All{'L1rho'}
|
||||
L1d=$All{'L1d'}
|
||||
L2Comp=$All{'L2Comp'}
|
||||
L2rho=$All{'L2rho'}
|
||||
L2d=$All{'L2d'}
|
||||
L3Comp=$All{'L3Comp'}
|
||||
L3rho=$All{'L3rho'}
|
||||
L3d=$All{'L3d'}
|
||||
L4Comp=$All{'L4Comp'}
|
||||
L4rho=$All{'L4rho'}
|
||||
L4d=$All{'L4d'}
|
||||
L5Comp=$All{'L5Comp'}
|
||||
L5rho=$All{'L5rho'}
|
||||
L5d=$All{'L5d'}
|
||||
L6Comp=$All{'L6Comp'}
|
||||
L6rho=$All{'L6rho'}
|
||||
L6d=$All{'L6d'}
|
||||
L7Comp=$All{'L7Comp'}
|
||||
L7rho=$All{'L7rho'}
|
||||
L7d=$All{'L7d'}
|
||||
|
||||
[ProjectileParameters]
|
||||
ProjType=$All{'ProjType'}
|
||||
NProj=$All{'NProj'}
|
||||
z0=$All{'z0'}
|
||||
dz=$All{'dz'}
|
||||
E=$All{'E'}
|
||||
SigE=$All{'SigE'}
|
||||
Angle=$All{'Angle'}
|
||||
SigAngle=$All{'SigAngle'}
|
||||
Seed=$All{'Seed'}
|
||||
|
||||
[Files]
|
||||
FNPre=$All{'FNPre'}
|
||||
Path=$All{'Path'}
|
||||
|
||||
[ScanSequence]
|
||||
ScanSeq=$All{'ScanSeq'}
|
||||
ERadio=$All{'ERadio'}
|
||||
SigERadio=$All{'SigERadio'}
|
||||
NProjRadio=$All{'NProjRadio'}
|
||||
dRadio=$All{'dRadio'}
|
||||
ListRadio=$All{'ListRadio'}
|
||||
ScanList=$All{'ScanList'}
|
||||
ScanListdz=$All{'ScanListdz'}
|
||||
LoopRadio=$All{'LoopRadio'}
|
||||
SFrom=$All{'SFrom'}
|
||||
STo=$All{'STo'}
|
||||
SStep=$All{'SStep'}
|
||||
";
|
||||
my $file=Qt::FileDialog::getSaveFileName(
|
||||
"TrimSP.cfg",
|
||||
"TrimSP GUI Initialization file (*.cfg)",
|
||||
this,
|
||||
"save file dialog",
|
||||
"Choose a filename to save under");
|
||||
|
||||
# If the user gave a filename the copy to it
|
||||
if ($file ne "") {
|
||||
open (OUTF,q{>},"$file" );
|
||||
print OUTF (" $InitFile");
|
||||
close(OUTF);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user