Bug fixes.

This commit is contained in:
salman 2015-02-26 13:48:31 +01:00
parent c01b63c31c
commit a6ed2b0b54
4 changed files with 249 additions and 241 deletions

View File

@ -9,9 +9,9 @@ use TrimSPGUI4;
sub main {
my $app = Qt::Application(\@ARGV);
my $calculator = TrimSPGUI4();
$calculator->show();
my $trimsp = TrimSPGUI4();
$trimsp->show();
exit $app->exec();
}
exit main();
main();

View File

@ -5,11 +5,9 @@ use warnings;
use QtCore4;
use QtGui4;
use QtCore4::isa qw( Qt::MainWindow );
use QtCore4::isa qw( Qt::Widget );
use Ui_TrimSPGUI4;
# This is redundant
#use QtCore4::isa qw( Qt::Widget );
use QtCore4::debug qw(ambiguous);
use QtCore4::slots
test => [],
ToggleScanSingle => [],
@ -31,6 +29,7 @@ use QtCore4::slots
OpenFile => [],
SaveFile => [],
SaveFileAs => [];
use Ui_TrimSPGUI4;
sub NEW {
my ( $class, $parent ) = @_;
@ -45,11 +44,109 @@ sub child {
my $Attrib = this->findChildren($object, $name);
$Attrib = @{$Attrib}[0];
# Return handle on widget
return $Attrib
return($Attrib);
}
# Function: Returns a hash with all the values collected from the GUI.
sub CollectValues
{
my %All=();
$All{"numLayer"}=this->{ui}->numLayer->value();
# Collect layers parameters
for (my $i=1;$i<=$All{"numLayer"};$i++) {
my $LComp = "L".$i."Comp";
my $Lrho="L".$i."rho";
my $Ld="L".$i."d";
$All{"$LComp"}=this->{ui}->layerTable->item($i-1,0)->text();
$All{"$Lrho"}=this->{ui}->layerTable->item($i-1,1)->text();
$All{"$Ld"}=this->{ui}->layerTable->item($i-1,2)->text();
}
# Collect projectile parameters
$All{"projComboBox"}=this->{ui}->projComboBox->currentIndex();
$All{"numberProj"}=this->{ui}->numberProj->text();
if ($All{"numberProj"}==0) {
$All{"numberProj"}=10000;
this->{ui}->numberProj->setText("10000");
}
$All{"z0"}=this->{ui}->z0->text();
$All{"dz"}=this->{ui}->dz->text();
$All{"valEnergy"}=this->{ui}->valEnergy->text();
$All{"sigEnergy"}=this->{ui}->sigEnergy->text();
$All{"valAngle"}=this->{ui}->valAngle->text();
$All{"sigAngle"}=this->{ui}->sigAngle->text();
$All{"ranSeed"}=this->{ui}->ranSeed->text();
# Format projectile parameters
$All{"numberProj"}=sprintf("%8d",$All{"numberProj"});
$All{"z0"}=sprintf("%6.2f",$All{"z0"});
$All{"dz"}=sprintf("%6.2f",$All{"dz"});
$All{"valEnergy"}=sprintf("%11.2f",$All{"valEnergy"});
$All{"sigEnergy"}=sprintf("%8.2f",$All{"sigEnergy"});
$All{"valAngle"}=sprintf("%8.2f",$All{"valAngle"});
$All{"sigAngle"}=sprintf("%8.2f",$All{"sigAngle"});
$All{"ranSeed"}=sprintf("%6.0f.",$All{"ranSeed"});
# Collect the additional parameters
$All{"parEF"}=this->{ui}->parEF->text();
$All{"parESB"}=this->{ui}->parESB->text();
$All{"parSHEATH"}=this->{ui}->parSHEATH->text();
$All{"parERC"}=this->{ui}->parERC->text();
$All{"parRD"}=this->{ui}->parRD->text();
$All{"parCA"}=this->{ui}->parCA->text();
$All{"parKK0"}=this->{ui}->parKK0->text();
$All{"parKK0R"}=this->{ui}->parKK0R->text();
$All{"parKDEE1"}=this->{ui}->parKDEE1->text();
$All{"parKDEE2"}=this->{ui}->parKDEE2->text();
$All{"parIPOT"}=this->{ui}->parIPOT->text();
$All{"parIPOTR"}=this->{ui}->parIPOTR->text();
$All{"parIRL"}=this->{ui}->parIRL->text();
# format additional parameters
$All{"parEF"}=sprintf("%8.2f",$All{"parEF"});
$All{"parESB"}=sprintf("%8.2f",$All{"parESB"});
$All{"parSHEATH"}=sprintf("%8.2f",$All{"parSHEATH"});
$All{"parERC"}=sprintf("%8.2f",$All{"parERC"});
$All{"parRD"}=sprintf("%5.0f.",$All{"parRD"});
$All{"parCA"}=sprintf("%6.2f",$All{"parCA"});
$All{"parKK0"}=sprintf("%3d",$All{"parKK0"});
$All{"parKK0R"}=sprintf("%3d",$All{"parKK0R"});
$All{"parKDEE1"}=sprintf("%3d",$All{"parKDEE1"});
$All{"parKDEE2"}=sprintf("%3d",$All{"parKDEE2"});
$All{"parIPOT"}=sprintf("%3d",$All{"parIPOT"});
$All{"parIPOTR"}=sprintf("%3d",$All{"parIPOTR"});
$All{"parIRL"}=sprintf("%2d",$All{"parIRL"});
# Filenames etc. The filename should not have white spaces
$All{"fileNamePrefix"}=this->{ui}->fileNamePrefix->text();
$All{"fileNamePrefix"}=~ s/\s+//g;
$All{"workPath"}=this->{ui}->workPath->text();
# Scan parameters only if selected
$All{"scanSeq"}=this->{ui}->scanSeq->isChecked();
$All{"comboScan"}=this->{ui}->comboScan->currentIndex();
$All{"scandL"}=this->{ui}->scandL->value();
$All{"radioList"}=this->{ui}->radioList->isChecked();
$All{"radioLoop"}=this->{ui}->radioLoop->isChecked();
$All{"scanList"}=this->{ui}->scanList->text();
# Remove any white spaces
$All{"scanList"} =~ s/\s+//g;
$All{"scanListdz"}=this->{ui}->scanListdz->text();
# Remove any white spaces
$All{"scanListdz"} =~ s/\s+//g;
# These should be numeric
$All{"scanFrom"}=this->{ui}->scanFrom->text();
$All{"scanTo"}=this->{ui}->scanTo->text();
$All{"scanStep"}=this->{ui}->scanStep->text();
$All{"scanFrom"}=1*$All{"scanFrom"};
$All{"scanTo"}=1*$All{"scanTo"};
$All{"scanStep"}=1*$All{"scanStep"};
# Return values to caller
return(%All);
}
# Subroutine: Toggle between scan/single run mode and setup scans tab
sub ToggleScanSingle()
sub ToggleScanSingle
{
# First collect some information
my %All=();
@ -154,22 +251,26 @@ sub ToggleScanSingle()
}
}
# Subroutine: Enable layers up to required and disable the rest
sub PrepLayers()
# Subroutine: Add/remove layers in the table as required
sub PrepLayers
{
my %All=();
# Get number of layers to define
$All{"numLayer"}=this->{ui}->numLayer->value();
# Set appropriate number of rows
this->{ui}->layerTable->setRowCount($All{"numLayer"});
# Insert item (needed only for automatic density update)
my $cell = Qt::TableWidgetItem();
this->{ui}->layerTable->setItem($All{"numLayer"}-1,1,$cell);
# Insert item if it does not exist (needed only for automatic density
# update)
my $cell = this->{ui}->layerTable->item($All{"numLayer"}-1,1);
if (!$cell) {
$cell = Qt::TableWidgetItem();
this->{ui}->layerTable->setItem($All{"numLayer"}-1,1,$cell);
}
}
# Subroutine: Set sane default values for projectile energy distribution and angles
sub ProjSmartDefaults()
# Subroutine: Set sane default values for projectile energy
# distribution and angles
sub ProjSmartDefaults
{
my %All=();
# Get typeof projectile
@ -185,108 +286,9 @@ sub ProjSmartDefaults()
}
}
# Function: Returns a hash with all the values collected from the GUI.
sub CollectValues()
{
my %All=();
$All{"numLayer"}=this->{ui}->numLayer->value();
# Collect layers parameters
for (my $i=1;$i<=$All{"numLayer"};$i++) {
my $LComp = "L".$i."Comp";
my $Lrho="L".$i."rho";
my $Ld="L".$i."d";
$All{"$LComp"}=this->{ui}->layerTable->item($i-1,0)->text();
$All{"$Lrho"}=this->{ui}->layerTable->item($i-1,1)->text();
$All{"$Ld"}=this->{ui}->layerTable->item($i-1,2)->text();
}
# Collect projectile parameters
$All{"projComboBox"}=this->{ui}->projComboBox->currentIndex();
$All{"numberProj"}=this->{ui}->numberProj->text();
if ($All{"numberProj"}==0) {
$All{"numberProj"}=10000;
this->{ui}->numberProj->setText("10000");
}
$All{"z0"}=this->{ui}->z0->text();
$All{"dz"}=this->{ui}->dz->text();
$All{"valEnergy"}=this->{ui}->valEnergy->text();
$All{"sigEnergy"}=this->{ui}->sigEnergy->text();
$All{"valAngle"}=this->{ui}->valAngle->text();
$All{"sigAngle"}=this->{ui}->sigAngle->text();
$All{"ranSeed"}=this->{ui}->ranSeed->text();
# Format projectile parameters
$All{"numberProj"}=sprintf("%8d",$All{"numberProj"});
$All{"z0"}=sprintf("%6.2f",$All{"z0"});
$All{"dz"}=sprintf("%6.2f",$All{"dz"});
$All{"valEnergy"}=sprintf("%11.2f",$All{"valEnergy"});
$All{"sigEnergy"}=sprintf("%8.2f",$All{"sigEnergy"});
$All{"valAngle"}=sprintf("%8.2f",$All{"valAngle"});
$All{"sigAngle"}=sprintf("%8.2f",$All{"sigAngle"});
$All{"ranSeed"}=sprintf("%6.0f.",$All{"ranSeed"});
# Collect the additional parameters
$All{"parEF"}=this->{ui}->parEF->text();
$All{"parESB"}=this->{ui}->parESB->text();
$All{"parSHEATH"}=this->{ui}->parSHEATH->text();
$All{"parERC"}=this->{ui}->parERC->text();
$All{"parRD"}=this->{ui}->parRD->text();
$All{"parCA"}=this->{ui}->parCA->text();
$All{"parKK0"}=this->{ui}->parKK0->text();
$All{"parKK0R"}=this->{ui}->parKK0R->text();
$All{"parKDEE1"}=this->{ui}->parKDEE1->text();
$All{"parKDEE2"}=this->{ui}->parKDEE2->text();
$All{"parIPOT"}=this->{ui}->parIPOT->text();
$All{"parIPOTR"}=this->{ui}->parIPOTR->text();
$All{"parIRL"}=this->{ui}->parIRL->text();
# format additional parameters
$All{"parEF"}=sprintf("%8.2f",$All{"parEF"});
$All{"parESB"}=sprintf("%8.2f",$All{"parESB"});
$All{"parSHEATH"}=sprintf("%8.2f",$All{"parSHEATH"});
$All{"parERC"}=sprintf("%8.2f",$All{"parERC"});
$All{"parRD"}=sprintf("%5.0f.",$All{"parRD"});
$All{"parCA"}=sprintf("%6.2f",$All{"parCA"});
$All{"parKK0"}=sprintf("%3d",$All{"parKK0"});
$All{"parKK0R"}=sprintf("%3d",$All{"parKK0R"});
$All{"parKDEE1"}=sprintf("%3d",$All{"parKDEE1"});
$All{"parKDEE2"}=sprintf("%3d",$All{"parKDEE2"});
$All{"parIPOT"}=sprintf("%3d",$All{"parIPOT"});
$All{"parIPOTR"}=sprintf("%3d",$All{"parIPOTR"});
$All{"parIRL"}=sprintf("%2d",$All{"parIRL"});
# Filenames etc. The filename should not have white spaces
$All{"fileNamePrefix"}=this->{ui}->fileNamePrefix->text();
$All{"fileNamePrefix"}=~ s/\s+//g;
$All{"workPath"}=this->{ui}->workPath->text();
# Scan parameters only if selected
$All{"scanSeq"}=this->{ui}->scanSeq->isChecked();
$All{"comboScan"}=this->{ui}->comboScan->currentIndex();
$All{"scandL"}=this->{ui}->scandL->value();
$All{"radioList"}=this->{ui}->radioList->isChecked();
$All{"radioLoop"}=this->{ui}->radioLoop->isChecked();
$All{"scanList"}=this->{ui}->scanList->text();
# Remove any white spaces
$All{"scanList"} =~ s/\s+//g;
$All{"scanListdz"}=this->{ui}->scanListdz->text();
# Remove any white spaces
$All{"scanListdz"} =~ s/\s+//g;
# These should be numeric
$All{"scanFrom"}=this->{ui}->scanFrom->text();
$All{"scanTo"}=this->{ui}->scanTo->text();
$All{"scanStep"}=this->{ui}->scanStep->text();
$All{"scanFrom"}=1*$All{"scanFrom"};
$All{"scanTo"}=1*$All{"scanTo"};
$All{"scanStep"}=1*$All{"scanStep"};
# Return values to caller
return(%All);
}
# Function: Create and return input file for the Trim.SP simulation
# binary
sub CreateInpFile()
sub CreateInpFile
{
use Chem;
# The proper way I think is not to have scan sequences implimented
@ -382,9 +384,12 @@ sub CreateInpFile()
if ($Sum==0) {$Sum=1;}
my @Els = keys %LElComp;
#print join("--",@Els)."\n";
my $El="";
for (my $NEl=1;$NEl<=5;$NEl++) {
my $El = $Els[$NEl-1];
if ($NEl <= $#Els) {
$El = $Els[$NEl-1];
}
my $LEkey = "L".$i."EL";
my $ElZ = Chem::Zof($El);
my $ElW = Chem::Massof($El);
@ -411,7 +416,7 @@ sub CreateInpFile()
}
foreach my $key (keys %All) {
print $key,$All{$key},"\n";
# print $key,$All{$key},"\n";
if ($All{$key} ne ""){
$TemplateFile =~ s/$key/$All{$key}/;
# Seed repeats three times
@ -464,7 +469,7 @@ sub GUIPath
# Subroutine: Start the simulation with the current parameters
sub StartSequenceOne()
sub StartSequenceOne
{
my %All = CollectValues();
my @SValues=();
@ -577,7 +582,7 @@ sub StartSequenceOne()
# Subroutine: Select or create work directory
sub DirectoryBrowse()
sub DirectoryBrowse
{
my $Path = this->{ui}->workPath->text();
my $FileBrowser = Qt::FileDialog::getExistingDirectory(
@ -604,7 +609,7 @@ sub DirectoryBrowse()
# Subroutine: Quit dialog with confirmation
sub ConfirmQuit()
sub ConfirmQuit
{
my $Ans = Qt::MessageBox::question( this, "Quit?","Are you sure you want to quit?","&Yes","&No","",0,1);
if ($Ans==0) {
@ -617,7 +622,7 @@ sub ConfirmQuit()
# From here it is all menu actions
# Subroutine: Open a configuration file
sub OpenFile()
sub OpenFile
{
# Types of different input
my %Types = ();
@ -677,7 +682,7 @@ sub OpenFile()
}
# Subroutine: Save configuration file to TrimSP.cfg
sub SaveFile()
sub SaveFile
{
my %All = CollectValues();
my $InitFile="
@ -732,7 +737,7 @@ scanStep=$All{'scanStep'}
}
# Subroutine: Save As configuration file
sub SaveFileAs()
sub SaveFileAs
{
my %All = CollectValues();
my $InitFile="
@ -794,7 +799,7 @@ scanStep=$All{'scanStep'}
}
# Subroutine: Plot implantation profiles using root macro
sub PlotProfiles()
sub PlotProfiles
{
my $Path=this->{ui}->workPath->text();
my $files_ref=Qt::FileDialog::getOpenFileNames(
@ -807,6 +812,7 @@ sub PlotProfiles()
# Do "natural" sorting on the file name list
# This will produce (hopefully) a plot with largest needed depth scale
my @files = grep {s/(^|\D)0+(\d)/$1$2/g,1} sort grep {s/(\d+)/sprintf"%06.6d",$1/ge,1} @files_tmp;
# my @files = @files_tmp;
my $filenames=join(",",@files);
@ -820,7 +826,7 @@ sub PlotProfiles()
# Subroutine: Plot implantation fractions in the different layers using
# a root macro
sub PlotFraction()
sub PlotFraction
{
my $Path=this->{ui}->workPath->text();
my $file=Qt::FileDialog::getOpenFileName(
@ -839,9 +845,9 @@ sub PlotFraction()
}
# Subroutine: Plot mean depth and straggeling
# Subroutine: Plot mean depth and straggeling using
# a root macro
sub PlotMean()
sub PlotMean
{
my $Path=this->{ui}->workPath->text();
my $file=Qt::FileDialog::getOpenFileName(
@ -861,7 +867,7 @@ sub PlotMean()
}
# Subroutine: Help window contents
sub helpContentsAction()
sub helpContentsAction
{
my $HelpText="
This is a GUI that uses the Trim.SP simulation binary to calculate the implantation profiles of implanted projectiles in a multilayer thin film structure.
@ -885,7 +891,7 @@ Last modified 29 Jan. 2013
}
# Subroutine: About window contents
sub helpAboutAction()
sub helpAboutAction
{
my $HelpText="TrimSPGUI is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
@ -900,7 +906,7 @@ Copyright 2009-2013 by Zaher Salman.
}
# Subroutine: Find density of material from database
sub findDensity()
sub findDensity
{
use Chem;
# This is needed only for changes in the first column
@ -922,7 +928,7 @@ sub findDensity()
}
# Subroutine: keep for tests and debugging
sub test()
sub test
{
my $att = child("Qt::LineEdit","z0");
my $test2= $att->text();

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>709</width>
<width>712</width>
<height>622</height>
</rect>
</property>
@ -104,6 +104,18 @@
</item>
<item row="1" column="0" colspan="3">
<widget class="QTableWidget" name="layerTable">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>409</width>
<height>0</height>
</size>
</property>
<property name="rowCount">
<number>1</number>
</property>
@ -823,7 +835,10 @@
</rect>
</property>
<property name="maximum">
<number>1</number>
<number>2</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
<widget class="QLabel" name="textLabelIPOTR">
@ -1495,7 +1510,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>709</width>
<width>712</width>
<height>20</height>
</rect>
</property>
@ -1723,22 +1738,6 @@
</tabstops>
<resources/>
<connections>
<connection>
<sender>Start</sender>
<signal>clicked()</signal>
<receiver>TrimSPGUI4</receiver>
<slot>CollectValues()</slot>
<hints>
<hint type="sourcelabel">
<x>490</x>
<y>552</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>Browse</sender>
<signal>clicked()</signal>
@ -1750,8 +1749,8 @@
<y>425</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
<x>709</x>
<y>458</y>
</hint>
</hints>
</connection>
@ -1766,8 +1765,8 @@
<y>550</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
<x>707</x>
<y>507</y>
</hint>
</hints>
</connection>
@ -1942,8 +1941,8 @@
<y>110</y>
</hint>
<hint type="destinationlabel">
<x>706</x>
<y>129</y>
<x>749</x>
<y>111</y>
</hint>
</hints>
</connection>
@ -1958,8 +1957,8 @@
<y>71</y>
</hint>
<hint type="destinationlabel">
<x>706</x>
<y>323</y>
<x>457</x>
<y>65</y>
</hint>
</hints>
</connection>
@ -1974,8 +1973,8 @@
<y>91</y>
</hint>
<hint type="destinationlabel">
<x>706</x>
<y>509</y>
<x>499</x>
<y>88</y>
</hint>
</hints>
</connection>
@ -1991,7 +1990,7 @@
</hint>
<hint type="destinationlabel">
<x>706</x>
<y>540</y>
<y>123</y>
</hint>
</hints>
</connection>
@ -2006,8 +2005,8 @@
<y>228</y>
</hint>
<hint type="destinationlabel">
<x>706</x>
<y>462</y>
<x>701</x>
<y>228</y>
</hint>
</hints>
</connection>
@ -2022,8 +2021,8 @@
<y>94</y>
</hint>
<hint type="destinationlabel">
<x>706</x>
<y>237</y>
<x>634</x>
<y>99</y>
</hint>
</hints>
</connection>
@ -2038,8 +2037,8 @@
<y>89</y>
</hint>
<hint type="destinationlabel">
<x>706</x>
<y>230</y>
<x>726</x>
<y>91</y>
</hint>
</hints>
</connection>
@ -2054,8 +2053,8 @@
<y>107</y>
</hint>
<hint type="destinationlabel">
<x>706</x>
<y>221</y>
<x>731</x>
<y>103</y>
</hint>
</hints>
</connection>
@ -2070,8 +2069,8 @@
<y>162</y>
</hint>
<hint type="destinationlabel">
<x>706</x>
<y>307</y>
<x>727</x>
<y>154</y>
</hint>
</hints>
</connection>
@ -2086,7 +2085,7 @@
<y>90</y>
</hint>
<hint type="destinationlabel">
<x>755</x>
<x>709</x>
<y>68</y>
</hint>
</hints>
@ -2102,8 +2101,8 @@
<y>332</y>
</hint>
<hint type="destinationlabel">
<x>432</x>
<y>310</y>
<x>704</x>
<y>291</y>
</hint>
</hints>
</connection>

View File

@ -5,7 +5,7 @@
#################################################################################
## Form generated from reading UI file 'TrimSPGUI4.ui'
##
## Created: Wed Feb 25 10:05:09 2015
## Created: Thu Feb 26 13:34:12 2015
## by: Qt User Interface Compiler version 4.8.6
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
@ -501,7 +501,7 @@ sub setupUi {
if ( !defined $trimSPGUI4->objectName() ) {
$trimSPGUI4->setObjectName( "trimSPGUI4" );
}
$trimSPGUI4->resize( 709, 622 );
$trimSPGUI4->resize( 712, 622 );
my $sizePolicy = Qt::SizePolicy( Qt::SizePolicy::Fixed(), Qt::SizePolicy::Fixed() );
$self->{$sizePolicy} = $sizePolicy;
$sizePolicy->setHorizontalStretch( 0 );
@ -617,6 +617,13 @@ sub setupUi {
my $layerTable = Qt::TableWidget( $layoutWidget );
$self->{layerTable} = $layerTable;
$layerTable->setObjectName( "layerTable" );
my $sizePolicy1 = Qt::SizePolicy( Qt::SizePolicy::Expanding(), Qt::SizePolicy::Expanding() );
$self->{$sizePolicy1} = $sizePolicy1;
$sizePolicy1->setHorizontalStretch( 0 );
$sizePolicy1->setVerticalStretch( 0 );
$sizePolicy1->setHeightForWidth( $layerTable->sizePolicy()->hasHeightForWidth() );
$layerTable->setSizePolicy( $sizePolicy1 );
$layerTable->setMinimumSize( Qt::Size(409, 0) );
$layerTable->setRowCount( 1 );
$layerTable->setColumnCount( 3 );
@ -637,29 +644,29 @@ sub setupUi {
$self->{numberLabel} = $numberLabel;
$numberLabel->setObjectName( "numberLabel" );
$numberLabel->setGeometry( Qt::Rect(11, 45, 134, 16) );
my $sizePolicy1 = Qt::SizePolicy( Qt::SizePolicy::Preferred(), Qt::SizePolicy::Preferred() );
$self->{$sizePolicy1} = $sizePolicy1;
$sizePolicy1->setHorizontalStretch( 0 );
$sizePolicy1->setVerticalStretch( 0 );
$sizePolicy1->setHeightForWidth( $numberLabel->sizePolicy()->hasHeightForWidth() );
$numberLabel->setSizePolicy( $sizePolicy1 );
my $sizePolicy2 = Qt::SizePolicy( Qt::SizePolicy::Preferred(), Qt::SizePolicy::Preferred() );
$self->{$sizePolicy2} = $sizePolicy2;
$sizePolicy2->setHorizontalStretch( 0 );
$sizePolicy2->setVerticalStretch( 0 );
$sizePolicy2->setHeightForWidth( $numberLabel->sizePolicy()->hasHeightForWidth() );
$numberLabel->setSizePolicy( $sizePolicy2 );
$numberLabel->setWordWrap( 0 );
my $projComboBox = Qt::ComboBox( $projParam );
$self->{projComboBox} = $projComboBox;
$projComboBox->setObjectName( "projComboBox" );
$projComboBox->setGeometry( Qt::Rect(151, 21, 80, 20) );
my $sizePolicy2 = Qt::SizePolicy( Qt::SizePolicy::Ignored(), Qt::SizePolicy::Preferred() );
$self->{$sizePolicy2} = $sizePolicy2;
$sizePolicy2->setHorizontalStretch( 0 );
$sizePolicy2->setVerticalStretch( 0 );
$sizePolicy2->setHeightForWidth( $projComboBox->sizePolicy()->hasHeightForWidth() );
$projComboBox->setSizePolicy( $sizePolicy2 );
my $sizePolicy3 = Qt::SizePolicy( Qt::SizePolicy::Ignored(), Qt::SizePolicy::Preferred() );
$self->{$sizePolicy3} = $sizePolicy3;
$sizePolicy3->setHorizontalStretch( 0 );
$sizePolicy3->setVerticalStretch( 0 );
$sizePolicy3->setHeightForWidth( $projComboBox->sizePolicy()->hasHeightForWidth() );
$projComboBox->setSizePolicy( $sizePolicy3 );
my $dz = Qt::LineEdit( $projParam );
$self->{dz} = $dz;
$dz->setObjectName( "dz" );
$dz->setGeometry( Qt::Rect(151, 92, 80, 20) );
$sizePolicy2->setHeightForWidth( $dz->sizePolicy()->hasHeightForWidth() );
$dz->setSizePolicy( $sizePolicy2 );
$sizePolicy3->setHeightForWidth( $dz->sizePolicy()->hasHeightForWidth() );
$dz->setSizePolicy( $sizePolicy3 );
my $energyLabel = Qt::Label( $projParam );
$self->{energyLabel} = $energyLabel;
$energyLabel->setObjectName( "energyLabel" );
@ -669,8 +676,8 @@ sub setupUi {
$self->{numberProj} = $numberProj;
$numberProj->setObjectName( "numberProj" );
$numberProj->setGeometry( Qt::Rect(151, 45, 80, 20) );
$sizePolicy2->setHeightForWidth( $numberProj->sizePolicy()->hasHeightForWidth() );
$numberProj->setSizePolicy( $sizePolicy2 );
$sizePolicy3->setHeightForWidth( $numberProj->sizePolicy()->hasHeightForWidth() );
$numberProj->setSizePolicy( $sizePolicy3 );
$numberProj->setMaximumSize( Qt::Size(32767, 32767) );
$numberProj->setWhatsThis( "" );
$numberProj->setAccessibleName( "" );
@ -684,8 +691,8 @@ sub setupUi {
$self->{valAngle} = $valAngle;
$valAngle->setObjectName( "valAngle" );
$valAngle->setGeometry( Qt::Rect(151, 162, 80, 21) );
$sizePolicy2->setHeightForWidth( $valAngle->sizePolicy()->hasHeightForWidth() );
$valAngle->setSizePolicy( $sizePolicy2 );
$sizePolicy3->setHeightForWidth( $valAngle->sizePolicy()->hasHeightForWidth() );
$valAngle->setSizePolicy( $sizePolicy3 );
my $sigAngleLabel = Qt::Label( $projParam );
$self->{sigAngleLabel} = $sigAngleLabel;
$sigAngleLabel->setObjectName( "sigAngleLabel" );
@ -695,8 +702,8 @@ sub setupUi {
$self->{sigAngle} = $sigAngle;
$sigAngle->setObjectName( "sigAngle" );
$sigAngle->setGeometry( Qt::Rect(151, 186, 80, 20) );
$sizePolicy2->setHeightForWidth( $sigAngle->sizePolicy()->hasHeightForWidth() );
$sigAngle->setSizePolicy( $sizePolicy2 );
$sizePolicy3->setHeightForWidth( $sigAngle->sizePolicy()->hasHeightForWidth() );
$sigAngle->setSizePolicy( $sizePolicy3 );
my $seedLabel = Qt::Label( $projParam );
$self->{seedLabel} = $seedLabel;
$seedLabel->setObjectName( "seedLabel" );
@ -706,27 +713,27 @@ sub setupUi {
$self->{sigEnergy} = $sigEnergy;
$sigEnergy->setObjectName( "sigEnergy" );
$sigEnergy->setGeometry( Qt::Rect(151, 139, 80, 20) );
$sizePolicy2->setHeightForWidth( $sigEnergy->sizePolicy()->hasHeightForWidth() );
$sigEnergy->setSizePolicy( $sizePolicy2 );
$sizePolicy3->setHeightForWidth( $sigEnergy->sizePolicy()->hasHeightForWidth() );
$sigEnergy->setSizePolicy( $sizePolicy3 );
my $z0 = Qt::LineEdit( $projParam );
$self->{z0} = $z0;
$z0->setObjectName( "z0" );
$z0->setGeometry( Qt::Rect(151, 68, 80, 21) );
$sizePolicy2->setHeightForWidth( $z0->sizePolicy()->hasHeightForWidth() );
$z0->setSizePolicy( $sizePolicy2 );
$sizePolicy3->setHeightForWidth( $z0->sizePolicy()->hasHeightForWidth() );
$z0->setSizePolicy( $sizePolicy3 );
$z0->setMaximumSize( Qt::Size(32767, 32767) );
my $valEnergy = Qt::LineEdit( $projParam );
$self->{valEnergy} = $valEnergy;
$valEnergy->setObjectName( "valEnergy" );
$valEnergy->setGeometry( Qt::Rect(151, 115, 80, 21) );
$sizePolicy2->setHeightForWidth( $valEnergy->sizePolicy()->hasHeightForWidth() );
$valEnergy->setSizePolicy( $sizePolicy2 );
$sizePolicy3->setHeightForWidth( $valEnergy->sizePolicy()->hasHeightForWidth() );
$valEnergy->setSizePolicy( $sizePolicy3 );
my $ranSeed = Qt::LineEdit( $projParam );
$self->{ranSeed} = $ranSeed;
$ranSeed->setObjectName( "ranSeed" );
$ranSeed->setGeometry( Qt::Rect(151, 209, 80, 21) );
$sizePolicy2->setHeightForWidth( $ranSeed->sizePolicy()->hasHeightForWidth() );
$ranSeed->setSizePolicy( $sizePolicy2 );
$sizePolicy3->setHeightForWidth( $ranSeed->sizePolicy()->hasHeightForWidth() );
$ranSeed->setSizePolicy( $sizePolicy3 );
my $albleLabel = Qt::Label( $projParam );
$self->{albleLabel} = $albleLabel;
$albleLabel->setObjectName( "albleLabel" );
@ -789,12 +796,12 @@ sub setupUi {
my $browse = Qt::PushButton( $layout14 );
$self->{browse} = $browse;
$browse->setObjectName( "browse" );
my $sizePolicy3 = Qt::SizePolicy( Qt::SizePolicy::Expanding(), Qt::SizePolicy::Fixed() );
$self->{$sizePolicy3} = $sizePolicy3;
$sizePolicy3->setHorizontalStretch( 0 );
$sizePolicy3->setVerticalStretch( 0 );
$sizePolicy3->setHeightForWidth( $browse->sizePolicy()->hasHeightForWidth() );
$browse->setSizePolicy( $sizePolicy3 );
my $sizePolicy4 = Qt::SizePolicy( Qt::SizePolicy::Expanding(), Qt::SizePolicy::Fixed() );
$self->{$sizePolicy4} = $sizePolicy4;
$sizePolicy4->setHorizontalStretch( 0 );
$sizePolicy4->setVerticalStretch( 0 );
$sizePolicy4->setHeightForWidth( $browse->sizePolicy()->hasHeightForWidth() );
$browse->setSizePolicy( $sizePolicy4 );
$hboxLayout->addWidget( $browse );
@ -805,12 +812,12 @@ sub setupUi {
$self->{splitter} = $splitter;
$splitter->setObjectName( "splitter" );
$splitter->setGeometry( Qt::Rect(10, 220, 221, 24) );
my $sizePolicy4 = Qt::SizePolicy( Qt::SizePolicy::Preferred(), Qt::SizePolicy::Minimum() );
$self->{$sizePolicy4} = $sizePolicy4;
$sizePolicy4->setHorizontalStretch( 0 );
$sizePolicy4->setVerticalStretch( 0 );
$sizePolicy4->setHeightForWidth( $splitter->sizePolicy()->hasHeightForWidth() );
$splitter->setSizePolicy( $sizePolicy4 );
my $sizePolicy5 = Qt::SizePolicy( Qt::SizePolicy::Preferred(), Qt::SizePolicy::Minimum() );
$self->{$sizePolicy5} = $sizePolicy5;
$sizePolicy5->setHorizontalStretch( 0 );
$sizePolicy5->setVerticalStretch( 0 );
$sizePolicy5->setHeightForWidth( $splitter->sizePolicy()->hasHeightForWidth() );
$splitter->setSizePolicy( $sizePolicy5 );
$splitter->setOrientation( Qt::Horizontal() );
my $start = Qt::PushButton( $splitter );
$self->{start} = $start;
@ -852,12 +859,8 @@ sub setupUi {
$self->{parCA} = $parCA;
$parCA->setObjectName( "parCA" );
$parCA->setGeometry( Qt::Rect(75, 147, 52, 25) );
my $sizePolicy5 = Qt::SizePolicy( Qt::SizePolicy::Expanding(), Qt::SizePolicy::Expanding() );
$self->{$sizePolicy5} = $sizePolicy5;
$sizePolicy5->setHorizontalStretch( 0 );
$sizePolicy5->setVerticalStretch( 0 );
$sizePolicy5->setHeightForWidth( $parCA->sizePolicy()->hasHeightForWidth() );
$parCA->setSizePolicy( $sizePolicy5 );
$sizePolicy1->setHeightForWidth( $parCA->sizePolicy()->hasHeightForWidth() );
$parCA->setSizePolicy( $sizePolicy1 );
my $textLabelIRL = Qt::Label( $addParam );
$self->{textLabelIRL} = $textLabelIRL;
$textLabelIRL->setObjectName( "textLabelIRL" );
@ -884,7 +887,8 @@ sub setupUi {
$self->{parIRL} = $parIRL;
$parIRL->setObjectName( "parIRL" );
$parIRL->setGeometry( Qt::Rect(184, 171, 52, 26) );
$parIRL->setMaximum( 1 );
$parIRL->setMaximum( 2 );
$parIRL->setValue( 0 );
my $textLabelIPOTR = Qt::Label( $addParam );
$self->{textLabelIPOTR} = $textLabelIPOTR;
$textLabelIPOTR->setObjectName( "textLabelIPOTR" );
@ -905,8 +909,8 @@ sub setupUi {
$self->{parRD} = $parRD;
$parRD->setObjectName( "parRD" );
$parRD->setGeometry( Qt::Rect(75, 122, 52, 25) );
$sizePolicy5->setHeightForWidth( $parRD->sizePolicy()->hasHeightForWidth() );
$parRD->setSizePolicy( $sizePolicy5 );
$sizePolicy1->setHeightForWidth( $parRD->sizePolicy()->hasHeightForWidth() );
$parRD->setSizePolicy( $sizePolicy1 );
my $textLabelCA = Qt::Label( $addParam );
$self->{textLabelCA} = $textLabelCA;
$textLabelCA->setObjectName( "textLabelCA" );
@ -916,8 +920,8 @@ sub setupUi {
$self->{parESB} = $parESB;
$parESB->setObjectName( "parESB" );
$parESB->setGeometry( Qt::Rect(75, 46, 52, 25) );
$sizePolicy5->setHeightForWidth( $parESB->sizePolicy()->hasHeightForWidth() );
$parESB->setSizePolicy( $sizePolicy5 );
$sizePolicy1->setHeightForWidth( $parESB->sizePolicy()->hasHeightForWidth() );
$parESB->setSizePolicy( $sizePolicy1 );
my $textLabelSHEATH = Qt::Label( $addParam );
$self->{textLabelSHEATH} = $textLabelSHEATH;
$textLabelSHEATH->setObjectName( "textLabelSHEATH" );
@ -937,15 +941,15 @@ sub setupUi {
$self->{parEF} = $parEF;
$parEF->setObjectName( "parEF" );
$parEF->setGeometry( Qt::Rect(75, 21, 52, 25) );
$sizePolicy5->setHeightForWidth( $parEF->sizePolicy()->hasHeightForWidth() );
$parEF->setSizePolicy( $sizePolicy5 );
$sizePolicy1->setHeightForWidth( $parEF->sizePolicy()->hasHeightForWidth() );
$parEF->setSizePolicy( $sizePolicy1 );
my $lineEditEmpty = Qt::LineEdit( $addParam );
$self->{lineEditEmpty} = $lineEditEmpty;
$lineEditEmpty->setObjectName( "lineEditEmpty" );
$lineEditEmpty->setEnabled( 0 );
$lineEditEmpty->setGeometry( Qt::Rect(75, 170, 52, 25) );
$sizePolicy5->setHeightForWidth( $lineEditEmpty->sizePolicy()->hasHeightForWidth() );
$lineEditEmpty->setSizePolicy( $sizePolicy5 );
$sizePolicy1->setHeightForWidth( $lineEditEmpty->sizePolicy()->hasHeightForWidth() );
$lineEditEmpty->setSizePolicy( $sizePolicy1 );
my $parKDEE2 = Qt::SpinBox( $addParam );
$self->{parKDEE2} = $parKDEE2;
$parKDEE2->setObjectName( "parKDEE2" );
@ -957,8 +961,8 @@ sub setupUi {
$self->{parERC} = $parERC;
$parERC->setObjectName( "parERC" );
$parERC->setGeometry( Qt::Rect(75, 96, 52, 26) );
$sizePolicy5->setHeightForWidth( $parERC->sizePolicy()->hasHeightForWidth() );
$parERC->setSizePolicy( $sizePolicy5 );
$sizePolicy1->setHeightForWidth( $parERC->sizePolicy()->hasHeightForWidth() );
$parERC->setSizePolicy( $sizePolicy1 );
my $textLabelKK0R = Qt::Label( $addParam );
$self->{textLabelKK0R} = $textLabelKK0R;
$textLabelKK0R->setObjectName( "textLabelKK0R" );
@ -985,8 +989,8 @@ sub setupUi {
$self->{parSHEATH} = $parSHEATH;
$parSHEATH->setObjectName( "parSHEATH" );
$parSHEATH->setGeometry( Qt::Rect(75, 71, 52, 25) );
$sizePolicy5->setHeightForWidth( $parSHEATH->sizePolicy()->hasHeightForWidth() );
$parSHEATH->setSizePolicy( $sizePolicy5 );
$sizePolicy1->setHeightForWidth( $parSHEATH->sizePolicy()->hasHeightForWidth() );
$parSHEATH->setSizePolicy( $sizePolicy1 );
my $parKDEE1 = Qt::SpinBox( $addParam );
$self->{parKDEE1} = $parKDEE1;
$parKDEE1->setObjectName( "parKDEE1" );
@ -1218,7 +1222,7 @@ sub setupUi {
my $menuBar = Qt::MenuBar( $trimSPGUI4 );
$self->{menuBar} = $menuBar;
$menuBar->setObjectName( "menuBar" );
$menuBar->setGeometry( Qt::Rect(0, 0, 709, 20) );
$menuBar->setGeometry( Qt::Rect(0, 0, 712, 20) );
my $file = Qt::Menu( $menuBar );
$self->{file} = $file;
$file->setObjectName( "file" );
@ -1284,7 +1288,6 @@ sub setupUi {
$helpMenu->addAction( $helpAboutAction );
$self->retranslateUi( $trimSPGUI4 );
Qt::Object::connect($start, SIGNAL 'clicked()' , $trimSPGUI4, SLOT 'CollectValues()' );
Qt::Object::connect($browse, SIGNAL 'clicked()' , $trimSPGUI4, SLOT 'DirectoryBrowse()' );
Qt::Object::connect($quit, SIGNAL 'clicked()' , $trimSPGUI4, SLOT 'ConfirmQuit()' );
Qt::Object::connect($fileSaveAction, SIGNAL 'activated()' , $trimSPGUI4, SLOT 'SaveFile()' );