From a6ed2b0b5486981a6ea2203657ee86a0114ecb2e Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Thu, 26 Feb 2015 13:48:31 +0100 Subject: [PATCH] Bug fixes. --- trimsp/src/TrimSPGUI4/TrimSP.pl | 6 +- trimsp/src/TrimSPGUI4/TrimSPGUI4.pm | 270 +++++++++++++------------ trimsp/src/TrimSPGUI4/TrimSPGUI4.ui | 85 ++++---- trimsp/src/TrimSPGUI4/Ui_TrimSPGUI4.pm | 129 ++++++------ 4 files changed, 249 insertions(+), 241 deletions(-) diff --git a/trimsp/src/TrimSPGUI4/TrimSP.pl b/trimsp/src/TrimSPGUI4/TrimSP.pl index 7f2a246..fceec03 100755 --- a/trimsp/src/TrimSPGUI4/TrimSP.pl +++ b/trimsp/src/TrimSPGUI4/TrimSP.pl @@ -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(); diff --git a/trimsp/src/TrimSPGUI4/TrimSPGUI4.pm b/trimsp/src/TrimSPGUI4/TrimSPGUI4.pm index db27294..88d5255 100644 --- a/trimsp/src/TrimSPGUI4/TrimSPGUI4.pm +++ b/trimsp/src/TrimSPGUI4/TrimSPGUI4.pm @@ -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(); diff --git a/trimsp/src/TrimSPGUI4/TrimSPGUI4.ui b/trimsp/src/TrimSPGUI4/TrimSPGUI4.ui index 6a5a1c4..75ee5ca 100644 --- a/trimsp/src/TrimSPGUI4/TrimSPGUI4.ui +++ b/trimsp/src/TrimSPGUI4/TrimSPGUI4.ui @@ -6,7 +6,7 @@ 0 0 - 709 + 712 622 @@ -104,6 +104,18 @@ + + + 0 + 0 + + + + + 409 + 0 + + 1 @@ -823,7 +835,10 @@ - 1 + 2 + + + 0 @@ -1495,7 +1510,7 @@ 0 0 - 709 + 712 20 @@ -1723,22 +1738,6 @@ - - Start - clicked() - TrimSPGUI4 - CollectValues() - - - 490 - 552 - - - 20 - 20 - - - Browse clicked() @@ -1750,8 +1749,8 @@ 425 - 20 - 20 + 709 + 458 @@ -1766,8 +1765,8 @@ 550 - 20 - 20 + 707 + 507 @@ -1942,8 +1941,8 @@ 110 - 706 - 129 + 749 + 111 @@ -1958,8 +1957,8 @@ 71 - 706 - 323 + 457 + 65 @@ -1974,8 +1973,8 @@ 91 - 706 - 509 + 499 + 88 @@ -1991,7 +1990,7 @@ 706 - 540 + 123 @@ -2006,8 +2005,8 @@ 228 - 706 - 462 + 701 + 228 @@ -2022,8 +2021,8 @@ 94 - 706 - 237 + 634 + 99 @@ -2038,8 +2037,8 @@ 89 - 706 - 230 + 726 + 91 @@ -2054,8 +2053,8 @@ 107 - 706 - 221 + 731 + 103 @@ -2070,8 +2069,8 @@ 162 - 706 - 307 + 727 + 154 @@ -2086,7 +2085,7 @@ 90 - 755 + 709 68 @@ -2102,8 +2101,8 @@ 332 - 432 - 310 + 704 + 291 diff --git a/trimsp/src/TrimSPGUI4/Ui_TrimSPGUI4.pm b/trimsp/src/TrimSPGUI4/Ui_TrimSPGUI4.pm index 52b5118..c2b1c3f 100644 --- a/trimsp/src/TrimSPGUI4/Ui_TrimSPGUI4.pm +++ b/trimsp/src/TrimSPGUI4/Ui_TrimSPGUI4.pm @@ -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()' );