diff --git a/src/external/MuSRFitGUI/MuSRFit4.pl b/src/external/MuSRFitGUI/MuSRFit4.pl new file mode 100755 index 00000000..61dd0118 --- /dev/null +++ b/src/external/MuSRFitGUI/MuSRFit4.pl @@ -0,0 +1,17 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use QtCore4; +use QtGui4; +use MuSRFit4; + +sub main { + my $app = Qt::Application(\@ARGV); + my $musrfit = MuSRFit4(); + $musrfit->show(); + exit $app->exec(); +} + +main(); diff --git a/src/external/MuSRFitGUI/MuSRFit4.pm b/src/external/MuSRFitGUI/MuSRFit4.pm new file mode 100644 index 00000000..2bb46742 --- /dev/null +++ b/src/external/MuSRFitGUI/MuSRFit4.pm @@ -0,0 +1,1107 @@ +package MuSRFit4; + +use strict; +use warnings; +use QtCore4; +use QtGui4; +use QtCore4::isa qw( Qt::MainWindow ); +# This is redundant +#use QtCore4::isa qw( Qt::Widget ); +use QtCore4::debug qw(ambiguous); +use QtCore4::slots + fileOpen => [], + fileSave => [], + fileChangeDir => [], + filePrint => [], + fileExit => [], + parametersExport => [], + parametersAppend => [], + editUndo => [], + editRedo => [], + editCut => [], + editCopy => [], + editPaste => [], + helpIndex => [], + helpContents => [], + helpAbout => [], + CreateAllInput => [], + CallMSRCreate => [], + UpdateMSRFileInitTable => [], + ActivateT0Hists => [], + ActivateShComp => [], + InitializeTab => [], + TabChanged => [], + GoFit => [], + GoPlot => [], + ShowMuSRT0 => [], + t0Update => [], + RunSelectionToggle => [], + fileBrowse => [], + AppendToFunctions => [], + InitializeFunctions => [], + t0UpdateClicked => []; +use Ui_MuSRFit4; + +sub NEW { + my ( $class, $parent ) = @_; + $class->SUPER::NEW($parent); + this->{ui} = Ui_MuSRFit4->setupUi(this); + my %All=CreateAllInput(); +} + +# This file is part of MuSRFitGUI. +# +# MuSRFitGUI 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. +# +# MuSRFitGUI is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with MuSRFitGUI. If not, see . +# +# Copyright 2009 by Zaher Salman and the LEM Group. +# + +sub fileOpen() +{ + my $file=Qt::FileDialog::getOpenFileName( + ".", + "MSR Files (*.msr *.mlog)", + this, + "open file dialog", + "Choose a MSR file"); + print "Selected file: $file\n"; +# TODO: Possibly decipher the MSR file and setup the GUI accordingly +# Find run numbers, beamlines etc. +# Get theory block and understand it +# Get parameters list and update table + +} + + +sub fileSave() +{ + my %All=CreateAllInput(); + my $FILENAME=$All{"FILENAME"}.".msr"; + my $file=Qt::FileDialog::getSaveFileName( + this, + "Save file", + "$FILENAME", + "MSR Files (*.msr *.mlog)"); + +# If the user gave a filename the copy to it + if ($file ne "") { +# TODO: check if the extension is correct, or add it. + if (-e $FILENAME) { + my $cmd="cp $FILENAME $file"; + my $pid=system($cmd); + } else { + if ($file ne "") { + my $Warning = "Warning: No MSR file found yet!"; + my $WarningWindow = Qt::MessageBox::information( this, "Warning",$Warning); + } + } + } +} + +sub fileChangeDir() +{ + my $newdir=Qt::FileDialog::getExistingDirectory( + this, + "Change work directory", + "./", + ""); + chdir ("$newdir"); +} + +sub filePrint() +{ + +} + + +sub fileExit() +{ + my $Ans = Qt::MessageBox::question( this, "Quit?","Are you sure you want to quit?","&Yes","&No","",0,1); + if ($Ans==0) { +# Then quit + Qt::Application::exit( 0 ); + } +# Otherwize go back +} + +sub parametersExport() +{ +# Exports the fit parameters for a table format file +# This works only after a fit call, i.e. a plot call is not sufficient! + my %All=CreateAllInput(); +# Add also a flag for header + $All{"Header"}=1; + my $FILENAME=$All{"FILENAME"}.".dat"; + my $file=Qt::FileDialog::getSaveFileName( + this, + "Export parameters to file", + "$FILENAME", + "Data Files (*.dat)"); + +# If the user gave a filename the copy to it + if ($file ne "") { + my $Text = MSR::ExportParams(\%All); + open( DATF,q{>},"$file" ); + print DATF $Text; + close(DATF); + } +} + + +sub parametersAppend() +{ +# Appends the fit parameters for a table format file +# This works only after a fit call, i.e. a plot call is not sufficient! + my %All=CreateAllInput(); +# Add also a flag for header + $All{"Header"}=0; + my $FILENAME=$All{"FILENAME"}.".dat"; + my $file=Qt::FileDialog::getOpenFileName( + this, + "Append parameters to file", + "./", + "Data Files (*.dat)"); + +# If the user gave a filename the copy to it + if ($file ne "") { + my $Text = MSR::ExportParams(\%All); + open( DATF,q{>>},"$file" ); + print DATF $Text; + close(DATF); + } +} + + +sub editUndo() +{ + +} + + +sub editRedo() +{ + +} + + +sub editCut() +{ + +} + + +sub editCopy() +{ + +} + + +sub editPaste() +{ + +} + + +sub helpIndex() +{ + +} + + +sub helpContents() +{ + +} + +sub helpAbout() +{ + my $AboutText=" +This is a GUI that uses the musrfit binary to fit +muSR spectra. + +MuSRFitGUI 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. + +MuSRFitGUI is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the +implied warranty of MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public +License along with MuSRFitGUI. If not, see +. + +Copyright 2009-2017 by Zaher Salman +. +"; + my $AboutWindow = Qt::MessageBox::information( this, "About MuSRFit GUI",$AboutText); +} + +sub CreateAllInput() +{ + my %All=(); + +# From RUNS Tab +# Run data file + $All{"RunNumbers"} = this->{ui}->runNumbers->text(); + $All{"RunFiles"} = this->{ui}->runFiles->text(); + $All{"BeamLine"} = this->{ui}->beamLine->currentText; + $All{"RUNSType"} = this->{ui}->manualFile->isChecked(); + $All{"YEAR"} = this->{ui}->year->currentText; + if (!defined($All{"YEAR"}) || $All{"YEAR"} eq "") { +# If year combobox is empty fill it up from 2004 up to current year + my ($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime(); + my $current_year = 1900 + $yearOffset; +# my @years = ($current_year..2004); +# this->{ui}->year->addItems(@years); + for (my $i=$current_year;$i>=2004;$i--) { + this->{ui}->year->addItem($i); + } + } +# Time range and BINS + $All{"Tis"} = this->{ui}->tis->text; + $All{"Tfs"} = this->{ui}->tfs->text; + $All{"BINS"} = this->{ui}->bins->text; + $All{"FitAsyType"} = this->{ui}->fitAsyType->currentText; + $All{"LRBF"} = this->{ui}->histsLRBF->text; + my @Hists = split(/,/, $All{"LRBF"} ); +# Lifetime corrections in enabled/visible only for SingleHis fits + if ( $All{"FitAsyType"} eq "Asymmetry" ) { + this->{ui}->ltc->setHidden(1); + } + elsif ( $All{"FitAsyType"} eq "SingleHist" ) { + this->{ui}->ltc->setHidden(0); + } + +# From Fitting Tab +# Plot range + $All{"Xi"}=this->{ui}->xi->text; + $All{"Xf"}=this->{ui}->xf->text; + $All{"Yi"}=this->{ui}->yi->text; + $All{"Yf"}=this->{ui}->yf->text; + $All{"ViewBin"}=this->{ui}->viewBin->text; +# Life time correction + if (this->{ui}->ltc->isChecked()) { + $All{"ltc"}="y"; + } else { + $All{"ltc"}="n"; + } +# Minuit commands + if ( !defined($All{"go"}) || $All{"go"} eq "" ) { + $All{"go"}="PLOT"; + } +# Get minimization process + $All{"Minimization"} = this->{ui}->minimization->currentText(); + $All{"go"}=$All{"Minimization"}; + +# Get Error calculation process + $All{"ErrorCalc"} = this->{ui}->errorCalc->currentText(); + $All{"go"}=$All{"ErrorCalc"}; + + RunSelectionToggle(); + my @RUNS = (); + if ($All{"RUNSType"} ) { + @RUNS = split( /,/, $All{"RunFiles"}); + } else { + $All{"RunNumbers"} =~ s/[\ \.\~\/\&\*\[\;\>\<\^\$\(\)\`\|\]\'\@]/,/g; + @RUNS = split( /,/, $All{"RunNumbers"} ); + } + +# From MSR File Tab + $All{"TITLE"}= this->{ui}->title->text; + $All{"FILENAME"}= this->{ui}->fileName->text; + +# From Fourier Tab + $All{"FUNITS"}= this->{ui}->funits->currentText; + $All{"FAPODIZATION"}= this->{ui}->fapodization->currentText; + $All{"FPLOT"}= this->{ui}->fplot->currentText; + $All{"FPHASE"}=this->{ui}->fphase->text; +# Fourier range + $All{"FrqMin"}=this->{ui}->frqMin->text; + $All{"FrqMax"}=this->{ui}->frqMax->text; + +# Rotating reference frame parameters + $All{"RRFFrq"}=this->{ui}->rrfFrq->text; + $All{"RRFPack"}=this->{ui}->rrfPack->text; + $All{"RRFPhase"}=this->{ui}->rrfPhase->text; + $All{"RRFUnits"}=this->{ui}->rrfUnits->currentText; + +# Get values of t0 and Bg/Data bins if given + my $NHist = 1; + foreach my $Hist (@Hists) { + foreach ("t0","bg1","bg2","data1","data2") { + my $Name = "$_$NHist"; + $All{$Name}=child("Qt::LineEdit",$Name)->text; +# TODO: If empty fill with defaults + if ($All{$Name} eq "") { + $All{$Name}=MSR::T0BgData($_,$Hist,$All{"BeamLine"}); + child("Qt::LineEdit",$Name)->setText($All{$Name}); + } + } + $NHist++; + } + +# Construct fittypes that can be understood by MSR.pm + my %FTs=(0,"Exponential", + 1,"Gaussian", + 2,"Stretch", + 3,"ExponentialCos", + 4,"GaussianCos", + 5,"StretchCos", + 6,"LDKTLF", + 7,"GDKTLF", + 8,"Background", + 9,"LLFExp", + 10,"GLFExp", + 11,"LLFSExp", + 12,"GLFSExp", + 13,"MolMag", + 14,"Meissner", + 15,"LGKT", + 16,"LGKTExp", + 17,"LGKTSExp", + 18,"None" + ); + + my $FT1=this->{ui}->fitType1->currentIndex; + my $FT2=this->{ui}->fitType2->currentIndex; + my $FT3=this->{ui}->fitType3->currentIndex; + $All{"FitType1"} = $FTs{$FT1}; + $All{"FitType2"} = $FTs{$FT2}; + $All{"FitType3"} = $FTs{$FT3}; + my @FitTypes =(); + my $FitType=""; + foreach $FitType ($All{"FitType1"}, $All{"FitType2"}, $All{"FitType3"}) { + if ( $FitType ne "None" ) { + push( @FitTypes, $FitType ); + } + } + +# Also theory block and paramets list + my ($Full_T_Block,$Paramcomp_ref)= MSR::CreateTheory(@FitTypes); + $All{"Full_T_Block"}=$Full_T_Block; + $All{"Paramcomp_ref"}=$Paramcomp_ref; + my @Paramcomp = @$Paramcomp_ref; + +# Functions block + $All{"FunctionsBlock"}=this->{ui}->functionsBlock->toPlainText; +# and the associated theory block + $All{"Func_T_Block"}=this->{ui}->theoryBlock->toPlainText; + +# Shared settings are detected here + $All{"EnableSharing"} = this->{ui}->buttonGroupSharing->isChecked(); + + my $Shared = 0; + my $PCount =0; + my $Component=1; + foreach $FitType (@FitTypes) { + my $Parameters=$Paramcomp[$Component-1]; + my @Params = split( /\s+/, $Parameters ); + + if ( $Component == 1 && $All{"FitAsyType"} eq "Asymmetry" ) { + unshift( @Params, "Alpha" ); + } + elsif ( $Component == 1 && $All{"FitAsyType"} eq "SingleHist" ) { + unshift( @Params, ( "No", "NBg" ) ); + } + +# This is the counter for parameters of this component + my $NP=1; + $Shared = 0; +# Change state/label of parameters + foreach my $Param (@Params) { + my $Param_ORG = $Param; +# TODO: I need to take care of single hist fits here + if ( $All{"FitAsyType"} eq "SingleHist" ) { + $Param=$Param.$Hists[0]; + } + if ( $#FitTypes != 0 && ( $Param ne "Alpha" && $Param ne "No" && $Param ne "NBg" ) ){ + $Param = join( "", $Param, "_", $Component); + } + +# Is there any point of sharing, multiple runs? + if ( $#RUNS == 0 && $All{"FitAsyType"} eq "Asymmetry") { + $Shared = 1; + } + elsif ( $#RUNS == 0 && $#Hists == 0 && $All{"FitAsyType"} eq "SingleHist" ) { + $Shared = 1; + } else { +# Check if shared or not, construct name of checkbox, find its handle and then +# check if it is checked + my $ChkName="shParam_".$Component."_".$NP; + my $ChkBx = child("Qt::Widget",$ChkName); + $Shared = $ChkBx->isChecked(); + } + $All{"Sh_$Param"}=$Shared; + $NP++; + } +#Loop on parameters + $Component++; + } +# Loop on components +# Done with shared parameters detecting + +# Construct a default filename if empty + if (defined($RUNS[0])) { + if ( $All{"FILENAME"} eq "" && !$All{"RUNSType"}) { + $All{"FILENAME"}=$RUNS[0]."_".$All{"BeamLine"}."_".$All{"YEAR"}; + if ($All{"BeamLine"} eq "LEM (PPC)") { + $All{"FILENAME"}=$RUNS[0]."_LEM_".$All{"YEAR"}; + } + } + } else { + $All{"FILENAME"}="TMP"; + } + + +# This has to be at the end of CreateAll + my %PTable=MSR::PrepParamTable(\%All); + +# Setup the table with the right size + my $NParam=keys( %PTable ); + +# Read initial values of paramets from tabel + my $erradd = "d"; + my $minadd = "_min"; + my $maxadd = "_max"; + my $QTable=this->{ui}->initParamTable; +# TODO: Should not go over all rows, only on parameters. + if ($NParam > 0) { +# Set appropriate number of rows + $QTable->setRowCount($NParam); + for (my $i=0;$i<=$NParam;$i++) { + # Make sure the row items exist/defined + if (defined($QTable->verticalHeaderItem($i)) && defined($QTable->item($i,0)) && defined($QTable->item($i,1)) && defined($QTable->item($i,2)) && defined($QTable->item($i,3))) { + # Take label of row, i.e. name of parameter + my $Param=$QTable->verticalHeaderItem($i)->text(); + # Then take the value, error, max and min (as numbers) + $All{"$Param"}=1.0*$QTable->item($i,0)->text(); + $All{"$erradd$Param"}=1.0*$QTable->item($i,1)->text(); + $All{"$Param$minadd"}=1.0*$QTable->item($i,2)->text(); + $All{"$Param$maxadd"}=1.0*$QTable->item($i,3)->text(); + } + } + } +# Return Hash with all important values + return %All; +} + +sub CallMSRCreate() +{ + use MSR; + my %All=CreateAllInput(); + +# Check if the option for checking for existing files is selected + my $FileExistCheck= this->{ui}->fileExistCheck->isChecked(); + my $FILENAME=$All{"FILENAME"}.".msr"; + my $Answer=0; + if ($All{"RunNumbers"} ne "" || $All{"RunFiles"} ne "") { + if ( $FileExistCheck==1 ) { + if (-e $FILENAME) { +# Warning: MSR file exists +# my $Warning = "Warning: MSR file $FILENAME Already exists!\nIf you continue it will overwriten."; + my $Warning = "Warning: MSR file $FILENAME Already exists!\nDo you want to overwrite it?"; +# my $WarningWindow = Qt::MessageBox::information( this, "Warning",$Warning); +# $Answer =1,0 for yes and no + $Answer= Qt::MessageBox::warning( this, "Warning",$Warning, "&No", "&Yes", undef, 1,1); + } + } else { +# Just overwrite file + $Answer=1; + } + + if ($Answer) { + if ( $All{"FitAsyType"} eq "Asymmetry" ) { + if ($All{"RUNSType"}) { + my ($Full_T_Block,$Paramcomp_ref,$FullMSRFile)= MSR::CreateMSR(\%All); +# Open output file FILENAME.msr + open( OUTF,q{>},"$FILENAME" ); + print OUTF ("$FullMSRFile"); + close(OUTF); + } else { +# my ($Full_T_Block,$Paramcomp_ref,$FullMSRFile)= MSR::CreateMSRSh(\%All); + my ($Full_T_Block,$Paramcomp_ref,$FullMSRFile)= MSR::CreateMSR(\%All); +# Open output file FILENAME.msr + open( OUTF,q{>},"$FILENAME" ); + print OUTF ("$FullMSRFile"); + close(OUTF); + +# if it is multiple runs then the produced file is a template + my $FILENAME=$All{"FILENAME"}.".msr"; + my $Extension = "_".$All{"BeamLine"}."_".$All{"YEAR"}; + if ($All{"BeamLine"} eq "LEM (PPC)") { + $Extension = "_LEM_".$All{"YEAR"}; + } + + if (-e $FILENAME) { + my $RUN0 = $FILENAME; + $RUN0 =~ s/$Extension//g; + $RUN0 =~ s/.msr//g; + my $cmd = $All{"RunNumbers"}; + $cmd =~ s/,/ /g; + $cmd = "msr2data \[".$cmd."\] ".$Extension." msr-".$RUN0." global"; + $cmd = $cmd."; mv $RUN0+global$Extension.msr ".$FILENAME; + print $cmd."\n"; + my $pid = open(FTO,"$cmd 2>&1 |"); + while () { + this->{ui}->fitTextOutput->append("$_"); + } + close(FTO); + } + } + } + elsif ( $All{"FitAsyType"} eq "SingleHist" ) { + my ($Full_T_Block,$Paramcomp_ref,$FullMSRFile)= MSR::CreateMSRSingleHist(\%All); +# Open output file FILENAME.msr + open( OUTF,q{>},"$FILENAME" ); + print OUTF ("$FullMSRFile"); + close(OUTF); + } + UpdateMSRFileInitTable(); + } + } + return $Answer; +} + +sub UpdateMSRFileInitTable() +{ + my %All=CreateAllInput(); + my $FILENAME=$All{"FILENAME"}; + my @lines=(); + if (-e "$FILENAME.msr") { + open (MSRF,q{<},"$FILENAME.msr" ); + @lines = ; + close(IFILE); + } + this->{ui}->textMSROutput->setText(""); + foreach my $line (@lines) { + this->{ui}->textMSROutput->insertPlainText("$line"); + } + + (my $TBlock_ref, my $FPBlock_ref)=MSR::ExtractBlks(@lines); + my @FPBloc = @$FPBlock_ref; + + my $PCount=0; + foreach my $line (@FPBloc) { + my @Param=split(/\s+/,$line); + +# Depending on how many elements in @Param determine what they mean +# 0th element is empty (always) +# 1st element is the order (always) +# 2nd element is the name (always) +# 3rd element is the value (always) +# 4th element can be taken as step/error (always) +# 5th element can be +# if it is last element or there are two more = positive error, check $#Param=5/7 +# if there is only one more = minimum, check $#Param=6 + +# To summarize, check the value of $#Param + my $value=1.0*$Param[3]; + my $error = 1.0*$Param[4]; + my $minvalue=0.0; + my $maxvalue=0.0; +# for (my $i=0;$i<=$#Param;$i++) { print "$i - $Param[$i]\n";} + if ($#Param == 4 || $#Param == 5) { + $minvalue=0.0; + $maxvalue=0.0; + } + elsif ($#Param == 6) { + $minvalue=1.0*$Param[5]; + $maxvalue=1.0*$Param[6]; + } + elsif ($#Param == 7) { + $minvalue=1.0*$Param[6]; + $maxvalue=1.0*$Param[7]; + } +# Now update the initialization tabel + my $QTable = this->{ui}->initParamTable; +# print "PCount=$PCount and value=$value\n"; + if (defined($QTable->item($PCount,0)) & defined($QTable->item($PCount,1)) & defined($QTable->item($PCount,2)) & defined($QTable->item($PCount,3))) { + $QTable->setItem($PCount,0,Qt::TableWidgetItem()); + $QTable->setItem($PCount,1,Qt::TableWidgetItem()); + $QTable->setItem($PCount,2,Qt::TableWidgetItem()); + $QTable->setItem($PCount,3,Qt::TableWidgetItem()); + $QTable->item($PCount,0)->setText($value); + $QTable->item($PCount,1)->setText($error); + $QTable->item($PCount,2)->setText($minvalue); + $QTable->item($PCount,3)->setText($maxvalue); + } +# Set bg color to mark different runs + $PCount++; + } + return; +} + +sub ActivateT0Hists() +{ + my %All=CreateAllInput(); + my @Hists = split(/,/, $All{"LRBF"} ); + my $HistBox = ""; + for (my $iHist=1; $iHist<=4; $iHist++) { + $HistBox="groupHist$iHist"; + my $HistBoxHandle = child("Qt::Widget",$HistBox); + if ($iHist<=$#Hists+1) { +# Activate this histogram box + $HistBoxHandle->setHidden(0); + $HistBoxHandle->setEnabled(1); + $HistBoxHandle->setTitle("Hist # $Hists[$iHist-1]"); + } else { +# Deactivate this histogram box + $HistBoxHandle->setHidden(1); + $HistBoxHandle->setEnabled(0); + } + } + +# TODO: Set default values + +} + +sub ActivateShComp() +{ + my %All=CreateAllInput(); + my @RUNS = split( /,/, $All{"RunNumbers"} ); + +# Hide all sharing components + this->{ui}->sharingComp1->setHidden(1); + this->{ui}->sharingComp2->setHidden(1); + this->{ui}->sharingComp3->setHidden(1); + this->{ui}->sharingComp1->setEnabled(0); + this->{ui}->sharingComp2->setEnabled(0); + this->{ui}->sharingComp3->setEnabled(0); + + my @FitTypes =(); + foreach my $FitType ($All{"FitType1"}, $All{"FitType2"}, $All{"FitType3"}) { + if ( $FitType ne "None" ) { + push( @FitTypes, $FitType ); + } + } + +# Get number of parameters to determine the size of the table + my ($Full_T_Block,$Paramcomp_ref)= MSR::CreateTheory(@FitTypes); +# For now the line below does not work. Why? +# my $Paramcomp_ref=$All{"Paramcomp_ref"}; + my @Paramcomp = @$Paramcomp_ref; + $Full_T_Block= $All{"Full_T_Block"}; + +# Possible to share only if sharing is enabled altogether + my $EnableSharing = $All{"EnableSharing"}; + if ($EnableSharing) { + my $Component=1; + foreach my $FitType (@FitTypes) { + my $Parameters=$Paramcomp[$Component-1]; + my @Params = split( /\s+/, $Parameters ); + + if ( $Component == 1 && $All{"FitAsyType"} eq "Asymmetry" ) { + unshift( @Params, "Alpha" ); + } + elsif ( $Component == 1 && $All{"FitAsyType"} eq "SingleHist" ) { + unshift( @Params, ( "No", "NBg" ) ); + } + + +# Make the component appear first (only if we have multiple runs) + my $ShCompG="sharingComp".$Component; + my $ShCG = child("Qt::Widget",$ShCompG); + if ($#RUNS>0) { + $ShCG->setHidden(0); + $ShCG->setEnabled(1); + } + my $CompShLabel = "comp".$Component."ShLabel"; + my $CompShL = child("Qt::Widget",$CompShLabel); + $CompShL->setText($All{"FitType$Component"}); + +# Change state/label of parameters + for (my $i=1; $i<=9;$i++) { + my $ParamChkBx="shParam_".$Component."_".$i; + my $ChkBx = child("Qt::Widget",$ParamChkBx); + if (defined($Params[$i-1])) { + $ChkBx->setHidden(0); + $ChkBx->setEnabled(1); + $ChkBx ->setText($Params[$i-1]); + } else { + $ChkBx->setHidden(1); + } + } + $Component++; + } + } +} + +sub InitializeTab() +{ + my %All=CreateAllInput(); + my $QTable = this->{ui}->initParamTable; + my $NRows = $QTable->rowCount(); + +# Remove any rows in table + if ($NRows > 0) { + for (my $i=0;$i<$NRows;$i++) { +# TODO: Better remove the row rather than hide it. + $QTable->hideRow($i); +# $QTable->removeRow($i); + } + } + + my %PTable=MSR::PrepParamTable(\%All); + +# Setup the table with the right size +# my $NParam=scalar keys( %PTable ); + my $NParam=keys( %PTable ); + if ($NParam>$NRows) { + $QTable->setNumRows($NParam); + } + +# for (my $i=0;$i<$NParam;$i++) {print "Line=$PTable{$i}\n";} + + +# Fill the table with labels and values of parameter + for (my $PCount=0;$PCount<$NParam;$PCount++) { + my ($Param,$value,$error,$minvalue,$maxvalue,$RUN) = split(/,/,$PTable{$PCount}); +# Now make sure we have no nans + if ($error eq "nan") { $error=0.1;} + # Make sure items exist before addressing them + $QTable->setVerticalHeaderItem($PCount,Qt::TableWidgetItem()); + # Make sure that the row exists + $QTable->showRow($PCount); + $QTable->setItem($PCount,0,Qt::TableWidgetItem()); + $QTable->setItem($PCount,1,Qt::TableWidgetItem()); + $QTable->setItem($PCount,2,Qt::TableWidgetItem()); + $QTable->setItem($PCount,3,Qt::TableWidgetItem()); + # Fill in the values... + $QTable->verticalHeaderItem($PCount)->setText($Param); + $QTable->item($PCount,0)->setText($value); + $QTable->item($PCount,1)->setText($error); + $QTable->item($PCount,2)->setText($minvalue); + $QTable->item($PCount,3)->setText($maxvalue); + } +} + +sub TabChanged() +{ +# TODO: First check if there are some runs given, otherwise disbale + my %All=CreateAllInput(); + +# First make sure we have sharing initialized + ActivateShComp(); +# Here we need to apply sharing if selected... + InitializeTab(); + UpdateMSRFileInitTable(); +# And also setup T0 and Bg bins + ActivateT0Hists(); + +# Initialize FUNCTIONS block only if it has not been initialized yet + if ($All{"Func_T_Block"} eq "" ) { + InitializeFunctions(); + } +} + + +sub GoFit() +{ + my %All=CreateAllInput(); +# Check here is the number of histograms makes sense +# other wise give error. + my @Hists = split( /,/, $All{"LRBF"} ); + if ($All{"FitAsyType"} eq "Asymmetry" && $#Hists != 1) { +# we have a problem here send error message + my $Warning = "Error: The number of histograms should be 2 for an asymmetry fit!"; + my $WarningWindow = Qt::MessageBox::information( this, "Error",$Warning); + } else { + this->{ui}->musrfit_tabs->setCurrentIndex(1); + my $Answer=CallMSRCreate(); + if ($Answer) { + my $FILENAME=$All{"FILENAME"}.".msr"; + if (-e $FILENAME) { + my $cmd="musrfit -t $FILENAME"; + my $pid = open(FTO,"$cmd 2>&1 |"); + while () { + this->{ui}->fitTextOutput->insertPlainText("$_"); + } + close(FTO); + $cmd="musrview $FILENAME &"; + $pid = system($cmd); + } else { + this->{ui}->fitTextOutput->insertPlainText("Cannot find MSR file!"); + } + this->{ui}->fitTextOutput->insertPlainText("-----------------------------------------------------------------------------------------------------------------------------"); +# update MSR File tab and initialization table + UpdateMSRFileInitTable(); + } + } + return; +} + +sub GoPlot() +{ + my %All=CreateAllInput(); +# Check here is the number of histograms makes sense +# other wise give error. + my @Hists = split( /,/, $All{"LRBF"} ); + if ($All{"FitAsyType"} eq "Asymmetry" && $#Hists != 1) { +# we have a problem here send error message + my $Warning = "Error: The number of histograms should be 2 for an asymmetry fit!"; + my $WarningWindow = Qt::MessageBox::information( this, "Error",$Warning); + } else { + my $Answer=CallMSRCreate(); + my $FILENAME=$All{"FILENAME"}.".msr"; + if ($Answer) { + if (-e $FILENAME) { + my $cmd="musrview $FILENAME &"; + my $pid = system($cmd); + } else { + this->{ui}->fitTextOutput->insertPlainText("Cannot find MSR file!"); + this->{ui}->fitTextOutput->insertPlainText("-----------------------------------------------------------------------------------------------------------------------------"); + } + } + } + return; +} + + +sub ShowMuSRT0() +{ +# Open musrt0 to check and adjust t0 , Bg and Data bins + my %All=CreateAllInput(); + this->{ui}->musrfit_tabs->setCurrentIndex(6); +# Create MSR file and then run musrt0 + my $Answer=CallMSRCreate(); + + if ($Answer) { + my $FILENAME=$All{"FILENAME"}.".msr"; + if (-e $FILENAME) { + my $cmd="musrt0 $FILENAME &"; + my $pid = system($cmd); + this->{ui}->t0Update->setEnabled(1) + } else { + print STDERR "Cannot find MSR file!\n"; + } + } + return; +} + + +sub t0Update() +{ + my %All = CreateAllInput(); + my @Hists = split(/,/, $All{"LRBF"} ); + +# Get values of t0 and Bg/Data bins if given + my $NHist = 1; + foreach my $Hist (@Hists) { + foreach ("t0","Bg1","Bg2","Data1","Data2") { + my $Name = "$_$NHist"; + my $tmp=MSR::T0BgData($_,$Hist,$All{"BeamLine"}); + if (defined(child("Qt::Widget",$Name))) { + child("Qt::Widget",$Name)->setText($tmp); + } + } + $NHist++ + } +} + + +sub RunSelectionToggle() +{ + my $ManualFile= this->{ui}->manualFile->isChecked(); + if ($ManualFile) { +# Manual RUN selection + this->{ui}->runsMan->setEnabled(1); + this->{ui}->runsMan->setHidden(0); + this->{ui}->runNumbers->setText(""); + this->{ui}->runsAuto->setEnabled(0); + this->{ui}->runsAuto->setHidden(1); + } else { +# Auto RUN selection + this->{ui}->runsMan->setEnabled(0); + this->{ui}->runsMan->setHidden(1); + this->{ui}->runFiles->setText(""); + this->{ui}->runsAuto->setEnabled(1); + this->{ui}->runsAuto->setHidden(0); + } + +} + +sub fileBrowse() +{ + my $RunFiles=this->{ui}->runFiles->text(); + print "Runs:$RunFiles\n"; + my $files_ref=Qt::FileDialog::getOpenFileNames( + "Data files (*.root *.bin)", + "./", + this, + "open files dialog", + "Select one or more files to fit"); + my @files = @$files_ref; + if ($RunFiles eq "") { +# We started with an empty list + $RunFiles=join(",",@files); + } else { +# Add files to existing list + $RunFiles=join(",",$RunFiles,@files); + } + this->{ui}->runFiles->setText($RunFiles); +} + +sub AppendToFunctions() +{ + my $ParName=this->{ui}->cParamsCombo->currentText(); + my $Full_T_Block=""; + my $Constraint=""; + if (defined(this->{ui}->theoryBlock->toPlainText)) { + $Full_T_Block=this->{ui}->theoryBlock->toPlainText; + } + if (defined(this->{ui}->constraintLine->text)) { + $Constraint=this->{ui}->constraintLine->text; + } +# Then clear the text + this->{ui}->constraintLine->setText(""); + +# Check how many constraints (lines) in FUNCTIONS Block +# my $i=this->{ui}->functionsBlock->blockCount(); + my $fun_lines=this->{ui}->functionsBlock->toPlainText(); + my $i= ($fun_lines =~ tr/\n//)+1; + my $ConstLine="fun$i = $Constraint\n"; + this->{ui}->functionsBlock->insertPlainText($ConstLine); + +# Replace parameter in theory block with fun$i + $Full_T_Block=~ s/$ParName/fun$i/; + this->{ui}->theoryBlock->setText($Full_T_Block); +} + +sub InitializeFunctions() +{ + my %All=CreateAllInput(); + my @RUNS = split( /,/, $All{"RunNumbers"} ); + + my @FitTypes =(); + foreach my $FitType ($All{"FitType1"}, $All{"FitType2"}, $All{"FitType3"}) { + if ( $FitType ne "None" ) { + push( @FitTypes, $FitType ); + } + } + +# Get number of parameters to determine the size of the table + my ($Full_T_Block,$Paramcomp_ref)= MSR::CreateTheory(@FitTypes); + my @Paramcomp = @$Paramcomp_ref; + $Full_T_Block= $All{"Full_T_Block"}; + +# Initialize Parameters List in function block (constraints). + my $ParametersList=""; + this->{ui}->parametersList->setText(""); +# Counter for function block (with out Alpha etc.) + my $ParCount=0; + this->{ui}->cParamsCombo->clear(); + +# Possibly use the parameters block to axtract names for the dropdown menu +# this makes sense if we can use fun in map line. Check! + my $Component=1; + foreach my $FitType (@FitTypes) { + my $Parameters=$Paramcomp[$Component-1]; + my @Params = split( /\s+/, $Parameters ); + +# Alpha, No and NBg are counted in the parameters + if ( $Component == 1 && $All{"FitAsyType"} eq "Asymmetry" ) { + unshift( @Params, "Alpha" ); + } + elsif ( $Component == 1 && $All{"FitAsyType"} eq "SingleHist" ) { + unshift( @Params, ( "No", "NBg" ) ); + } + +# Add list to the constraints drop down menu + for (my $i=1; $i<=9;$i++) { + if (defined($Params[$i-1])) { + my $CParam = $Params[$i-1]."_".$Component; + if ($Params[$i-1] ne "Alpha" && $Params[$i-1] ne "No" && $Params[$i-1] ne "NBg") { + this->{ui}->cParamsCombo->addItem($CParam); + $Full_T_Block=~ s/\b$Params[$i-1]\b/$CParam/; + } +# also enumerate the parameters as should be used in the FUNCTIONS Block + $ParCount++; + $ParametersList=$ParametersList."$CParam \t is \t par$ParCount\n"; + this->{ui}->parametersList->setText($ParametersList); + } + } + $Component++; + } +# Set theory block in Constraints + this->{ui}->theoryBlock->setText($Full_T_Block); +# Then clear the text + this->{ui}->constraintLine->setText(""); + this->{ui}->functionsBlock->setText(""); +} + + + + +sub t0UpdateClicked() +{ +# Read MSR file and get new values of t0,Bg and Data + my %All=CreateAllInput(); + my $FILENAME=$All{"FILENAME"}; + open (MSRF,q{<},"$FILENAME.msr" ); + my @lines = ; + close(IFILE); + + my @T0s = grep {/t0 /} @lines; + my @Bgs = grep {/background /} @lines; + my @Datas = grep {/data /} @lines; + + my @Hists = split(/,/, $All{"LRBF"} ); + my $NHist = $#Hists+1; + print "Histograms: $NHist\n"; + + my $FinHist = 1; +# First T0s + while ($FinHist) { + my $counter=0; + (my $tmp,my @SplitT0) = split( /\s+/, $T0s[$counter]); + ($tmp,my @SplitBg) = split( /\s+/, $Bgs[$counter]); + ($tmp,my @SplitData) = split( /\s+/, $Datas[$counter]); + if ($#SplitBg>0) { + foreach (@SplitBg) { + print $_."\n"; + } + } + $counter++; + if ($counter>=$#Bgs) {$FinHist=0;} + } + +# Finally, disable the update button + this->{ui}->t0Update->setEnabled(0); +# t0Update->setText("musrt0") +} + +# Function: return widget attribute given its type and name +sub child { +# Take type and name from input + my ( $object, $name ) = @_; + + my $Attrib = this->findChildren($object,$name); + if (@$Attrib) { + $Attrib = @$Attrib[0]; + } else { + $Attrib = 0; + } +# print "name = $name and attrib = $Attrib\n"; + +# Return handle on widget + return($Attrib); +} + + +1; diff --git a/src/external/MuSRFitGUI/MuSRFit4.ui b/src/external/MuSRFitGUI/MuSRFit4.ui new file mode 100644 index 00000000..d6b8805e --- /dev/null +++ b/src/external/MuSRFitGUI/MuSRFit4.ui @@ -0,0 +1,6096 @@ + + + MuSRFit4 + + + + 0 + 0 + 600 + 505 + + + + + 1 + 1 + + + + + 600 + 505 + + + + MuSRFit GUI + + + + icos/MuSRFit.pngicos/MuSRFit.png + + + MuSRFitGUI + + + + + + + true + + + + 1 + 1 + + + + + 600 + 400 + + + + + 32767 + 32767 + + + + 0 + + + + RUNS + + + + + + QLayout::SetMinimumSize + + + 0 + + + + + + 1 + 1 + + + + + 0 + 80 + + + + + 1 + 1 + + + + RUN Files + + + Qt::AlignHCenter|Qt::AlignTop + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 411 + 21 + + + + + + + + true + + + + 0 + 0 + + + + + 0 + 23 + + + + + 16777215 + 25 + + + + Names of data files to be fit. Multiple data files are comma separated. + + + Names of data files to be fit. Multiple data files are comma separated. + + + + + + + true + + + + 0 + 0 + + + + + 0 + 20 + + + + + 16777215 + 25 + + + + Browse to select data files for fitting. + + + Browse to select data files for fitting. + + + Browse + + + + + + + + + + + + QLayout::SetMinimumSize + + + + + + 0 + 0 + + + + Fit type + + + false + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 16777215 + 25 + + + + + Asymmetry + + + + + SingleHist + + + + + + + + + 0 + 0 + + + + Histograms list + + + false + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 16777215 + 25 + + + + 1 5,3 7 + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 81 + 21 + + + + + + + + + + + 1 + 1 + + + + + 0 + 80 + + + + RUN Numbers + + + Qt::AlignHCenter|Qt::AlignTop + + + + + + 0 + + + + + + 0 + 0 + + + + + 0 + 20 + + + + + 16777215 + 25 + + + + false + + + QComboBox::InsertAtTop + + + true + + + false + + + + + + + + 0 + 0 + + + + + 0 + 20 + + + + Year + + + false + + + + + + + + 0 + 0 + + + + + 0 + 20 + + + + + 16777215 + 30 + + + + On beam line + + + false + + + + + + + + 0 + 0 + + + + + 0 + 20 + + + + + 16777215 + 25 + + + + + LEM + + + + + GPS + + + + + Dolly + + + + + LTF + + + + + LEM (PPC) + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 181 + 21 + + + + + + + + + 0 + 0 + + + + + 0 + 23 + + + + + 16777215 + 25 + + + + Numbers of RUNs to fit. Multiple runs are comma separated. + + + Numbers of RUNs to fit. Multiple runs are comma separated. + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + + + 0 + 0 + + + + + 0 + 220 + + + + + 0 + 0 + + + + Theory Function + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 242 + 247 + 252 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + + 128 + 128 + 128 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + First Component + + + false + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 242 + 247 + 252 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + + 128 + 128 + 128 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + Second Component + + + false + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 242 + 247 + 252 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + + 128 + 128 + 128 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + Third Component + + + false + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 16777215 + 25 + + + + false + + + false + + + + Exponential + + + + + Gaussian + + + + + Stretch Exp. + + + + + Exponential Cos + + + + + Gaussian Cos + + + + + Stretch Cos + + + + + Lorentzian Dynamic KT + + + + + Gaussian Dynamic KT + + + + + Background + + + + + Lorentzian Kubo-Toyabe LF x Exp + + + + + Gaussian Kubo-Toyabe LF x Exp + + + + + Lorentzian Kubo-Toyabe LF x Str Exp + + + + + Gaussian Kubo-Toyabe LF x Str Exp + + + + + MolMag + + + + + Meissner State Model + + + + + Lor-Gss combi KT + + + + + Lor-Gss combi KT x Exp + + + + + Lor-Gss combi KT x SExp + + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 16777215 + 25 + + + + 18 + + + + Exponential + + + + + Gaussian + + + + + Stretch Exp. + + + + + Exponential Cos + + + + + Gaussian Cos + + + + + Stretch Cos + + + + + Lorentzian Dynamic KT + + + + + Gaussian Dynamic KT + + + + + Background + + + + + Lorentzian Kubo-Toyabe LF x Exp + + + + + Gaussian Kubo-Toyabe LF x Exp + + + + + Lorentzian Kubo-Toyabe LF x Str Exp + + + + + Gaussian Kubo-Toyabe LF x Str Exp + + + + + MolMag + + + + + Meissner State Model + + + + + Lor-Gss combi KT + + + + + Lor-Gss combi KT x Exp + + + + + Lor-Gss combi KT x SExp + + + + + None + + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 16777215 + 25 + + + + 18 + + + + Exponential + + + + + Gaussian + + + + + Stretch Exp. + + + + + Exponential Cos + + + + + Gaussian Cos + + + + + Stretch Cos + + + + + Lorentzian Dynamic KT + + + + + Gaussian Dynamic KT + + + + + Background + + + + + Lorentzian Kubo-Toyabe LF x Exp + + + + + Gaussian Kubo-Toyabe LF x Exp + + + + + Lorentzian Kubo-Toyabe LF x Str Exp + + + + + Gaussian Kubo-Toyabe LF x Str Exp + + + + + MolMag + + + + + Meissner State Model + + + + + Lor-Gss combi KT + + + + + Lor-Gss combi KT x Exp + + + + + Lor-Gss combi KT x SExp + + + + + None + + + + + + + + + 0 + 0 + + + + Initial Fit Time + + + false + + + + + + + + 0 + 0 + + + + Final Fit Time + + + false + + + + + + + + 0 + 0 + + + + Fit Binning Factor + + + false + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 16777215 + 25 + + + + 0 + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 16777215 + 25 + + + + 8 + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + 16777215 + 25 + + + + 100 + + + + + + + Min X + + + false + + + + + + + Max X + + + false + + + + + + + View Binning Factor + + + false + + + + + + + + 0 + 25 + + + + + + + + + 0 + 25 + + + + + + + + + 0 + 25 + + + + + + + + Min Y + + + false + + + + + + + Max Y + + + false + + + + + + + + + + false + + + + + + + + + + + + + Life time correction + + + true + + + + + + + + + + + + + Fitting + + + + + + + + + + + 0 + 25 + + + + + 150 + 16777215 + + + + + HESSE + + + + + MINOS + + + + + + + + + 0 + 25 + + + + + 150 + 16777215 + + + + + MINIMIZE + + + + + MIGRAD + + + + + SIMPLEX + + + + + + + + Minimization type + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + Error estimation + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + + + + + + + + Sharing + + + + + + + 0 + 0 + + + + Shared parameters among different runs + + + Qt::AlignLeading + + + true + + + false + + + + + + + + false + + + + 0 + 0 + + + + 1st Component + + + Qt::AlignLeading + + + + + 40 + 60 + 81 + 266 + + + + + 0 + + + 0 + + + + + Param1 + + + + + + + Param2 + + + + + + + Param3 + + + + + + + Param4 + + + + + + + false + + + Param5 + + + false + + + + + + + false + + + Param6 + + + false + + + + + + + false + + + Param7 + + + false + + + + + + + false + + + Param8 + + + false + + + + + + + false + + + Param9 + + + false + + + + + + + + + 2 + 30 + 141 + 20 + + + + FitType1 + + + false + + + + + + + + false + + + + 0 + 0 + + + + 2nd Component + + + + + 2 + 30 + 141 + 20 + + + + FitType2 + + + false + + + + + + 40 + 60 + 81 + 266 + + + + + 0 + + + 0 + + + + + Param1 + + + + + + + Param2 + + + + + + + Param3 + + + + + + + Param4 + + + + + + + Param5 + + + + + + + false + + + Param6 + + + false + + + + + + + false + + + Param7 + + + false + + + + + + + false + + + Param8 + + + false + + + + + + + false + + + Param9 + + + false + + + + + + + + + + + false + + + + 0 + 0 + + + + 3rd Component + + + Qt::AlignJustify|Qt::AlignVCenter + + + + + 2 + 30 + 141 + 20 + + + + FitType3 + + + false + + + + + + 41 + 58 + 81 + 266 + + + + + + + Param1 + + + + + + + Param2 + + + + + + + Param3 + + + + + + + Param4 + + + + + + + Param5 + + + + + + + false + + + Param6 + + + false + + + + + + + false + + + Param7 + + + false + + + + + + + false + + + Param8 + + + false + + + + + + + false + + + Param9 + + + false + + + + + + + + + + + + + + + + + Initialization + + + + + + 1 + + + 4 + + + false + + + false + + + true + + + false + + + + Alpha + + + + + Value + + + + + Error + + + + + Min + + + + + Max + + + + + + + + + MSR File + + + + + + 0 + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + + + + Enter the label (defaul is run title from the first run) + + + false + + + + + + + + 1 + 1 + + + + Title line for MSR file (optional) + + + Title line for MSR file (optional) + + + + + + + + + + + + Enter [name] for output [name].msr file (optional) + + + false + + + + + + + + 0 + 0 + + + + Name of the produced MSR file (optional) + + + Name of the produced MSR file (optional) + + + + + + + + + + + + + + true + + + + + + + + + + FFT/RRF + + + + + + + 0 + 0 + + + + Fourier transform parameters + + + + + 12 + 19 + 510 + 117 + + + + + 5 + + + 5 + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + + MHz + + + + + Gauss + + + + + Mc/s + + + + + + + + + 0 + 0 + + + + + power + + + + + real + + + + + imag + + + + + real_and_imag + + + + + phase + + + + + + + + + + + false + + + + + + + Phase: + + + false + + + + + + + Plot + + + false + + + + + + + + + + false + + + + + + + + 0 + 0 + + + + + STRONG + + + + + MEDIUM + + + + + WEAK + + + + + NONE + + + + + + + + Apodization + + + false + + + + + + + + + + false + + + + + + + to + + + false + + + + + + + + + + false + + + + + + + + 0 + 0 + + + + + + + + + + + false + + + + + + + + + + false + + + + + + + + 0 + 0 + + + + + + + + Range: from + + + false + + + + + + + Units + + + + + + + + + + + + 0 + 0 + + + + Rotatting reference frame (RRF) parameters + + + + + 10 + 18 + 265 + 100 + + + + + 5 + + + 5 + + + + + Phase + + + false + + + + + + + Frequency + + + false + + + + + + + + + + false + + + + + + + + + + + + + + + + + false + + + + + + + + + + Packing + + + false + + + + + + + + MHz + + + + + kHz + + + + + Mc/s + + + + + G + + + + + T + + + + + + + + + + + + + + + + t0/Bg + + + + + + + + + 1 + 1 + + + + + 0 + 0 + + + + + + + + + 5 + 18 + 100 + 150 + + + + + + + t0 + + + false + + + + + + + Bg1 + + + false + + + + + + + Bg2 + + + false + + + + + + + Data 1 + + + false + + + + + + + Data 2 + + + false + + + + + + + + + + + + 1 + 1 + + + + + 0 + 0 + + + + Hist1 + + + + + 8 + 17 + 75 + 150 + + + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + true + + + + 1 + 1 + + + + Hist2 + + + + + 8 + 17 + 75 + 150 + + + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + true + + + + 1 + 1 + + + + Hist3 + + + + + 8 + 17 + 75 + 150 + + + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + true + + + + 1 + 1 + + + + Hist4 + + + + + 8 + 17 + 75 + 150 + + + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 461 + 20 + + + + + + + + false + + + + 0 + 0 + + + + Use musrt0 to set values + + + Update + + + + + + + + + + Constraints + + + + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 242 + 247 + 252 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + + 128 + 128 + 128 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + THEORY Block + + + false + + + + + + + true + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 242 + 247 + 252 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + + 128 + 128 + 128 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + Parameters List + + + false + + + + + + + true + + + + + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + = + + + false + + + + + + + + 0 + 0 + + + + + 0 + 25 + + + + + + + + + 0 + 0 + + + + Add + + + + + + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 242 + 247 + 252 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + + 128 + 128 + 128 + + + + + + + 230 + 240 + 249 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 115 + 120 + 124 + + + + + + + 154 + 160 + 166 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 128 + 128 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 127 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 128 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 238 + + + + + + + 82 + 24 + 139 + + + + + + + + FUNCTIONS Block + + + false + + + + + + + + + + + + + + + false + + + + + + + + 100 + 32767 + + + + Reset + + + + + + + + + + + + + + + + true + + + + 0 + 0 + 600 + 20 + + + + + &File + + + + + + + + + Actions + + + + + + + + Parameters + + + + + + + Options + + + + + + + &Help + + + + + + + + + + + + + File Menu + + + TopToolBarArea + + + false + + + + + + + + + 0 + 0 + + + + Actions Menu + + + TopToolBarArea + + + false + + + + + + + + + + + icos/save.pngicos/save.png + + + &Save MSR... + + + &Save MSR... + + + &Save MSR + + + Ctrl+S + + + + + + icos/exit.pngicos/exit.png + + + E&xit + + + Exit + + + + + + + + &About + + + About + + + + + + + + true + + + false + + + No Overwrite + + + Overwrite MSR File + + + Enable overwriting MSR files + + + Enable/Disable checking for MSR files. + + + + + true + + + Maual file selection + + + Maual file selection + + + + + + icos/chdir.pngicos/chdir.png + + + &Change dir + + + &Change dir + + + Ctrl+C + + + + + new item + + + new item + + + + + + icos/Export.pngicos/Export.png + + + &Export As... + + + Export As... + + + Alt+E + + + + + + icos/Append.pngicos/Append.png + + + &Append To... + + + Append To... + + + Alt+A + + + + + + icos/Fit.pngicos/Fit.png + + + Fit and Plot + + + Ctrl+F + + + + + false + + + + icos/Plot.pngicos/Plot.png + + + Plot + + + Ctrl+P + + + + + + icos/T0.pngicos/T0.png + + + Show t0 and Bg Bins + + + Ctrl+T + + + + + true + + + Fourier + + + Fourier + + + + + true + + + T0 and Bg bins + + + T0 and Bg bins + + + + + + musrfit_tabs + runNumbers + beamLine + year + runFiles + browse + fitType1 + fitType2 + fitType3 + tis + tfs + bins + xi + xf + viewBin + yi + yf + ltc + fitAsyType + histsLRBF + minimization + errorCalc + fitTextOutput + buttonGroupSharing + shParam_1_1 + shParam_1_2 + shParam_1_3 + shParam_1_4 + shParam_1_5 + shParam_1_6 + shParam_1_7 + shParam_1_8 + shParam_1_9 + shParam_2_1 + shParam_2_2 + shParam_2_3 + shParam_2_4 + shParam_2_5 + shParam_2_6 + shParam_2_7 + shParam_2_8 + shParam_2_9 + shParam_3_1 + shParam_3_2 + shParam_3_3 + shParam_3_4 + shParam_3_5 + shParam_3_6 + shParam_3_7 + shParam_3_8 + shParam_3_9 + initParamTable + title + fileName + textMSROutput + funits + fapodization + fplot + frqMin + fphase + frqMax + rrfFrq + rrfUnits + rrfPack + rrfPhase + t01 + bg11 + bg21 + data11 + data21 + t02 + bg12 + bg22 + data12 + data22 + t03 + bg13 + bg23 + data13 + data23 + t04 + bg14 + bg24 + data14 + data24 + t0Update + theoryBlock + parametersList + cParamsCombo + constraintLine + addConstraint + functionsBlock + resetFunc + + + + + fit + activated() + MuSRFit4 + GoFit() + + + -1 + -1 + + + 20 + 20 + + + + + parametersAppend_ToAction + activated() + MuSRFit4 + parametersAppend() + + + -1 + -1 + + + 20 + 20 + + + + + parametersExport_AsAction + activated() + MuSRFit4 + parametersExport() + + + -1 + -1 + + + 20 + 20 + + + + + fileChangeDirAction + activated() + MuSRFit4 + fileChangeDir() + + + -1 + -1 + + + 20 + 20 + + + + + fileSaveAction + activated() + MuSRFit4 + fileSave() + + + -1 + -1 + + + 20 + 20 + + + + + fileExitAction + activated() + MuSRFit4 + fileExit() + + + -1 + -1 + + + 20 + 20 + + + + + helpAboutAction + activated() + MuSRFit4 + helpAbout() + + + -1 + -1 + + + 20 + 20 + + + + + t0 + activated() + MuSRFit4 + ShowMuSRT0() + + + -1 + -1 + + + 20 + 20 + + + + + plot + activated() + MuSRFit4 + GoPlot() + + + -1 + -1 + + + 20 + 20 + + + + + resetFunc + clicked() + MuSRFit4 + InitializeFunctions() + + + 593 + 489 + + + 20 + 20 + + + + + addConstraint + clicked() + MuSRFit4 + AppendToFunctions() + + + 593 + 284 + + + 20 + 20 + + + + + buttonGroupSharing + toggled(bool) + MuSRFit4 + ActivateShComp() + + + 28 + 98 + + + 20 + 20 + + + + + musrfit_tabs + currentChanged(int) + MuSRFit4 + TabChanged() + + + 24 + 74 + + + 20 + 20 + + + + + t0Update + clicked() + MuSRFit4 + t0UpdateClicked() + + + 594 + 490 + + + 20 + 20 + + + + + buttonGroupSharing + toggled(bool) + MuSRFit4 + ActivateShComp() + + + 28 + 98 + + + 20 + 20 + + + + + menuBar + triggered(QAction*) + MuSRFit4 + RunSelectionToggle() + + + 208 + 9 + + + 626 + 246 + + + + + fitType1 + currentIndexChanged(int) + MuSRFit4 + InitializeFunctions() + + + 79 + 304 + + + 601 + 323 + + + + + beamLine + currentIndexChanged(int) + MuSRFit4 + t0Update() + + + 416 + 144 + + + 603 + 191 + + + + + + t0UpdateClicked() + GoFit() + parametersAppend() + parametersExport() + fileChangeDir() + fileOpen() + fileSave() + filePrint() + fileExit() + helpAbout() + ShowMuSRT0() + GoPlot() + RunSelectionToggle() + InitializeFunctions() + AppendToFunctions() + ActivateShComp() + TabChanged() + t0Update() + + diff --git a/src/external/MuSRFitGUI/Ui_MuSRFit4.pm b/src/external/MuSRFitGUI/Ui_MuSRFit4.pm new file mode 100644 index 00000000..8a0fe95f --- /dev/null +++ b/src/external/MuSRFitGUI/Ui_MuSRFit4.pm @@ -0,0 +1,3438 @@ +############################################################################### +# +############################################################################### + +################################################################################# +## Form generated from reading UI file 'MuSRFit4.ui' +## +## Created: Thu Mar 23 16:58:52 2017 +## by: Qt User Interface Compiler version 4.8.6 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +package Ui_MuSRFit4; + +use strict; +use warnings; +use QtCore4; +use QtGui4; + +sub fileSaveAction { + return shift->{fileSaveAction}; +} + +sub fileExitAction { + return shift->{fileExitAction}; +} + +sub helpAboutAction { + return shift->{helpAboutAction}; +} + +sub fileExistCheck { + return shift->{fileExistCheck}; +} + +sub manualFile { + return shift->{manualFile}; +} + +sub fileChangeDirAction { + return shift->{fileChangeDirAction}; +} + +sub optionsnew_itemAction { + return shift->{optionsnew_itemAction}; +} + +sub parametersExport_AsAction { + return shift->{parametersExport_AsAction}; +} + +sub parametersAppend_ToAction { + return shift->{parametersAppend_ToAction}; +} + +sub fit { + return shift->{fit}; +} + +sub plot { + return shift->{plot}; +} + +sub t0 { + return shift->{t0}; +} + +sub optionsFourier { + return shift->{optionsFourier}; +} + +sub optionsT0 { + return shift->{optionsT0}; +} + +sub widget { + return shift->{widget}; +} + +sub gridLayout { + return shift->{gridLayout}; +} + +sub musrfit_tabs { + return shift->{musrfit_tabs}; +} + +sub runsPage { + return shift->{runsPage}; +} + +sub gridLayout_1 { + return shift->{gridLayout_1}; +} + +sub gridLayout_2 { + return shift->{gridLayout_2}; +} + +sub runsMan { + return shift->{runsMan}; +} + +sub gridLayout_4 { + return shift->{gridLayout_4}; +} + +sub runFiles_2 { + return shift->{runFiles_2}; +} + +sub spacer3 { + return shift->{spacer3}; +} + +sub runFiles { + return shift->{runFiles}; +} + +sub browse { + return shift->{browse}; +} + +sub gridLayout_6 { + return shift->{gridLayout_6}; +} + +sub fitAsyTypeLabel { + return shift->{fitAsyTypeLabel}; +} + +sub fitAsyType { + return shift->{fitAsyType}; +} + +sub histsLRBFLabel { + return shift->{histsLRBFLabel}; +} + +sub histsLRBF { + return shift->{histsLRBF}; +} + +sub spacer4 { + return shift->{spacer4}; +} + +sub runsAuto { + return shift->{runsAuto}; +} + +sub gridLayout_3 { + return shift->{gridLayout_3}; +} + +sub runNumbers_2 { + return shift->{runNumbers_2}; +} + +sub year { + return shift->{year}; +} + +sub yearLabel { + return shift->{yearLabel}; +} + +sub beamLineLabel { + return shift->{beamLineLabel}; +} + +sub beamLine { + return shift->{beamLine}; +} + +sub spacer2 { + return shift->{spacer2}; +} + +sub runNumbers { + return shift->{runNumbers}; +} + +sub groupBox { + return shift->{groupBox}; +} + +sub gridLayout_8 { + return shift->{gridLayout_8}; +} + +sub comp1Label { + return shift->{comp1Label}; +} + +sub comp2Label { + return shift->{comp2Label}; +} + +sub comp3Label { + return shift->{comp3Label}; +} + +sub fitType1 { + return shift->{fitType1}; +} + +sub fitType2 { + return shift->{fitType2}; +} + +sub fitType3 { + return shift->{fitType3}; +} + +sub tisLabel { + return shift->{tisLabel}; +} + +sub tfsLabel { + return shift->{tfsLabel}; +} + +sub binsLabel { + return shift->{binsLabel}; +} + +sub tis { + return shift->{tis}; +} + +sub tfs { + return shift->{tfs}; +} + +sub bins { + return shift->{bins}; +} + +sub textLabel1_4 { + return shift->{textLabel1_4}; +} + +sub textLabel1_8 { + return shift->{textLabel1_8}; +} + +sub textLabel1_4_2_2 { + return shift->{textLabel1_4_2_2}; +} + +sub xi { + return shift->{xi}; +} + +sub xf { + return shift->{xf}; +} + +sub viewBin { + return shift->{viewBin}; +} + +sub textLabel1_4_2 { + return shift->{textLabel1_4_2}; +} + +sub textLabel1_4_3 { + return shift->{textLabel1_4_3}; +} + +sub textLabel1_4_4 { + return shift->{textLabel1_4_4}; +} + +sub yi { + return shift->{yi}; +} + +sub yf { + return shift->{yf}; +} + +sub ltc { + return shift->{ltc}; +} + +sub fittingPage { + return shift->{fittingPage}; +} + +sub gridLayout1 { + return shift->{gridLayout1}; +} + +sub fitGrid { + return shift->{fitGrid}; +} + +sub fitLayout { + return shift->{fitLayout}; +} + +sub errorCalc { + return shift->{errorCalc}; +} + +sub minimization { + return shift->{minimization}; +} + +sub textLabel1_5 { + return shift->{textLabel1_5}; +} + +sub textLabel1_5_2 { + return shift->{textLabel1_5_2}; +} + +sub fitTextOutput { + return shift->{fitTextOutput}; +} + +sub sharingPage { + return shift->{sharingPage}; +} + +sub gridLayout2 { + return shift->{gridLayout2}; +} + +sub buttonGroupSharing { + return shift->{buttonGroupSharing}; +} + +sub gridLayout_7 { + return shift->{gridLayout_7}; +} + +sub horizontalLayout { + return shift->{horizontalLayout}; +} + +sub sharingComp1 { + return shift->{sharingComp1}; +} + +sub layout14 { + return shift->{layout14}; +} + +sub _5 { + return shift->{_5}; +} + +sub shParam_1_1 { + return shift->{shParam_1_1}; +} + +sub shParam_1_2 { + return shift->{shParam_1_2}; +} + +sub shParam_1_3 { + return shift->{shParam_1_3}; +} + +sub shParam_1_4 { + return shift->{shParam_1_4}; +} + +sub shParam_1_5 { + return shift->{shParam_1_5}; +} + +sub shParam_1_6 { + return shift->{shParam_1_6}; +} + +sub shParam_1_7 { + return shift->{shParam_1_7}; +} + +sub shParam_1_8 { + return shift->{shParam_1_8}; +} + +sub shParam_1_9 { + return shift->{shParam_1_9}; +} + +sub comp1ShLabel { + return shift->{comp1ShLabel}; +} + +sub sharingComp2 { + return shift->{sharingComp2}; +} + +sub comp2ShLabel { + return shift->{comp2ShLabel}; +} + +sub layout13 { + return shift->{layout13}; +} + +sub _1 { + return shift->{_1}; +} + +sub shParam_2_1 { + return shift->{shParam_2_1}; +} + +sub shParam_2_2 { + return shift->{shParam_2_2}; +} + +sub shParam_2_3 { + return shift->{shParam_2_3}; +} + +sub shParam_2_4 { + return shift->{shParam_2_4}; +} + +sub shParam_2_5 { + return shift->{shParam_2_5}; +} + +sub shParam_2_6 { + return shift->{shParam_2_6}; +} + +sub shParam_2_7 { + return shift->{shParam_2_7}; +} + +sub shParam_2_8 { + return shift->{shParam_2_8}; +} + +sub shParam_2_9 { + return shift->{shParam_2_9}; +} + +sub sharingComp3 { + return shift->{sharingComp3}; +} + +sub comp3ShLabel { + return shift->{comp3ShLabel}; +} + +sub layout15 { + return shift->{layout15}; +} + +sub _3 { + return shift->{_3}; +} + +sub shParam_3_1 { + return shift->{shParam_3_1}; +} + +sub shParam_3_2 { + return shift->{shParam_3_2}; +} + +sub shParam_3_3 { + return shift->{shParam_3_3}; +} + +sub shParam_3_4 { + return shift->{shParam_3_4}; +} + +sub shParam_3_5 { + return shift->{shParam_3_5}; +} + +sub shParam_3_6 { + return shift->{shParam_3_6}; +} + +sub shParam_3_7 { + return shift->{shParam_3_7}; +} + +sub shParam_3_8 { + return shift->{shParam_3_8}; +} + +sub shParam_3_9 { + return shift->{shParam_3_9}; +} + +sub initializationPage { + return shift->{initializationPage}; +} + +sub gridLayout3 { + return shift->{gridLayout3}; +} + +sub initParamTable { + return shift->{initParamTable}; +} + +sub msrPage { + return shift->{msrPage}; +} + +sub gridLayout4 { + return shift->{gridLayout4}; +} + +sub vboxLayout { + return shift->{vboxLayout}; +} + +sub groupTitle { + return shift->{groupTitle}; +} + +sub gridLayout5 { + return shift->{gridLayout5}; +} + +sub vboxLayout1 { + return shift->{vboxLayout1}; +} + +sub titleLabel { + return shift->{titleLabel}; +} + +sub title { + return shift->{title}; +} + +sub hboxLayout { + return shift->{hboxLayout}; +} + +sub fileNameLabel { + return shift->{fileNameLabel}; +} + +sub fileName { + return shift->{fileName}; +} + +sub textMSROutput { + return shift->{textMSROutput}; +} + +sub fourierPage { + return shift->{fourierPage}; +} + +sub gridLayout6 { + return shift->{gridLayout6}; +} + +sub fourierBox { + return shift->{fourierBox}; +} + +sub layout34 { + return shift->{layout34}; +} + +sub gridLayout7 { + return shift->{gridLayout7}; +} + +sub frqMax { + return shift->{frqMax}; +} + +sub funits { + return shift->{funits}; +} + +sub fplot { + return shift->{fplot}; +} + +sub textLabel1_3_8 { + return shift->{textLabel1_3_8}; +} + +sub textLabel1_7 { + return shift->{textLabel1_7}; +} + +sub fplotLabel { + return shift->{fplotLabel}; +} + +sub textLabel1_3_4 { + return shift->{textLabel1_3_4}; +} + +sub fapodization { + return shift->{fapodization}; +} + +sub fapodizationLabel { + return shift->{fapodizationLabel}; +} + +sub textLabel1_3_3 { + return shift->{textLabel1_3_3}; +} + +sub textLabel1_2 { + return shift->{textLabel1_2}; +} + +sub textLabel1_3_6 { + return shift->{textLabel1_3_6}; +} + +sub fphase { + return shift->{fphase}; +} + +sub textLabel1_3_5 { + return shift->{textLabel1_3_5}; +} + +sub textLabel1_3_7 { + return shift->{textLabel1_3_7}; +} + +sub frqMin { + return shift->{frqMin}; +} + +sub textLabel1 { + return shift->{textLabel1}; +} + +sub label { + return shift->{label}; +} + +sub rrfBox { + return shift->{rrfBox}; +} + +sub layout35 { + return shift->{layout35}; +} + +sub gridLayout8 { + return shift->{gridLayout8}; +} + +sub textLabel1_6_2_2 { + return shift->{textLabel1_6_2_2}; +} + +sub textLabel1_6 { + return shift->{textLabel1_6}; +} + +sub textLabel1_6_2_4 { + return shift->{textLabel1_6_2_4}; +} + +sub rrfFrq { + return shift->{rrfFrq}; +} + +sub textLabel1_6_2_3 { + return shift->{textLabel1_6_2_3}; +} + +sub rrfPack { + return shift->{rrfPack}; +} + +sub textLabel1_6_2 { + return shift->{textLabel1_6_2}; +} + +sub rrfUnits { + return shift->{rrfUnits}; +} + +sub rrfPhase { + return shift->{rrfPhase}; +} + +sub t0Page { + return shift->{t0Page}; +} + +sub gridLayout9 { + return shift->{gridLayout9}; +} + +sub hboxLayout1 { + return shift->{hboxLayout1}; +} + +sub groupHist0 { + return shift->{groupHist0}; +} + +sub layout16_2 { + return shift->{layout16_2}; +} + +sub vboxLayout2 { + return shift->{vboxLayout2}; +} + +sub textLabel2 { + return shift->{textLabel2}; +} + +sub textLabel2_2_2_3 { + return shift->{textLabel2_2_2_3}; +} + +sub textLabel2_2_2 { + return shift->{textLabel2_2_2}; +} + +sub textLabel2_2_2_2 { + return shift->{textLabel2_2_2_2}; +} + +sub textLabel2_2_2_2_2 { + return shift->{textLabel2_2_2_2_2}; +} + +sub groupHist1 { + return shift->{groupHist1}; +} + +sub layout18 { + return shift->{layout18}; +} + +sub vboxLayout3 { + return shift->{vboxLayout3}; +} + +sub t01 { + return shift->{t01}; +} + +sub bg11 { + return shift->{bg11}; +} + +sub bg21 { + return shift->{bg21}; +} + +sub data11 { + return shift->{data11}; +} + +sub data21 { + return shift->{data21}; +} + +sub groupHist2 { + return shift->{groupHist2}; +} + +sub layout18_2 { + return shift->{layout18_2}; +} + +sub vboxLayout4 { + return shift->{vboxLayout4}; +} + +sub t02 { + return shift->{t02}; +} + +sub bg12 { + return shift->{bg12}; +} + +sub bg22 { + return shift->{bg22}; +} + +sub data12 { + return shift->{data12}; +} + +sub data22 { + return shift->{data22}; +} + +sub groupHist3 { + return shift->{groupHist3}; +} + +sub layout18_3 { + return shift->{layout18_3}; +} + +sub vboxLayout5 { + return shift->{vboxLayout5}; +} + +sub t03 { + return shift->{t03}; +} + +sub bg13 { + return shift->{bg13}; +} + +sub bg23 { + return shift->{bg23}; +} + +sub data13 { + return shift->{data13}; +} + +sub data23 { + return shift->{data23}; +} + +sub groupHist4 { + return shift->{groupHist4}; +} + +sub layout18_4 { + return shift->{layout18_4}; +} + +sub vboxLayout6 { + return shift->{vboxLayout6}; +} + +sub t04 { + return shift->{t04}; +} + +sub bg14 { + return shift->{bg14}; +} + +sub bg24 { + return shift->{bg24}; +} + +sub data14 { + return shift->{data14}; +} + +sub data24 { + return shift->{data24}; +} + +sub hboxLayout2 { + return shift->{hboxLayout2}; +} + +sub spacer1 { + return shift->{spacer1}; +} + +sub t0Update { + return shift->{t0Update}; +} + +sub tabPage { + return shift->{tabPage}; +} + +sub gridLayout10 { + return shift->{gridLayout10}; +} + +sub vboxLayout7 { + return shift->{vboxLayout7}; +} + +sub gridLayout11 { + return shift->{gridLayout11}; +} + +sub theoryBlock_Label { + return shift->{theoryBlock_Label}; +} + +sub theoryBlock { + return shift->{theoryBlock}; +} + +sub parametersList_Label { + return shift->{parametersList_Label}; +} + +sub parametersList { + return shift->{parametersList}; +} + +sub hboxLayout3 { + return shift->{hboxLayout3}; +} + +sub cParamsCombo { + return shift->{cParamsCombo}; +} + +sub textLabel1_4_6 { + return shift->{textLabel1_4_6}; +} + +sub constraintLine { + return shift->{constraintLine}; +} + +sub addConstraint { + return shift->{addConstraint}; +} + +sub textLabel2_2_3_4 { + return shift->{textLabel2_2_3_4}; +} + +sub functionsBlock { + return shift->{functionsBlock}; +} + +sub hboxLayout4 { + return shift->{hboxLayout4}; +} + +sub textLabel1_6_3 { + return shift->{textLabel1_6_3}; +} + +sub resetFunc { + return shift->{resetFunc}; +} + +sub menuBar { + return shift->{menuBar}; +} + +sub fileMenu { + return shift->{fileMenu}; +} + +sub actions { + return shift->{actions}; +} + +sub parameters { + return shift->{parameters}; +} + +sub options { + return shift->{options}; +} + +sub helpMenu { + return shift->{helpMenu}; +} + +sub fileToolBar { + return shift->{fileToolBar}; +} + +sub actionsToolBar { + return shift->{actionsToolBar}; +} + + +sub setupUi { + my ( $class, $muSRFit4 ) = @_; + my $self = bless {}, $class; + if ( !defined $muSRFit4->objectName() ) { + $muSRFit4->setObjectName( "muSRFit4" ); + } + $muSRFit4->resize( 600, 505 ); + my $sizePolicy = Qt::SizePolicy( Qt::SizePolicy::Expanding(), Qt::SizePolicy::Expanding() ); + $self->{$sizePolicy} = $sizePolicy; + $sizePolicy->setHorizontalStretch( 1 ); + $sizePolicy->setVerticalStretch( 1 ); + $sizePolicy->setHeightForWidth( $muSRFit4->sizePolicy()->hasHeightForWidth() ); + $muSRFit4->setSizePolicy( $sizePolicy ); + $muSRFit4->setMinimumSize( Qt::Size(600, 505) ); + my $icon = Qt::Icon(); + $icon->addPixmap(Qt::Pixmap("icos/MuSRFit.png"), Qt::Icon::Normal(), Qt::Icon::Off() ); + $muSRFit4->setWindowIcon( $icon ); + my $fileSaveAction = Qt::Action($muSRFit4); + $self->{fileSaveAction} = $fileSaveAction; + $fileSaveAction->setObjectName( "fileSaveAction" ); + my $icon1 = Qt::Icon(); + $icon1->addPixmap(Qt::Pixmap("icos/save.png"), Qt::Icon::Normal(), Qt::Icon::Off() ); + $fileSaveAction->setIcon( $icon1 ); + my $fileExitAction = Qt::Action($muSRFit4); + $self->{fileExitAction} = $fileExitAction; + $fileExitAction->setObjectName( "fileExitAction" ); + my $icon2 = Qt::Icon(); + $icon2->addPixmap(Qt::Pixmap("icos/exit.png"), Qt::Icon::Normal(), Qt::Icon::Off() ); + $fileExitAction->setIcon( $icon2 ); + my $helpAboutAction = Qt::Action($muSRFit4); + $self->{helpAboutAction} = $helpAboutAction; + $helpAboutAction->setObjectName( "helpAboutAction" ); + my $fileExistCheck = Qt::Action($muSRFit4); + $self->{fileExistCheck} = $fileExistCheck; + $fileExistCheck->setObjectName( "fileExistCheck" ); + $fileExistCheck->setCheckable( 1 ); + $fileExistCheck->setChecked( 0 ); + my $manualFile = Qt::Action($muSRFit4); + $self->{manualFile} = $manualFile; + $manualFile->setObjectName( "manualFile" ); + $manualFile->setCheckable( 1 ); + my $fileChangeDirAction = Qt::Action($muSRFit4); + $self->{fileChangeDirAction} = $fileChangeDirAction; + $fileChangeDirAction->setObjectName( "fileChangeDirAction" ); + my $icon3 = Qt::Icon(); + $icon3->addPixmap(Qt::Pixmap("icos/chdir.png"), Qt::Icon::Normal(), Qt::Icon::Off() ); + $fileChangeDirAction->setIcon( $icon3 ); + my $optionsnew_itemAction = Qt::Action($muSRFit4); + $self->{optionsnew_itemAction} = $optionsnew_itemAction; + $optionsnew_itemAction->setObjectName( "optionsnew_itemAction" ); + my $parametersExport_AsAction = Qt::Action($muSRFit4); + $self->{parametersExport_AsAction} = $parametersExport_AsAction; + $parametersExport_AsAction->setObjectName( "parametersExport_AsAction" ); + my $icon4 = Qt::Icon(); + $icon4->addPixmap(Qt::Pixmap("icos/Export.png"), Qt::Icon::Normal(), Qt::Icon::Off() ); + $parametersExport_AsAction->setIcon( $icon4 ); + my $parametersAppend_ToAction = Qt::Action($muSRFit4); + $self->{parametersAppend_ToAction} = $parametersAppend_ToAction; + $parametersAppend_ToAction->setObjectName( "parametersAppend_ToAction" ); + my $icon5 = Qt::Icon(); + $icon5->addPixmap(Qt::Pixmap("icos/Append.png"), Qt::Icon::Normal(), Qt::Icon::Off() ); + $parametersAppend_ToAction->setIcon( $icon5 ); + my $fit = Qt::Action($muSRFit4); + $self->{fit} = $fit; + $fit->setObjectName( "fit" ); + my $icon6 = Qt::Icon(); + $icon6->addPixmap(Qt::Pixmap("icos/Fit.png"), Qt::Icon::Normal(), Qt::Icon::Off() ); + $fit->setIcon( $icon6 ); + my $plot = Qt::Action($muSRFit4); + $self->{plot} = $plot; + $plot->setObjectName( "plot" ); + $plot->setCheckable( 0 ); + my $icon7 = Qt::Icon(); + $icon7->addPixmap(Qt::Pixmap("icos/Plot.png"), Qt::Icon::Normal(), Qt::Icon::Off() ); + $plot->setIcon( $icon7 ); + my $t0 = Qt::Action($muSRFit4); + $self->{t0} = $t0; + $t0->setObjectName( "t0" ); + my $icon8 = Qt::Icon(); + $icon8->addPixmap(Qt::Pixmap("icos/T0.png"), Qt::Icon::Normal(), Qt::Icon::Off() ); + $t0->setIcon( $icon8 ); + my $optionsFourier = Qt::Action($muSRFit4); + $self->{optionsFourier} = $optionsFourier; + $optionsFourier->setObjectName( "optionsFourier" ); + $optionsFourier->setCheckable( 1 ); + my $optionsT0 = Qt::Action($muSRFit4); + $self->{optionsT0} = $optionsT0; + $optionsT0->setObjectName( "optionsT0" ); + $optionsT0->setCheckable( 1 ); + my $widget = Qt::Widget( $muSRFit4 ); + $self->{widget} = $widget; + $widget->setObjectName( "widget" ); + my $gridLayout = Qt::GridLayout( $widget ); + $self->{gridLayout} = $gridLayout; + $gridLayout->setSpacing( 6 ); + $gridLayout->setMargin( 11 ); + $gridLayout->setObjectName( "gridLayout" ); + my $musrfit_tabs = Qt::TabWidget( $widget ); + $self->{musrfit_tabs} = $musrfit_tabs; + $musrfit_tabs->setObjectName( "musrfit_tabs" ); + $musrfit_tabs->setEnabled( 1 ); + $sizePolicy->setHeightForWidth( $musrfit_tabs->sizePolicy()->hasHeightForWidth() ); + $musrfit_tabs->setSizePolicy( $sizePolicy ); + $musrfit_tabs->setMinimumSize( Qt::Size(600, 400) ); + $musrfit_tabs->setMaximumSize( Qt::Size(32767, 32767) ); + my $runsPage = Qt::Widget( ); + $self->{runsPage} = $runsPage; + $runsPage->setObjectName( "runsPage" ); + my $gridLayout_1 = Qt::GridLayout( $runsPage ); + $self->{gridLayout_1} = $gridLayout_1; + $gridLayout_1->setSpacing( 6 ); + $gridLayout_1->setMargin( 11 ); + $gridLayout_1->setObjectName( "gridLayout_1" ); + my $gridLayout_2 = Qt::GridLayout( ); + $self->{gridLayout_2} = $gridLayout_2; + $gridLayout_2->setSpacing( 0 ); + $gridLayout_2->setObjectName( "gridLayout_2" ); + $gridLayout_2->setSizeConstraint( Qt::Layout::SetMinimumSize() ); + my $runsMan = Qt::GroupBox( $runsPage ); + $self->{runsMan} = $runsMan; + $runsMan->setObjectName( "runsMan" ); + $sizePolicy->setHeightForWidth( $runsMan->sizePolicy()->hasHeightForWidth() ); + $runsMan->setSizePolicy( $sizePolicy ); + $runsMan->setMinimumSize( Qt::Size(0, 80) ); + $runsMan->setBaseSize( Qt::Size(1, 1) ); + $runsMan->setAlignment( Qt::AlignHCenter()|Qt::AlignTop() ); + my $gridLayout_4 = Qt::GridLayout( $runsMan ); + $self->{gridLayout_4} = $gridLayout_4; + $gridLayout_4->setSpacing( 6 ); + $gridLayout_4->setMargin( 11 ); + $gridLayout_4->setObjectName( "gridLayout_4" ); + my $runFiles_2 = Qt::GridLayout( ); + $self->{runFiles_2} = $runFiles_2; + $runFiles_2->setSpacing( 6 ); + $runFiles_2->setObjectName( "runFiles_2" ); + my $spacer3 = Qt::SpacerItem( 411, 21, Qt::SizePolicy::Expanding(), Qt::SizePolicy::Minimum() ); + + $runFiles_2->addItem( $spacer3, 1, 0, 1, 1 ); + + my $runFiles = Qt::LineEdit( $runsMan ); + $self->{runFiles} = $runFiles; + $runFiles->setObjectName( "runFiles" ); + $runFiles->setEnabled( 1 ); + my $sizePolicy1 = Qt::SizePolicy( Qt::SizePolicy::Expanding(), Qt::SizePolicy::Fixed() ); + $self->{$sizePolicy1} = $sizePolicy1; + $sizePolicy1->setHorizontalStretch( 0 ); + $sizePolicy1->setVerticalStretch( 0 ); + $sizePolicy1->setHeightForWidth( $runFiles->sizePolicy()->hasHeightForWidth() ); + $runFiles->setSizePolicy( $sizePolicy1 ); + $runFiles->setMinimumSize( Qt::Size(0, 23) ); + $runFiles->setMaximumSize( Qt::Size(16777215, 25) ); + + $runFiles_2->addWidget( $runFiles, 0, 0, 1, 2 ); + + my $browse = Qt::PushButton( $runsMan ); + $self->{browse} = $browse; + $browse->setObjectName( "browse" ); + $browse->setEnabled( 1 ); + my $sizePolicy2 = Qt::SizePolicy( Qt::SizePolicy::Fixed(), Qt::SizePolicy::Preferred() ); + $self->{$sizePolicy2} = $sizePolicy2; + $sizePolicy2->setHorizontalStretch( 0 ); + $sizePolicy2->setVerticalStretch( 0 ); + $sizePolicy2->setHeightForWidth( $browse->sizePolicy()->hasHeightForWidth() ); + $browse->setSizePolicy( $sizePolicy2 ); + $browse->setMinimumSize( Qt::Size(0, 20) ); + $browse->setMaximumSize( Qt::Size(16777215, 25) ); + + $runFiles_2->addWidget( $browse, 1, 1, 1, 1 ); + + + $gridLayout_4->addLayout( $runFiles_2, 0, 0, 1, 1 ); + + + $gridLayout_2->addWidget( $runsMan, 1, 0, 1, 1 ); + + my $gridLayout_6 = Qt::GridLayout( ); + $self->{gridLayout_6} = $gridLayout_6; + $gridLayout_6->setSpacing( 6 ); + $gridLayout_6->setObjectName( "gridLayout_6" ); + $gridLayout_6->setSizeConstraint( Qt::Layout::SetMinimumSize() ); + my $fitAsyTypeLabel = Qt::Label( $runsPage ); + $self->{fitAsyTypeLabel} = $fitAsyTypeLabel; + $fitAsyTypeLabel->setObjectName( "fitAsyTypeLabel" ); + my $sizePolicy3 = Qt::SizePolicy( Qt::SizePolicy::Preferred(), Qt::SizePolicy::Fixed() ); + $self->{$sizePolicy3} = $sizePolicy3; + $sizePolicy3->setHorizontalStretch( 0 ); + $sizePolicy3->setVerticalStretch( 0 ); + $sizePolicy3->setHeightForWidth( $fitAsyTypeLabel->sizePolicy()->hasHeightForWidth() ); + $fitAsyTypeLabel->setSizePolicy( $sizePolicy3 ); + $fitAsyTypeLabel->setWordWrap( 0 ); + + $gridLayout_6->addWidget( $fitAsyTypeLabel, 0, 0, 1, 1 ); + + my $fitAsyType = Qt::ComboBox( $runsPage ); + $self->{fitAsyType} = $fitAsyType; + $fitAsyType->setObjectName( "fitAsyType" ); + $sizePolicy3->setHeightForWidth( $fitAsyType->sizePolicy()->hasHeightForWidth() ); + $fitAsyType->setSizePolicy( $sizePolicy3 ); + $fitAsyType->setMinimumSize( Qt::Size(0, 25) ); + $fitAsyType->setMaximumSize( Qt::Size(16777215, 25) ); + + $gridLayout_6->addWidget( $fitAsyType, 0, 1, 1, 1 ); + + my $histsLRBFLabel = Qt::Label( $runsPage ); + $self->{histsLRBFLabel} = $histsLRBFLabel; + $histsLRBFLabel->setObjectName( "histsLRBFLabel" ); + $sizePolicy3->setHeightForWidth( $histsLRBFLabel->sizePolicy()->hasHeightForWidth() ); + $histsLRBFLabel->setSizePolicy( $sizePolicy3 ); + $histsLRBFLabel->setWordWrap( 0 ); + + $gridLayout_6->addWidget( $histsLRBFLabel, 0, 2, 1, 1 ); + + my $histsLRBF = Qt::LineEdit( $runsPage ); + $self->{histsLRBF} = $histsLRBF; + $histsLRBF->setObjectName( "histsLRBF" ); + $sizePolicy3->setHeightForWidth( $histsLRBF->sizePolicy()->hasHeightForWidth() ); + $histsLRBF->setSizePolicy( $sizePolicy3 ); + $histsLRBF->setMinimumSize( Qt::Size(0, 25) ); + $histsLRBF->setMaximumSize( Qt::Size(16777215, 25) ); + + $gridLayout_6->addWidget( $histsLRBF, 0, 3, 1, 1 ); + + my $spacer4 = Qt::SpacerItem( 81, 21, Qt::SizePolicy::Expanding(), Qt::SizePolicy::Minimum() ); + + $gridLayout_6->addItem( $spacer4, 0, 4, 1, 1 ); + + + $gridLayout_2->addLayout( $gridLayout_6, 3, 0, 1, 1 ); + + my $runsAuto = Qt::GroupBox( $runsPage ); + $self->{runsAuto} = $runsAuto; + $runsAuto->setObjectName( "runsAuto" ); + $sizePolicy->setHeightForWidth( $runsAuto->sizePolicy()->hasHeightForWidth() ); + $runsAuto->setSizePolicy( $sizePolicy ); + $runsAuto->setMinimumSize( Qt::Size(0, 80) ); + $runsAuto->setAlignment( Qt::AlignHCenter()|Qt::AlignTop() ); + my $gridLayout_3 = Qt::GridLayout( $runsAuto ); + $self->{gridLayout_3} = $gridLayout_3; + $gridLayout_3->setSpacing( 6 ); + $gridLayout_3->setMargin( 11 ); + $gridLayout_3->setObjectName( "gridLayout_3" ); + my $runNumbers_2 = Qt::GridLayout( ); + $self->{runNumbers_2} = $runNumbers_2; + $runNumbers_2->setSpacing( 0 ); + $runNumbers_2->setObjectName( "runNumbers_2" ); + my $year = Qt::ComboBox( $runsAuto ); + $self->{year} = $year; + $year->setObjectName( "year" ); + $sizePolicy2->setHeightForWidth( $year->sizePolicy()->hasHeightForWidth() ); + $year->setSizePolicy( $sizePolicy2 ); + $year->setMinimumSize( Qt::Size(0, 20) ); + $year->setMaximumSize( Qt::Size(16777215, 25) ); + $year->setEditable( 0 ); + $year->setInsertPolicy( Qt::ComboBox::InsertAtTop() ); + $year->setAutoCompletion( 1 ); + $year->setDuplicatesEnabled( 0 ); + + $runNumbers_2->addWidget( $year, 1, 4, 1, 1 ); + + my $yearLabel = Qt::Label( $runsAuto ); + $self->{yearLabel} = $yearLabel; + $yearLabel->setObjectName( "yearLabel" ); + my $sizePolicy4 = Qt::SizePolicy( Qt::SizePolicy::Preferred(), Qt::SizePolicy::Preferred() ); + $self->{$sizePolicy4} = $sizePolicy4; + $sizePolicy4->setHorizontalStretch( 0 ); + $sizePolicy4->setVerticalStretch( 0 ); + $sizePolicy4->setHeightForWidth( $yearLabel->sizePolicy()->hasHeightForWidth() ); + $yearLabel->setSizePolicy( $sizePolicy4 ); + $yearLabel->setMinimumSize( Qt::Size(0, 20) ); + $yearLabel->setWordWrap( 0 ); + + $runNumbers_2->addWidget( $yearLabel, 1, 3, 1, 1 ); + + my $beamLineLabel = Qt::Label( $runsAuto ); + $self->{beamLineLabel} = $beamLineLabel; + $beamLineLabel->setObjectName( "beamLineLabel" ); + $sizePolicy4->setHeightForWidth( $beamLineLabel->sizePolicy()->hasHeightForWidth() ); + $beamLineLabel->setSizePolicy( $sizePolicy4 ); + $beamLineLabel->setMinimumSize( Qt::Size(0, 20) ); + $beamLineLabel->setMaximumSize( Qt::Size(16777215, 30) ); + $beamLineLabel->setWordWrap( 0 ); + + $runNumbers_2->addWidget( $beamLineLabel, 1, 1, 1, 1 ); + + my $beamLine = Qt::ComboBox( $runsAuto ); + $self->{beamLine} = $beamLine; + $beamLine->setObjectName( "beamLine" ); + $sizePolicy2->setHeightForWidth( $beamLine->sizePolicy()->hasHeightForWidth() ); + $beamLine->setSizePolicy( $sizePolicy2 ); + $beamLine->setMinimumSize( Qt::Size(0, 20) ); + $beamLine->setMaximumSize( Qt::Size(16777215, 25) ); + + $runNumbers_2->addWidget( $beamLine, 1, 2, 1, 1 ); + + my $spacer2 = Qt::SpacerItem( 181, 21, Qt::SizePolicy::Expanding(), Qt::SizePolicy::Minimum() ); + + $runNumbers_2->addItem( $spacer2, 1, 0, 1, 1 ); + + my $runNumbers = Qt::LineEdit( $runsAuto ); + $self->{runNumbers} = $runNumbers; + $runNumbers->setObjectName( "runNumbers" ); + $sizePolicy1->setHeightForWidth( $runNumbers->sizePolicy()->hasHeightForWidth() ); + $runNumbers->setSizePolicy( $sizePolicy1 ); + $runNumbers->setMinimumSize( Qt::Size(0, 23) ); + $runNumbers->setMaximumSize( Qt::Size(16777215, 25) ); + $runNumbers->setAlignment( Qt::AlignLeading()|Qt::AlignLeft()|Qt::AlignTop() ); + + $runNumbers_2->addWidget( $runNumbers, 0, 0, 1, 5 ); + + + $gridLayout_3->addLayout( $runNumbers_2, 0, 0, 1, 1 ); + + + $gridLayout_2->addWidget( $runsAuto, 0, 0, 1, 1 ); + + my $groupBox = Qt::GroupBox( $runsPage ); + $self->{groupBox} = $groupBox; + $groupBox->setObjectName( "groupBox" ); + my $sizePolicy5 = Qt::SizePolicy( Qt::SizePolicy::Expanding(), Qt::SizePolicy::Expanding() ); + $self->{$sizePolicy5} = $sizePolicy5; + $sizePolicy5->setHorizontalStretch( 0 ); + $sizePolicy5->setVerticalStretch( 0 ); + $sizePolicy5->setHeightForWidth( $groupBox->sizePolicy()->hasHeightForWidth() ); + $groupBox->setSizePolicy( $sizePolicy5 ); + $groupBox->setMinimumSize( Qt::Size(0, 220) ); + $groupBox->setBaseSize( Qt::Size(0, 0) ); + my $gridLayout_8 = Qt::GridLayout( $groupBox ); + $self->{gridLayout_8} = $gridLayout_8; + $gridLayout_8->setSpacing( 6 ); + $gridLayout_8->setMargin( 11 ); + $gridLayout_8->setObjectName( "gridLayout_8" ); + my $comp1Label = Qt::Label( $groupBox ); + $self->{comp1Label} = $comp1Label; + $comp1Label->setObjectName( "comp1Label" ); + my $palette = Qt::Palette(); + my $brush = Qt::Brush(Qt::Color(0, 0, 0, 255)); + $brush->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::WindowText(), $brush); + my $brush1 = Qt::Brush(Qt::Color(230, 240, 249, 255)); + $brush1->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Button(), $brush1); + my $brush2 = Qt::Brush(Qt::Color(255, 255, 255, 255)); + $brush2->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Light(), $brush2); + my $brush3 = Qt::Brush(Qt::Color(242, 247, 252, 255)); + $brush3->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Midlight(), $brush3); + my $brush4 = Qt::Brush(Qt::Color(115, 120, 124, 255)); + $brush4->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Dark(), $brush4); + my $brush5 = Qt::Brush(Qt::Color(154, 160, 166, 255)); + $brush5->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Mid(), $brush5); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Text(), $brush); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::BrightText(), $brush2); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::ButtonText(), $brush); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Base(), $brush2); + my $brush6 = Qt::Brush(Qt::Color(255, 255, 127, 255)); + $brush6->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Window(), $brush6); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Shadow(), $brush); + my $brush7 = Qt::Brush(Qt::Color(0, 0, 128, 255)); + $brush7->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Highlight(), $brush7); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::HighlightedText(), $brush2); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::Link(), $brush); + $palette->setBrush(Qt::Palette::Active(), Qt::Palette::LinkVisited(), $brush); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::WindowText(), $brush); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Button(), $brush1); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Light(), $brush2); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Midlight(), $brush2); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Dark(), $brush4); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Mid(), $brush5); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Text(), $brush); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::BrightText(), $brush2); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::ButtonText(), $brush); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Base(), $brush2); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Window(), $brush6); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Shadow(), $brush); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Highlight(), $brush7); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::HighlightedText(), $brush2); + my $brush8 = Qt::Brush(Qt::Color(0, 0, 238, 255)); + $brush8->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::Link(), $brush8); + my $brush9 = Qt::Brush(Qt::Color(82, 24, 139, 255)); + $brush9->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Inactive(), Qt::Palette::LinkVisited(), $brush9); + my $brush10 = Qt::Brush(Qt::Color(128, 128, 128, 255)); + $brush10->setStyle( Qt::SolidPattern() ); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::WindowText(), $brush10); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Button(), $brush1); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Light(), $brush2); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Midlight(), $brush2); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Dark(), $brush4); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Mid(), $brush5); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Text(), $brush10); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::BrightText(), $brush2); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::ButtonText(), $brush10); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Base(), $brush2); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Window(), $brush6); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Shadow(), $brush); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Highlight(), $brush7); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::HighlightedText(), $brush2); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::Link(), $brush8); + $palette->setBrush(Qt::Palette::Disabled(), Qt::Palette::LinkVisited(), $brush9); + $comp1Label->setPalette( $palette ); + $comp1Label->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $comp1Label, 0, 0, 1, 1 ); + + my $comp2Label = Qt::Label( $groupBox ); + $self->{comp2Label} = $comp2Label; + $comp2Label->setObjectName( "comp2Label" ); + my $palette1 = Qt::Palette(); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::WindowText(), $brush); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Button(), $brush1); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Light(), $brush2); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Midlight(), $brush3); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Dark(), $brush4); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Mid(), $brush5); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Text(), $brush); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::BrightText(), $brush2); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::ButtonText(), $brush); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Base(), $brush2); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Window(), $brush6); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Shadow(), $brush); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Highlight(), $brush7); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::HighlightedText(), $brush2); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::Link(), $brush); + $palette1->setBrush(Qt::Palette::Active(), Qt::Palette::LinkVisited(), $brush); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::WindowText(), $brush); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Button(), $brush1); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Light(), $brush2); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Midlight(), $brush2); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Dark(), $brush4); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Mid(), $brush5); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Text(), $brush); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::BrightText(), $brush2); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::ButtonText(), $brush); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Base(), $brush2); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Window(), $brush6); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Shadow(), $brush); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Highlight(), $brush7); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::HighlightedText(), $brush2); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::Link(), $brush8); + $palette1->setBrush(Qt::Palette::Inactive(), Qt::Palette::LinkVisited(), $brush9); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::WindowText(), $brush10); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Button(), $brush1); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Light(), $brush2); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Midlight(), $brush2); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Dark(), $brush4); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Mid(), $brush5); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Text(), $brush10); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::BrightText(), $brush2); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::ButtonText(), $brush10); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Base(), $brush2); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Window(), $brush6); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Shadow(), $brush); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Highlight(), $brush7); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::HighlightedText(), $brush2); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::Link(), $brush8); + $palette1->setBrush(Qt::Palette::Disabled(), Qt::Palette::LinkVisited(), $brush9); + $comp2Label->setPalette( $palette1 ); + $comp2Label->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $comp2Label, 0, 2, 1, 1 ); + + my $comp3Label = Qt::Label( $groupBox ); + $self->{comp3Label} = $comp3Label; + $comp3Label->setObjectName( "comp3Label" ); + my $palette2 = Qt::Palette(); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::WindowText(), $brush); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Button(), $brush1); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Light(), $brush2); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Midlight(), $brush3); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Dark(), $brush4); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Mid(), $brush5); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Text(), $brush); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::BrightText(), $brush2); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::ButtonText(), $brush); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Base(), $brush2); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Window(), $brush6); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Shadow(), $brush); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Highlight(), $brush7); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::HighlightedText(), $brush2); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::Link(), $brush); + $palette2->setBrush(Qt::Palette::Active(), Qt::Palette::LinkVisited(), $brush); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::WindowText(), $brush); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Button(), $brush1); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Light(), $brush2); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Midlight(), $brush2); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Dark(), $brush4); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Mid(), $brush5); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Text(), $brush); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::BrightText(), $brush2); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::ButtonText(), $brush); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Base(), $brush2); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Window(), $brush6); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Shadow(), $brush); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Highlight(), $brush7); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::HighlightedText(), $brush2); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::Link(), $brush8); + $palette2->setBrush(Qt::Palette::Inactive(), Qt::Palette::LinkVisited(), $brush9); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::WindowText(), $brush10); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Button(), $brush1); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Light(), $brush2); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Midlight(), $brush2); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Dark(), $brush4); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Mid(), $brush5); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Text(), $brush10); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::BrightText(), $brush2); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::ButtonText(), $brush10); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Base(), $brush2); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Window(), $brush6); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Shadow(), $brush); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Highlight(), $brush7); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::HighlightedText(), $brush2); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::Link(), $brush8); + $palette2->setBrush(Qt::Palette::Disabled(), Qt::Palette::LinkVisited(), $brush9); + $comp3Label->setPalette( $palette2 ); + $comp3Label->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $comp3Label, 0, 4, 1, 1 ); + + my $fitType1 = Qt::ComboBox( $groupBox ); + $self->{fitType1} = $fitType1; + $fitType1->setObjectName( "fitType1" ); + $sizePolicy3->setHeightForWidth( $fitType1->sizePolicy()->hasHeightForWidth() ); + $fitType1->setSizePolicy( $sizePolicy3 ); + $fitType1->setMinimumSize( Qt::Size(0, 25) ); + $fitType1->setMaximumSize( Qt::Size(16777215, 25) ); + $fitType1->setAutoCompletion( 0 ); + $fitType1->setDuplicatesEnabled( 0 ); + + $gridLayout_8->addWidget( $fitType1, 1, 0, 1, 2 ); + + my $fitType2 = Qt::ComboBox( $groupBox ); + $self->{fitType2} = $fitType2; + $fitType2->setObjectName( "fitType2" ); + $sizePolicy3->setHeightForWidth( $fitType2->sizePolicy()->hasHeightForWidth() ); + $fitType2->setSizePolicy( $sizePolicy3 ); + $fitType2->setMinimumSize( Qt::Size(0, 25) ); + $fitType2->setMaximumSize( Qt::Size(16777215, 25) ); + + $gridLayout_8->addWidget( $fitType2, 1, 2, 1, 2 ); + + my $fitType3 = Qt::ComboBox( $groupBox ); + $self->{fitType3} = $fitType3; + $fitType3->setObjectName( "fitType3" ); + $sizePolicy3->setHeightForWidth( $fitType3->sizePolicy()->hasHeightForWidth() ); + $fitType3->setSizePolicy( $sizePolicy3 ); + $fitType3->setMinimumSize( Qt::Size(0, 25) ); + $fitType3->setMaximumSize( Qt::Size(16777215, 25) ); + + $gridLayout_8->addWidget( $fitType3, 1, 4, 1, 1 ); + + my $tisLabel = Qt::Label( $groupBox ); + $self->{tisLabel} = $tisLabel; + $tisLabel->setObjectName( "tisLabel" ); + $sizePolicy3->setHeightForWidth( $tisLabel->sizePolicy()->hasHeightForWidth() ); + $tisLabel->setSizePolicy( $sizePolicy3 ); + $tisLabel->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $tisLabel, 2, 0, 1, 1 ); + + my $tfsLabel = Qt::Label( $groupBox ); + $self->{tfsLabel} = $tfsLabel; + $tfsLabel->setObjectName( "tfsLabel" ); + $sizePolicy3->setHeightForWidth( $tfsLabel->sizePolicy()->hasHeightForWidth() ); + $tfsLabel->setSizePolicy( $sizePolicy3 ); + $tfsLabel->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $tfsLabel, 2, 2, 1, 1 ); + + my $binsLabel = Qt::Label( $groupBox ); + $self->{binsLabel} = $binsLabel; + $binsLabel->setObjectName( "binsLabel" ); + $sizePolicy3->setHeightForWidth( $binsLabel->sizePolicy()->hasHeightForWidth() ); + $binsLabel->setSizePolicy( $sizePolicy3 ); + $binsLabel->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $binsLabel, 2, 4, 1, 1 ); + + my $tis = Qt::LineEdit( $groupBox ); + $self->{tis} = $tis; + $tis->setObjectName( "tis" ); + $sizePolicy3->setHeightForWidth( $tis->sizePolicy()->hasHeightForWidth() ); + $tis->setSizePolicy( $sizePolicy3 ); + $tis->setMinimumSize( Qt::Size(0, 25) ); + $tis->setMaximumSize( Qt::Size(16777215, 25) ); + + $gridLayout_8->addWidget( $tis, 3, 0, 1, 1 ); + + my $tfs = Qt::LineEdit( $groupBox ); + $self->{tfs} = $tfs; + $tfs->setObjectName( "tfs" ); + $sizePolicy3->setHeightForWidth( $tfs->sizePolicy()->hasHeightForWidth() ); + $tfs->setSizePolicy( $sizePolicy3 ); + $tfs->setMinimumSize( Qt::Size(0, 25) ); + $tfs->setMaximumSize( Qt::Size(16777215, 25) ); + + $gridLayout_8->addWidget( $tfs, 3, 2, 1, 1 ); + + my $bins = Qt::LineEdit( $groupBox ); + $self->{bins} = $bins; + $bins->setObjectName( "bins" ); + $sizePolicy3->setHeightForWidth( $bins->sizePolicy()->hasHeightForWidth() ); + $bins->setSizePolicy( $sizePolicy3 ); + $bins->setMinimumSize( Qt::Size(0, 25) ); + $bins->setMaximumSize( Qt::Size(16777215, 25) ); + + $gridLayout_8->addWidget( $bins, 3, 4, 1, 1 ); + + my $textLabel1_4 = Qt::Label( $groupBox ); + $self->{textLabel1_4} = $textLabel1_4; + $textLabel1_4->setObjectName( "textLabel1_4" ); + $textLabel1_4->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $textLabel1_4, 4, 0, 1, 1 ); + + my $textLabel1_8 = Qt::Label( $groupBox ); + $self->{textLabel1_8} = $textLabel1_8; + $textLabel1_8->setObjectName( "textLabel1_8" ); + $textLabel1_8->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $textLabel1_8, 4, 2, 1, 1 ); + + my $textLabel1_4_2_2 = Qt::Label( $groupBox ); + $self->{textLabel1_4_2_2} = $textLabel1_4_2_2; + $textLabel1_4_2_2->setObjectName( "textLabel1_4_2_2" ); + $textLabel1_4_2_2->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $textLabel1_4_2_2, 4, 4, 1, 1 ); + + my $xi = Qt::LineEdit( $groupBox ); + $self->{xi} = $xi; + $xi->setObjectName( "xi" ); + $xi->setMinimumSize( Qt::Size(0, 25) ); + + $gridLayout_8->addWidget( $xi, 5, 0, 1, 1 ); + + my $xf = Qt::LineEdit( $groupBox ); + $self->{xf} = $xf; + $xf->setObjectName( "xf" ); + $xf->setMinimumSize( Qt::Size(0, 25) ); + + $gridLayout_8->addWidget( $xf, 5, 2, 1, 1 ); + + my $viewBin = Qt::LineEdit( $groupBox ); + $self->{viewBin} = $viewBin; + $viewBin->setObjectName( "viewBin" ); + $viewBin->setMinimumSize( Qt::Size(0, 25) ); + + $gridLayout_8->addWidget( $viewBin, 5, 3, 1, 2 ); + + my $textLabel1_4_2 = Qt::Label( $groupBox ); + $self->{textLabel1_4_2} = $textLabel1_4_2; + $textLabel1_4_2->setObjectName( "textLabel1_4_2" ); + $textLabel1_4_2->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $textLabel1_4_2, 6, 0, 1, 1 ); + + my $textLabel1_4_3 = Qt::Label( $groupBox ); + $self->{textLabel1_4_3} = $textLabel1_4_3; + $textLabel1_4_3->setObjectName( "textLabel1_4_3" ); + $textLabel1_4_3->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $textLabel1_4_3, 6, 2, 1, 1 ); + + my $textLabel1_4_4 = Qt::Label( $groupBox ); + $self->{textLabel1_4_4} = $textLabel1_4_4; + $textLabel1_4_4->setObjectName( "textLabel1_4_4" ); + $textLabel1_4_4->setWordWrap( 0 ); + + $gridLayout_8->addWidget( $textLabel1_4_4, 6, 4, 1, 1 ); + + my $yi = Qt::LineEdit( $groupBox ); + $self->{yi} = $yi; + $yi->setObjectName( "yi" ); + + $gridLayout_8->addWidget( $yi, 7, 0, 1, 1 ); + + my $yf = Qt::LineEdit( $groupBox ); + $self->{yf} = $yf; + $yf->setObjectName( "yf" ); + + $gridLayout_8->addWidget( $yf, 7, 1, 1, 2 ); + + my $ltc = Qt::CheckBox( $groupBox ); + $self->{ltc} = $ltc; + $ltc->setObjectName( "ltc" ); + $ltc->setChecked( 1 ); + + $gridLayout_8->addWidget( $ltc, 7, 4, 1, 1 ); + + + $gridLayout_2->addWidget( $groupBox, 2, 0, 1, 1 ); + + + $gridLayout_1->addLayout( $gridLayout_2, 0, 0, 1, 1 ); + + $musrfit_tabs->addTab( $runsPage, Qt::Application::translate( 'MuSRFit4', "RUNS", undef, Qt::Application::UnicodeUTF8() ) ); + my $fittingPage = Qt::Widget( ); + $self->{fittingPage} = $fittingPage; + $fittingPage->setObjectName( "fittingPage" ); + my $gridLayout1 = Qt::GridLayout( $fittingPage ); + $self->{gridLayout1} = $gridLayout1; + $gridLayout1->setSpacing( 6 ); + $gridLayout1->setMargin( 11 ); + $gridLayout1->setObjectName( "gridLayout1" ); + my $fitGrid = Qt::VBoxLayout( ); + $self->{fitGrid} = $fitGrid; + $fitGrid->setSpacing( 6 ); + $fitGrid->setObjectName( "fitGrid" ); + my $fitLayout = Qt::GridLayout( ); + $self->{fitLayout} = $fitLayout; + $fitLayout->setSpacing( 6 ); + $fitLayout->setObjectName( "fitLayout" ); + my $errorCalc = Qt::ComboBox( $fittingPage ); + $self->{errorCalc} = $errorCalc; + $errorCalc->setObjectName( "errorCalc" ); + $errorCalc->setMinimumSize( Qt::Size(0, 25) ); + $errorCalc->setMaximumSize( Qt::Size(150, 16777215) ); + + $fitLayout->addWidget( $errorCalc, 1, 1, 1, 1 ); + + my $minimization = Qt::ComboBox( $fittingPage ); + $self->{minimization} = $minimization; + $minimization->setObjectName( "minimization" ); + $minimization->setMinimumSize( Qt::Size(0, 25) ); + $minimization->setMaximumSize( Qt::Size(150, 16777215) ); + + $fitLayout->addWidget( $minimization, 0, 1, 1, 1 ); + + my $textLabel1_5 = Qt::Label( $fittingPage ); + $self->{textLabel1_5} = $textLabel1_5; + $textLabel1_5->setObjectName( "textLabel1_5" ); + $textLabel1_5->setAlignment( Qt::AlignRight()|Qt::AlignTrailing()|Qt::AlignVCenter() ); + $textLabel1_5->setWordWrap( 0 ); + + $fitLayout->addWidget( $textLabel1_5, 0, 0, 1, 1 ); + + my $textLabel1_5_2 = Qt::Label( $fittingPage ); + $self->{textLabel1_5_2} = $textLabel1_5_2; + $textLabel1_5_2->setObjectName( "textLabel1_5_2" ); + $textLabel1_5_2->setAlignment( Qt::AlignRight()|Qt::AlignTrailing()|Qt::AlignVCenter() ); + $textLabel1_5_2->setWordWrap( 0 ); + + $fitLayout->addWidget( $textLabel1_5_2, 1, 0, 1, 1 ); + + + $fitGrid->addLayout( $fitLayout ); + + + $gridLayout1->addLayout( $fitGrid, 0, 0, 1, 1 ); + + my $fitTextOutput = Qt::TextEdit( $fittingPage ); + $self->{fitTextOutput} = $fitTextOutput; + $fitTextOutput->setObjectName( "fitTextOutput" ); + + $gridLayout1->addWidget( $fitTextOutput, 1, 0, 1, 1 ); + + $musrfit_tabs->addTab( $fittingPage, Qt::Application::translate( 'MuSRFit4', "Fitting", undef, Qt::Application::UnicodeUTF8() ) ); + my $sharingPage = Qt::Widget( ); + $self->{sharingPage} = $sharingPage; + $sharingPage->setObjectName( "sharingPage" ); + my $gridLayout2 = Qt::GridLayout( $sharingPage ); + $self->{gridLayout2} = $gridLayout2; + $gridLayout2->setSpacing( 6 ); + $gridLayout2->setMargin( 11 ); + $gridLayout2->setObjectName( "gridLayout2" ); + my $buttonGroupSharing = Qt::GroupBox( $sharingPage ); + $self->{buttonGroupSharing} = $buttonGroupSharing; + $buttonGroupSharing->setObjectName( "buttonGroupSharing" ); + $sizePolicy5->setHeightForWidth( $buttonGroupSharing->sizePolicy()->hasHeightForWidth() ); + $buttonGroupSharing->setSizePolicy( $sizePolicy5 ); + $buttonGroupSharing->setAlignment( Qt::AlignLeading() ); + $buttonGroupSharing->setCheckable( 1 ); + $buttonGroupSharing->setChecked( 0 ); + my $gridLayout_7 = Qt::GridLayout( $buttonGroupSharing ); + $self->{gridLayout_7} = $gridLayout_7; + $gridLayout_7->setSpacing( 6 ); + $gridLayout_7->setMargin( 11 ); + $gridLayout_7->setObjectName( "gridLayout_7" ); + my $horizontalLayout = Qt::HBoxLayout( ); + $self->{horizontalLayout} = $horizontalLayout; + $horizontalLayout->setSpacing( 6 ); + $horizontalLayout->setObjectName( "horizontalLayout" ); + my $sharingComp1 = Qt::GroupBox( $buttonGroupSharing ); + $self->{sharingComp1} = $sharingComp1; + $sharingComp1->setObjectName( "sharingComp1" ); + $sharingComp1->setEnabled( 0 ); + my $sizePolicy6 = Qt::SizePolicy( Qt::SizePolicy::Expanding(), Qt::SizePolicy::MinimumExpanding() ); + $self->{$sizePolicy6} = $sizePolicy6; + $sizePolicy6->setHorizontalStretch( 0 ); + $sizePolicy6->setVerticalStretch( 0 ); + $sizePolicy6->setHeightForWidth( $sharingComp1->sizePolicy()->hasHeightForWidth() ); + $sharingComp1->setSizePolicy( $sizePolicy6 ); + $sharingComp1->setAlignment( Qt::AlignLeading() ); + my $layout14 = Qt::Widget( $sharingComp1 ); + $self->{layout14} = $layout14; + $layout14->setObjectName( "layout14" ); + $layout14->setGeometry( Qt::Rect(40, 60, 81, 266) ); + my $_5 = Qt::VBoxLayout( $layout14 ); + $self->{_5} = $_5; + $_5->setSpacing( 0 ); + $_5->setMargin( 0 ); + $_5->setObjectName( "_5" ); + $_5->setContentsMargins(0, 0, 0, 0 ); + my $shParam_1_1 = Qt::CheckBox( $layout14 ); + $self->{shParam_1_1} = $shParam_1_1; + $shParam_1_1->setObjectName( "shParam_1_1" ); + + $_5->addWidget( $shParam_1_1 ); + + my $shParam_1_2 = Qt::CheckBox( $layout14 ); + $self->{shParam_1_2} = $shParam_1_2; + $shParam_1_2->setObjectName( "shParam_1_2" ); + + $_5->addWidget( $shParam_1_2 ); + + my $shParam_1_3 = Qt::CheckBox( $layout14 ); + $self->{shParam_1_3} = $shParam_1_3; + $shParam_1_3->setObjectName( "shParam_1_3" ); + + $_5->addWidget( $shParam_1_3 ); + + my $shParam_1_4 = Qt::CheckBox( $layout14 ); + $self->{shParam_1_4} = $shParam_1_4; + $shParam_1_4->setObjectName( "shParam_1_4" ); + + $_5->addWidget( $shParam_1_4 ); + + my $shParam_1_5 = Qt::CheckBox( $layout14 ); + $self->{shParam_1_5} = $shParam_1_5; + $shParam_1_5->setObjectName( "shParam_1_5" ); + $shParam_1_5->setEnabled( 0 ); + $shParam_1_5->setTristate( 0 ); + + $_5->addWidget( $shParam_1_5 ); + + my $shParam_1_6 = Qt::CheckBox( $layout14 ); + $self->{shParam_1_6} = $shParam_1_6; + $shParam_1_6->setObjectName( "shParam_1_6" ); + $shParam_1_6->setEnabled( 0 ); + $shParam_1_6->setTristate( 0 ); + + $_5->addWidget( $shParam_1_6 ); + + my $shParam_1_7 = Qt::CheckBox( $layout14 ); + $self->{shParam_1_7} = $shParam_1_7; + $shParam_1_7->setObjectName( "shParam_1_7" ); + $shParam_1_7->setEnabled( 0 ); + $shParam_1_7->setTristate( 0 ); + + $_5->addWidget( $shParam_1_7 ); + + my $shParam_1_8 = Qt::CheckBox( $layout14 ); + $self->{shParam_1_8} = $shParam_1_8; + $shParam_1_8->setObjectName( "shParam_1_8" ); + $shParam_1_8->setEnabled( 0 ); + $shParam_1_8->setTristate( 0 ); + + $_5->addWidget( $shParam_1_8 ); + + my $shParam_1_9 = Qt::CheckBox( $layout14 ); + $self->{shParam_1_9} = $shParam_1_9; + $shParam_1_9->setObjectName( "shParam_1_9" ); + $shParam_1_9->setEnabled( 0 ); + $shParam_1_9->setTristate( 0 ); + + $_5->addWidget( $shParam_1_9 ); + + my $comp1ShLabel = Qt::Label( $sharingComp1 ); + $self->{comp1ShLabel} = $comp1ShLabel; + $comp1ShLabel->setObjectName( "comp1ShLabel" ); + $comp1ShLabel->setGeometry( Qt::Rect(2, 30, 141, 20) ); + $comp1ShLabel->setWordWrap( 0 ); + + $horizontalLayout->addWidget( $sharingComp1 ); + + my $sharingComp2 = Qt::GroupBox( $buttonGroupSharing ); + $self->{sharingComp2} = $sharingComp2; + $sharingComp2->setObjectName( "sharingComp2" ); + $sharingComp2->setEnabled( 0 ); + $sizePolicy6->setHeightForWidth( $sharingComp2->sizePolicy()->hasHeightForWidth() ); + $sharingComp2->setSizePolicy( $sizePolicy6 ); + my $comp2ShLabel = Qt::Label( $sharingComp2 ); + $self->{comp2ShLabel} = $comp2ShLabel; + $comp2ShLabel->setObjectName( "comp2ShLabel" ); + $comp2ShLabel->setGeometry( Qt::Rect(2, 30, 141, 20) ); + $comp2ShLabel->setWordWrap( 0 ); + my $layout13 = Qt::Widget( $sharingComp2 ); + $self->{layout13} = $layout13; + $layout13->setObjectName( "layout13" ); + $layout13->setGeometry( Qt::Rect(40, 60, 81, 266) ); + my $_1 = Qt::VBoxLayout( $layout13 ); + $self->{_1} = $_1; + $_1->setSpacing( 0 ); + $_1->setMargin( 0 ); + $_1->setObjectName( "_1" ); + $_1->setContentsMargins(0, 0, 0, 0 ); + my $shParam_2_1 = Qt::CheckBox( $layout13 ); + $self->{shParam_2_1} = $shParam_2_1; + $shParam_2_1->setObjectName( "shParam_2_1" ); + + $_1->addWidget( $shParam_2_1 ); + + my $shParam_2_2 = Qt::CheckBox( $layout13 ); + $self->{shParam_2_2} = $shParam_2_2; + $shParam_2_2->setObjectName( "shParam_2_2" ); + + $_1->addWidget( $shParam_2_2 ); + + my $shParam_2_3 = Qt::CheckBox( $layout13 ); + $self->{shParam_2_3} = $shParam_2_3; + $shParam_2_3->setObjectName( "shParam_2_3" ); + + $_1->addWidget( $shParam_2_3 ); + + my $shParam_2_4 = Qt::CheckBox( $layout13 ); + $self->{shParam_2_4} = $shParam_2_4; + $shParam_2_4->setObjectName( "shParam_2_4" ); + + $_1->addWidget( $shParam_2_4 ); + + my $shParam_2_5 = Qt::CheckBox( $layout13 ); + $self->{shParam_2_5} = $shParam_2_5; + $shParam_2_5->setObjectName( "shParam_2_5" ); + + $_1->addWidget( $shParam_2_5 ); + + my $shParam_2_6 = Qt::CheckBox( $layout13 ); + $self->{shParam_2_6} = $shParam_2_6; + $shParam_2_6->setObjectName( "shParam_2_6" ); + $shParam_2_6->setEnabled( 0 ); + $shParam_2_6->setTristate( 0 ); + + $_1->addWidget( $shParam_2_6 ); + + my $shParam_2_7 = Qt::CheckBox( $layout13 ); + $self->{shParam_2_7} = $shParam_2_7; + $shParam_2_7->setObjectName( "shParam_2_7" ); + $shParam_2_7->setEnabled( 0 ); + $shParam_2_7->setTristate( 0 ); + + $_1->addWidget( $shParam_2_7 ); + + my $shParam_2_8 = Qt::CheckBox( $layout13 ); + $self->{shParam_2_8} = $shParam_2_8; + $shParam_2_8->setObjectName( "shParam_2_8" ); + $shParam_2_8->setEnabled( 0 ); + $shParam_2_8->setTristate( 0 ); + + $_1->addWidget( $shParam_2_8 ); + + my $shParam_2_9 = Qt::CheckBox( $layout13 ); + $self->{shParam_2_9} = $shParam_2_9; + $shParam_2_9->setObjectName( "shParam_2_9" ); + $shParam_2_9->setEnabled( 0 ); + $shParam_2_9->setTristate( 0 ); + + $_1->addWidget( $shParam_2_9 ); + + + $horizontalLayout->addWidget( $sharingComp2 ); + + my $sharingComp3 = Qt::GroupBox( $buttonGroupSharing ); + $self->{sharingComp3} = $sharingComp3; + $sharingComp3->setObjectName( "sharingComp3" ); + $sharingComp3->setEnabled( 0 ); + $sizePolicy6->setHeightForWidth( $sharingComp3->sizePolicy()->hasHeightForWidth() ); + $sharingComp3->setSizePolicy( $sizePolicy6 ); + $sharingComp3->setAlignment( Qt::AlignJustify()|Qt::AlignVCenter() ); + my $comp3ShLabel = Qt::Label( $sharingComp3 ); + $self->{comp3ShLabel} = $comp3ShLabel; + $comp3ShLabel->setObjectName( "comp3ShLabel" ); + $comp3ShLabel->setGeometry( Qt::Rect(2, 30, 141, 20) ); + $comp3ShLabel->setWordWrap( 0 ); + my $layout15 = Qt::Widget( $sharingComp3 ); + $self->{layout15} = $layout15; + $layout15->setObjectName( "layout15" ); + $layout15->setGeometry( Qt::Rect(41, 58, 81, 266) ); + my $_3 = Qt::VBoxLayout( $layout15 ); + $self->{_3} = $_3; + $_3->setSpacing( 6 ); + $_3->setMargin( 11 ); + $_3->setObjectName( "_3" ); + $_3->setContentsMargins(0, 0, 0, 0 ); + my $shParam_3_1 = Qt::CheckBox( $layout15 ); + $self->{shParam_3_1} = $shParam_3_1; + $shParam_3_1->setObjectName( "shParam_3_1" ); + + $_3->addWidget( $shParam_3_1 ); + + my $shParam_3_2 = Qt::CheckBox( $layout15 ); + $self->{shParam_3_2} = $shParam_3_2; + $shParam_3_2->setObjectName( "shParam_3_2" ); + + $_3->addWidget( $shParam_3_2 ); + + my $shParam_3_3 = Qt::CheckBox( $layout15 ); + $self->{shParam_3_3} = $shParam_3_3; + $shParam_3_3->setObjectName( "shParam_3_3" ); + + $_3->addWidget( $shParam_3_3 ); + + my $shParam_3_4 = Qt::CheckBox( $layout15 ); + $self->{shParam_3_4} = $shParam_3_4; + $shParam_3_4->setObjectName( "shParam_3_4" ); + + $_3->addWidget( $shParam_3_4 ); + + my $shParam_3_5 = Qt::CheckBox( $layout15 ); + $self->{shParam_3_5} = $shParam_3_5; + $shParam_3_5->setObjectName( "shParam_3_5" ); + + $_3->addWidget( $shParam_3_5 ); + + my $shParam_3_6 = Qt::CheckBox( $layout15 ); + $self->{shParam_3_6} = $shParam_3_6; + $shParam_3_6->setObjectName( "shParam_3_6" ); + $shParam_3_6->setEnabled( 0 ); + $shParam_3_6->setTristate( 0 ); + + $_3->addWidget( $shParam_3_6 ); + + my $shParam_3_7 = Qt::CheckBox( $layout15 ); + $self->{shParam_3_7} = $shParam_3_7; + $shParam_3_7->setObjectName( "shParam_3_7" ); + $shParam_3_7->setEnabled( 0 ); + $shParam_3_7->setTristate( 0 ); + + $_3->addWidget( $shParam_3_7 ); + + my $shParam_3_8 = Qt::CheckBox( $layout15 ); + $self->{shParam_3_8} = $shParam_3_8; + $shParam_3_8->setObjectName( "shParam_3_8" ); + $shParam_3_8->setEnabled( 0 ); + $shParam_3_8->setTristate( 0 ); + + $_3->addWidget( $shParam_3_8 ); + + my $shParam_3_9 = Qt::CheckBox( $layout15 ); + $self->{shParam_3_9} = $shParam_3_9; + $shParam_3_9->setObjectName( "shParam_3_9" ); + $shParam_3_9->setEnabled( 0 ); + $shParam_3_9->setTristate( 0 ); + + $_3->addWidget( $shParam_3_9 ); + + + $horizontalLayout->addWidget( $sharingComp3 ); + + + $gridLayout_7->addLayout( $horizontalLayout, 0, 0, 1, 1 ); + + + $gridLayout2->addWidget( $buttonGroupSharing, 0, 0, 1, 1 ); + + $musrfit_tabs->addTab( $sharingPage, Qt::Application::translate( 'MuSRFit4', "Sharing", undef, Qt::Application::UnicodeUTF8() ) ); + my $initializationPage = Qt::Widget( ); + $self->{initializationPage} = $initializationPage; + $initializationPage->setObjectName( "initializationPage" ); + my $gridLayout3 = Qt::GridLayout( $initializationPage ); + $self->{gridLayout3} = $gridLayout3; + $gridLayout3->setSpacing( 6 ); + $gridLayout3->setMargin( 11 ); + $gridLayout3->setObjectName( "gridLayout3" ); + my $initParamTable = Qt::TableWidget( $initializationPage ); + $self->{initParamTable} = $initParamTable; + $initParamTable->setObjectName( "initParamTable" ); + $initParamTable->setRowCount( 1 ); + $initParamTable->setColumnCount( 4 ); + + $gridLayout3->addWidget( $initParamTable, 0, 0, 1, 1 ); + + $musrfit_tabs->addTab( $initializationPage, Qt::Application::translate( 'MuSRFit4', "Initialization", undef, Qt::Application::UnicodeUTF8() ) ); + my $msrPage = Qt::Widget( ); + $self->{msrPage} = $msrPage; + $msrPage->setObjectName( "msrPage" ); + my $gridLayout4 = Qt::GridLayout( $msrPage ); + $self->{gridLayout4} = $gridLayout4; + $gridLayout4->setSpacing( 6 ); + $gridLayout4->setMargin( 11 ); + $gridLayout4->setObjectName( "gridLayout4" ); + my $vboxLayout = Qt::VBoxLayout( ); + $self->{vboxLayout} = $vboxLayout; + $vboxLayout->setSpacing( 6 ); + $vboxLayout->setMargin( 0 ); + $vboxLayout->setObjectName( "vboxLayout" ); + my $groupTitle = Qt::GroupBox( $msrPage ); + $self->{groupTitle} = $groupTitle; + $groupTitle->setObjectName( "groupTitle" ); + $sizePolicy1->setHeightForWidth( $groupTitle->sizePolicy()->hasHeightForWidth() ); + $groupTitle->setSizePolicy( $sizePolicy1 ); + my $gridLayout5 = Qt::GridLayout( $groupTitle ); + $self->{gridLayout5} = $gridLayout5; + $gridLayout5->setSpacing( 6 ); + $gridLayout5->setMargin( 11 ); + $gridLayout5->setObjectName( "gridLayout5" ); + my $vboxLayout1 = Qt::VBoxLayout( ); + $self->{vboxLayout1} = $vboxLayout1; + $vboxLayout1->setSpacing( 6 ); + $vboxLayout1->setObjectName( "vboxLayout1" ); + my $titleLabel = Qt::Label( $groupTitle ); + $self->{titleLabel} = $titleLabel; + $titleLabel->setObjectName( "titleLabel" ); + $sizePolicy4->setHeightForWidth( $titleLabel->sizePolicy()->hasHeightForWidth() ); + $titleLabel->setSizePolicy( $sizePolicy4 ); + $titleLabel->setWordWrap( 0 ); + + $vboxLayout1->addWidget( $titleLabel ); + + my $title = Qt::LineEdit( $groupTitle ); + $self->{title} = $title; + $title->setObjectName( "title" ); + my $sizePolicy7 = Qt::SizePolicy( Qt::SizePolicy::Expanding(), Qt::SizePolicy::Fixed() ); + $self->{$sizePolicy7} = $sizePolicy7; + $sizePolicy7->setHorizontalStretch( 1 ); + $sizePolicy7->setVerticalStretch( 1 ); + $sizePolicy7->setHeightForWidth( $title->sizePolicy()->hasHeightForWidth() ); + $title->setSizePolicy( $sizePolicy7 ); + + $vboxLayout1->addWidget( $title ); + + my $hboxLayout = Qt::HBoxLayout( ); + $self->{hboxLayout} = $hboxLayout; + $hboxLayout->setSpacing( 6 ); + $hboxLayout->setObjectName( "hboxLayout" ); + my $fileNameLabel = Qt::Label( $groupTitle ); + $self->{fileNameLabel} = $fileNameLabel; + $fileNameLabel->setObjectName( "fileNameLabel" ); + $fileNameLabel->setWordWrap( 0 ); + + $hboxLayout->addWidget( $fileNameLabel ); + + my $fileName = Qt::LineEdit( $groupTitle ); + $self->{fileName} = $fileName; + $fileName->setObjectName( "fileName" ); + $sizePolicy1->setHeightForWidth( $fileName->sizePolicy()->hasHeightForWidth() ); + $fileName->setSizePolicy( $sizePolicy1 ); + + $hboxLayout->addWidget( $fileName ); + + + $vboxLayout1->addLayout( $hboxLayout ); + + + $gridLayout5->addLayout( $vboxLayout1, 0, 0, 1, 1 ); + + + $vboxLayout->addWidget( $groupTitle ); + + my $textMSROutput = Qt::TextEdit( $msrPage ); + $self->{textMSROutput} = $textMSROutput; + $textMSROutput->setObjectName( "textMSROutput" ); + $textMSROutput->setOverwriteMode( 1 ); + + $vboxLayout->addWidget( $textMSROutput ); + + + $gridLayout4->addLayout( $vboxLayout, 0, 0, 1, 1 ); + + $musrfit_tabs->addTab( $msrPage, Qt::Application::translate( 'MuSRFit4', "MSR File", undef, Qt::Application::UnicodeUTF8() ) ); + my $fourierPage = Qt::Widget( ); + $self->{fourierPage} = $fourierPage; + $fourierPage->setObjectName( "fourierPage" ); + my $gridLayout6 = Qt::GridLayout( $fourierPage ); + $self->{gridLayout6} = $gridLayout6; + $gridLayout6->setSpacing( 6 ); + $gridLayout6->setMargin( 11 ); + $gridLayout6->setObjectName( "gridLayout6" ); + my $fourierBox = Qt::GroupBox( $fourierPage ); + $self->{fourierBox} = $fourierBox; + $fourierBox->setObjectName( "fourierBox" ); + $sizePolicy5->setHeightForWidth( $fourierBox->sizePolicy()->hasHeightForWidth() ); + $fourierBox->setSizePolicy( $sizePolicy5 ); + my $layout34 = Qt::Widget( $fourierBox ); + $self->{layout34} = $layout34; + $layout34->setObjectName( "layout34" ); + $layout34->setGeometry( Qt::Rect(12, 19, 510, 117) ); + my $gridLayout7 = Qt::GridLayout( $layout34 ); + $self->{gridLayout7} = $gridLayout7; + $gridLayout7->setSpacing( 5 ); + $gridLayout7->setMargin( 5 ); + $gridLayout7->setObjectName( "gridLayout7" ); + $gridLayout7->setContentsMargins(0, 0, 0, 0 ); + my $frqMax = Qt::LineEdit( $layout34 ); + $self->{frqMax} = $frqMax; + $frqMax->setObjectName( "frqMax" ); + $sizePolicy4->setHeightForWidth( $frqMax->sizePolicy()->hasHeightForWidth() ); + $frqMax->setSizePolicy( $sizePolicy4 ); + + $gridLayout7->addWidget( $frqMax, 0, 6, 1, 1 ); + + my $funits = Qt::ComboBox( $layout34 ); + $self->{funits} = $funits; + $funits->setObjectName( "funits" ); + my $sizePolicy8 = Qt::SizePolicy( Qt::SizePolicy::Ignored(), Qt::SizePolicy::Preferred() ); + $self->{$sizePolicy8} = $sizePolicy8; + $sizePolicy8->setHorizontalStretch( 0 ); + $sizePolicy8->setVerticalStretch( 0 ); + $sizePolicy8->setHeightForWidth( $funits->sizePolicy()->hasHeightForWidth() ); + $funits->setSizePolicy( $sizePolicy8 ); + + $gridLayout7->addWidget( $funits, 0, 2, 1, 1 ); + + my $fplot = Qt::ComboBox( $layout34 ); + $self->{fplot} = $fplot; + $fplot->setObjectName( "fplot" ); + $sizePolicy4->setHeightForWidth( $fplot->sizePolicy()->hasHeightForWidth() ); + $fplot->setSizePolicy( $sizePolicy4 ); + + $gridLayout7->addWidget( $fplot, 2, 2, 1, 1 ); + + my $textLabel1_3_8 = Qt::Label( $layout34 ); + $self->{textLabel1_3_8} = $textLabel1_3_8; + $textLabel1_3_8->setObjectName( "textLabel1_3_8" ); + $textLabel1_3_8->setWordWrap( 0 ); + + $gridLayout7->addWidget( $textLabel1_3_8, 2, 6, 1, 1 ); + + my $textLabel1_7 = Qt::Label( $layout34 ); + $self->{textLabel1_7} = $textLabel1_7; + $textLabel1_7->setObjectName( "textLabel1_7" ); + $textLabel1_7->setWordWrap( 0 ); + + $gridLayout7->addWidget( $textLabel1_7, 1, 3, 1, 1 ); + + my $fplotLabel = Qt::Label( $layout34 ); + $self->{fplotLabel} = $fplotLabel; + $fplotLabel->setObjectName( "fplotLabel" ); + $fplotLabel->setWordWrap( 0 ); + + $gridLayout7->addWidget( $fplotLabel, 2, 1, 1, 1 ); + + my $textLabel1_3_4 = Qt::Label( $layout34 ); + $self->{textLabel1_3_4} = $textLabel1_3_4; + $textLabel1_3_4->setObjectName( "textLabel1_3_4" ); + $textLabel1_3_4->setWordWrap( 0 ); + + $gridLayout7->addWidget( $textLabel1_3_4, 1, 6, 1, 1 ); + + my $fapodization = Qt::ComboBox( $layout34 ); + $self->{fapodization} = $fapodization; + $fapodization->setObjectName( "fapodization" ); + $sizePolicy4->setHeightForWidth( $fapodization->sizePolicy()->hasHeightForWidth() ); + $fapodization->setSizePolicy( $sizePolicy4 ); + + $gridLayout7->addWidget( $fapodization, 1, 2, 1, 1 ); + + my $fapodizationLabel = Qt::Label( $layout34 ); + $self->{fapodizationLabel} = $fapodizationLabel; + $fapodizationLabel->setObjectName( "fapodizationLabel" ); + $fapodizationLabel->setWordWrap( 0 ); + + $gridLayout7->addWidget( $fapodizationLabel, 1, 1, 1, 1 ); + + my $textLabel1_3_3 = Qt::Label( $layout34 ); + $self->{textLabel1_3_3} = $textLabel1_3_3; + $textLabel1_3_3->setObjectName( "textLabel1_3_3" ); + $textLabel1_3_3->setWordWrap( 0 ); + + $gridLayout7->addWidget( $textLabel1_3_3, 1, 5, 1, 1 ); + + my $textLabel1_2 = Qt::Label( $layout34 ); + $self->{textLabel1_2} = $textLabel1_2; + $textLabel1_2->setObjectName( "textLabel1_2" ); + $textLabel1_2->setWordWrap( 0 ); + + $gridLayout7->addWidget( $textLabel1_2, 0, 5, 1, 1 ); + + my $textLabel1_3_6 = Qt::Label( $layout34 ); + $self->{textLabel1_3_6} = $textLabel1_3_6; + $textLabel1_3_6->setObjectName( "textLabel1_3_6" ); + $textLabel1_3_6->setWordWrap( 0 ); + + $gridLayout7->addWidget( $textLabel1_3_6, 2, 4, 1, 1 ); + + my $fphase = Qt::LineEdit( $layout34 ); + $self->{fphase} = $fphase; + $fphase->setObjectName( "fphase" ); + $sizePolicy4->setHeightForWidth( $fphase->sizePolicy()->hasHeightForWidth() ); + $fphase->setSizePolicy( $sizePolicy4 ); + + $gridLayout7->addWidget( $fphase, 1, 4, 1, 1 ); + + my $textLabel1_3_5 = Qt::Label( $layout34 ); + $self->{textLabel1_3_5} = $textLabel1_3_5; + $textLabel1_3_5->setObjectName( "textLabel1_3_5" ); + $textLabel1_3_5->setWordWrap( 0 ); + + $gridLayout7->addWidget( $textLabel1_3_5, 2, 3, 1, 1 ); + + my $textLabel1_3_7 = Qt::Label( $layout34 ); + $self->{textLabel1_3_7} = $textLabel1_3_7; + $textLabel1_3_7->setObjectName( "textLabel1_3_7" ); + $textLabel1_3_7->setWordWrap( 0 ); + + $gridLayout7->addWidget( $textLabel1_3_7, 2, 5, 1, 1 ); + + my $frqMin = Qt::LineEdit( $layout34 ); + $self->{frqMin} = $frqMin; + $frqMin->setObjectName( "frqMin" ); + $sizePolicy4->setHeightForWidth( $frqMin->sizePolicy()->hasHeightForWidth() ); + $frqMin->setSizePolicy( $sizePolicy4 ); + + $gridLayout7->addWidget( $frqMin, 0, 4, 1, 1 ); + + my $textLabel1 = Qt::Label( $layout34 ); + $self->{textLabel1} = $textLabel1; + $textLabel1->setObjectName( "textLabel1" ); + $textLabel1->setWordWrap( 0 ); + + $gridLayout7->addWidget( $textLabel1, 0, 3, 1, 1 ); + + my $label = Qt::Label( $layout34 ); + $self->{label} = $label; + $label->setObjectName( "label" ); + + $gridLayout7->addWidget( $label, 0, 1, 1, 1 ); + + + $gridLayout6->addWidget( $fourierBox, 0, 0, 1, 1 ); + + my $rrfBox = Qt::GroupBox( $fourierPage ); + $self->{rrfBox} = $rrfBox; + $rrfBox->setObjectName( "rrfBox" ); + $sizePolicy5->setHeightForWidth( $rrfBox->sizePolicy()->hasHeightForWidth() ); + $rrfBox->setSizePolicy( $sizePolicy5 ); + my $layout35 = Qt::Widget( $rrfBox ); + $self->{layout35} = $layout35; + $layout35->setObjectName( "layout35" ); + $layout35->setGeometry( Qt::Rect(10, 18, 265, 100) ); + my $gridLayout8 = Qt::GridLayout( $layout35 ); + $self->{gridLayout8} = $gridLayout8; + $gridLayout8->setSpacing( 5 ); + $gridLayout8->setMargin( 5 ); + $gridLayout8->setObjectName( "gridLayout8" ); + $gridLayout8->setContentsMargins(0, 0, 0, 0 ); + my $textLabel1_6_2_2 = Qt::Label( $layout35 ); + $self->{textLabel1_6_2_2} = $textLabel1_6_2_2; + $textLabel1_6_2_2->setObjectName( "textLabel1_6_2_2" ); + $textLabel1_6_2_2->setWordWrap( 0 ); + + $gridLayout8->addWidget( $textLabel1_6_2_2, 2, 0, 1, 1 ); + + my $textLabel1_6 = Qt::Label( $layout35 ); + $self->{textLabel1_6} = $textLabel1_6; + $textLabel1_6->setObjectName( "textLabel1_6" ); + $textLabel1_6->setWordWrap( 0 ); + + $gridLayout8->addWidget( $textLabel1_6, 0, 0, 1, 1 ); + + my $textLabel1_6_2_4 = Qt::Label( $layout35 ); + $self->{textLabel1_6_2_4} = $textLabel1_6_2_4; + $textLabel1_6_2_4->setObjectName( "textLabel1_6_2_4" ); + $textLabel1_6_2_4->setWordWrap( 0 ); + + $gridLayout8->addWidget( $textLabel1_6_2_4, 2, 2, 1, 1 ); + + my $rrfFrq = Qt::LineEdit( $layout35 ); + $self->{rrfFrq} = $rrfFrq; + $rrfFrq->setObjectName( "rrfFrq" ); + + $gridLayout8->addWidget( $rrfFrq, 0, 1, 1, 1 ); + + my $textLabel1_6_2_3 = Qt::Label( $layout35 ); + $self->{textLabel1_6_2_3} = $textLabel1_6_2_3; + $textLabel1_6_2_3->setObjectName( "textLabel1_6_2_3" ); + $textLabel1_6_2_3->setWordWrap( 0 ); + + $gridLayout8->addWidget( $textLabel1_6_2_3, 1, 2, 1, 1 ); + + my $rrfPack = Qt::LineEdit( $layout35 ); + $self->{rrfPack} = $rrfPack; + $rrfPack->setObjectName( "rrfPack" ); + + $gridLayout8->addWidget( $rrfPack, 1, 1, 1, 1 ); + + my $textLabel1_6_2 = Qt::Label( $layout35 ); + $self->{textLabel1_6_2} = $textLabel1_6_2; + $textLabel1_6_2->setObjectName( "textLabel1_6_2" ); + $textLabel1_6_2->setWordWrap( 0 ); + + $gridLayout8->addWidget( $textLabel1_6_2, 1, 0, 1, 1 ); + + my $rrfUnits = Qt::ComboBox( $layout35 ); + $self->{rrfUnits} = $rrfUnits; + $rrfUnits->setObjectName( "rrfUnits" ); + + $gridLayout8->addWidget( $rrfUnits, 0, 2, 1, 1 ); + + my $rrfPhase = Qt::LineEdit( $layout35 ); + $self->{rrfPhase} = $rrfPhase; + $rrfPhase->setObjectName( "rrfPhase" ); + + $gridLayout8->addWidget( $rrfPhase, 2, 1, 1, 1 ); + + + $gridLayout6->addWidget( $rrfBox, 1, 0, 1, 1 ); + + $musrfit_tabs->addTab( $fourierPage, Qt::Application::translate( 'MuSRFit4', "FFT/RRF", undef, Qt::Application::UnicodeUTF8() ) ); + my $t0Page = Qt::Widget( ); + $self->{t0Page} = $t0Page; + $t0Page->setObjectName( "t0Page" ); + my $gridLayout9 = Qt::GridLayout( $t0Page ); + $self->{gridLayout9} = $gridLayout9; + $gridLayout9->setSpacing( 6 ); + $gridLayout9->setMargin( 11 ); + $gridLayout9->setObjectName( "gridLayout9" ); + my $hboxLayout1 = Qt::HBoxLayout( ); + $self->{hboxLayout1} = $hboxLayout1; + $hboxLayout1->setSpacing( 6 ); + $hboxLayout1->setObjectName( "hboxLayout1" ); + my $groupHist0 = Qt::GroupBox( $t0Page ); + $self->{groupHist0} = $groupHist0; + $groupHist0->setObjectName( "groupHist0" ); + $sizePolicy->setHeightForWidth( $groupHist0->sizePolicy()->hasHeightForWidth() ); + $groupHist0->setSizePolicy( $sizePolicy ); + $groupHist0->setMinimumSize( Qt::Size(0, 0) ); + my $layout16_2 = Qt::Widget( $groupHist0 ); + $self->{layout16_2} = $layout16_2; + $layout16_2->setObjectName( "layout16_2" ); + $layout16_2->setGeometry( Qt::Rect(5, 18, 100, 150) ); + my $vboxLayout2 = Qt::VBoxLayout( $layout16_2 ); + $self->{vboxLayout2} = $vboxLayout2; + $vboxLayout2->setSpacing( 6 ); + $vboxLayout2->setMargin( 11 ); + $vboxLayout2->setObjectName( "vboxLayout2" ); + $vboxLayout2->setContentsMargins(0, 0, 0, 0 ); + my $textLabel2 = Qt::Label( $layout16_2 ); + $self->{textLabel2} = $textLabel2; + $textLabel2->setObjectName( "textLabel2" ); + $textLabel2->setWordWrap( 0 ); + + $vboxLayout2->addWidget( $textLabel2 ); + + my $textLabel2_2_2_3 = Qt::Label( $layout16_2 ); + $self->{textLabel2_2_2_3} = $textLabel2_2_2_3; + $textLabel2_2_2_3->setObjectName( "textLabel2_2_2_3" ); + $textLabel2_2_2_3->setWordWrap( 0 ); + + $vboxLayout2->addWidget( $textLabel2_2_2_3 ); + + my $textLabel2_2_2 = Qt::Label( $layout16_2 ); + $self->{textLabel2_2_2} = $textLabel2_2_2; + $textLabel2_2_2->setObjectName( "textLabel2_2_2" ); + $textLabel2_2_2->setWordWrap( 0 ); + + $vboxLayout2->addWidget( $textLabel2_2_2 ); + + my $textLabel2_2_2_2 = Qt::Label( $layout16_2 ); + $self->{textLabel2_2_2_2} = $textLabel2_2_2_2; + $textLabel2_2_2_2->setObjectName( "textLabel2_2_2_2" ); + $textLabel2_2_2_2->setWordWrap( 0 ); + + $vboxLayout2->addWidget( $textLabel2_2_2_2 ); + + my $textLabel2_2_2_2_2 = Qt::Label( $layout16_2 ); + $self->{textLabel2_2_2_2_2} = $textLabel2_2_2_2_2; + $textLabel2_2_2_2_2->setObjectName( "textLabel2_2_2_2_2" ); + $textLabel2_2_2_2_2->setWordWrap( 0 ); + + $vboxLayout2->addWidget( $textLabel2_2_2_2_2 ); + + + $hboxLayout1->addWidget( $groupHist0 ); + + my $groupHist1 = Qt::GroupBox( $t0Page ); + $self->{groupHist1} = $groupHist1; + $groupHist1->setObjectName( "groupHist1" ); + $sizePolicy->setHeightForWidth( $groupHist1->sizePolicy()->hasHeightForWidth() ); + $groupHist1->setSizePolicy( $sizePolicy ); + $groupHist1->setMinimumSize( Qt::Size(0, 0) ); + my $layout18 = Qt::Widget( $groupHist1 ); + $self->{layout18} = $layout18; + $layout18->setObjectName( "layout18" ); + $layout18->setGeometry( Qt::Rect(8, 17, 75, 150) ); + my $vboxLayout3 = Qt::VBoxLayout( $layout18 ); + $self->{vboxLayout3} = $vboxLayout3; + $vboxLayout3->setSpacing( 0 ); + $vboxLayout3->setMargin( 0 ); + $vboxLayout3->setObjectName( "vboxLayout3" ); + $vboxLayout3->setContentsMargins(0, 0, 0, 0 ); + my $t01 = Qt::LineEdit( $layout18 ); + $self->{t01} = $t01; + $t01->setObjectName( "t01" ); + + $vboxLayout3->addWidget( $t01 ); + + my $bg11 = Qt::LineEdit( $layout18 ); + $self->{bg11} = $bg11; + $bg11->setObjectName( "bg11" ); + + $vboxLayout3->addWidget( $bg11 ); + + my $bg21 = Qt::LineEdit( $layout18 ); + $self->{bg21} = $bg21; + $bg21->setObjectName( "bg21" ); + + $vboxLayout3->addWidget( $bg21 ); + + my $data11 = Qt::LineEdit( $layout18 ); + $self->{data11} = $data11; + $data11->setObjectName( "data11" ); + + $vboxLayout3->addWidget( $data11 ); + + my $data21 = Qt::LineEdit( $layout18 ); + $self->{data21} = $data21; + $data21->setObjectName( "data21" ); + + $vboxLayout3->addWidget( $data21 ); + + + $hboxLayout1->addWidget( $groupHist1 ); + + my $groupHist2 = Qt::GroupBox( $t0Page ); + $self->{groupHist2} = $groupHist2; + $groupHist2->setObjectName( "groupHist2" ); + $groupHist2->setEnabled( 1 ); + $sizePolicy->setHeightForWidth( $groupHist2->sizePolicy()->hasHeightForWidth() ); + $groupHist2->setSizePolicy( $sizePolicy ); + my $layout18_2 = Qt::Widget( $groupHist2 ); + $self->{layout18_2} = $layout18_2; + $layout18_2->setObjectName( "layout18_2" ); + $layout18_2->setGeometry( Qt::Rect(8, 17, 75, 150) ); + my $vboxLayout4 = Qt::VBoxLayout( $layout18_2 ); + $self->{vboxLayout4} = $vboxLayout4; + $vboxLayout4->setSpacing( 0 ); + $vboxLayout4->setMargin( 0 ); + $vboxLayout4->setObjectName( "vboxLayout4" ); + $vboxLayout4->setContentsMargins(0, 0, 0, 0 ); + my $t02 = Qt::LineEdit( $layout18_2 ); + $self->{t02} = $t02; + $t02->setObjectName( "t02" ); + + $vboxLayout4->addWidget( $t02 ); + + my $bg12 = Qt::LineEdit( $layout18_2 ); + $self->{bg12} = $bg12; + $bg12->setObjectName( "bg12" ); + + $vboxLayout4->addWidget( $bg12 ); + + my $bg22 = Qt::LineEdit( $layout18_2 ); + $self->{bg22} = $bg22; + $bg22->setObjectName( "bg22" ); + + $vboxLayout4->addWidget( $bg22 ); + + my $data12 = Qt::LineEdit( $layout18_2 ); + $self->{data12} = $data12; + $data12->setObjectName( "data12" ); + + $vboxLayout4->addWidget( $data12 ); + + my $data22 = Qt::LineEdit( $layout18_2 ); + $self->{data22} = $data22; + $data22->setObjectName( "data22" ); + + $vboxLayout4->addWidget( $data22 ); + + + $hboxLayout1->addWidget( $groupHist2 ); + + my $groupHist3 = Qt::GroupBox( $t0Page ); + $self->{groupHist3} = $groupHist3; + $groupHist3->setObjectName( "groupHist3" ); + $groupHist3->setEnabled( 1 ); + $sizePolicy->setHeightForWidth( $groupHist3->sizePolicy()->hasHeightForWidth() ); + $groupHist3->setSizePolicy( $sizePolicy ); + my $layout18_3 = Qt::Widget( $groupHist3 ); + $self->{layout18_3} = $layout18_3; + $layout18_3->setObjectName( "layout18_3" ); + $layout18_3->setGeometry( Qt::Rect(8, 17, 75, 150) ); + my $vboxLayout5 = Qt::VBoxLayout( $layout18_3 ); + $self->{vboxLayout5} = $vboxLayout5; + $vboxLayout5->setSpacing( 0 ); + $vboxLayout5->setMargin( 0 ); + $vboxLayout5->setObjectName( "vboxLayout5" ); + $vboxLayout5->setContentsMargins(0, 0, 0, 0 ); + my $t03 = Qt::LineEdit( $layout18_3 ); + $self->{t03} = $t03; + $t03->setObjectName( "t03" ); + + $vboxLayout5->addWidget( $t03 ); + + my $bg13 = Qt::LineEdit( $layout18_3 ); + $self->{bg13} = $bg13; + $bg13->setObjectName( "bg13" ); + + $vboxLayout5->addWidget( $bg13 ); + + my $bg23 = Qt::LineEdit( $layout18_3 ); + $self->{bg23} = $bg23; + $bg23->setObjectName( "bg23" ); + + $vboxLayout5->addWidget( $bg23 ); + + my $data13 = Qt::LineEdit( $layout18_3 ); + $self->{data13} = $data13; + $data13->setObjectName( "data13" ); + + $vboxLayout5->addWidget( $data13 ); + + my $data23 = Qt::LineEdit( $layout18_3 ); + $self->{data23} = $data23; + $data23->setObjectName( "data23" ); + + $vboxLayout5->addWidget( $data23 ); + + + $hboxLayout1->addWidget( $groupHist3 ); + + my $groupHist4 = Qt::GroupBox( $t0Page ); + $self->{groupHist4} = $groupHist4; + $groupHist4->setObjectName( "groupHist4" ); + $groupHist4->setEnabled( 1 ); + $sizePolicy->setHeightForWidth( $groupHist4->sizePolicy()->hasHeightForWidth() ); + $groupHist4->setSizePolicy( $sizePolicy ); + my $layout18_4 = Qt::Widget( $groupHist4 ); + $self->{layout18_4} = $layout18_4; + $layout18_4->setObjectName( "layout18_4" ); + $layout18_4->setGeometry( Qt::Rect(8, 17, 75, 150) ); + my $vboxLayout6 = Qt::VBoxLayout( $layout18_4 ); + $self->{vboxLayout6} = $vboxLayout6; + $vboxLayout6->setSpacing( 0 ); + $vboxLayout6->setMargin( 0 ); + $vboxLayout6->setObjectName( "vboxLayout6" ); + $vboxLayout6->setContentsMargins(0, 0, 0, 0 ); + my $t04 = Qt::LineEdit( $layout18_4 ); + $self->{t04} = $t04; + $t04->setObjectName( "t04" ); + + $vboxLayout6->addWidget( $t04 ); + + my $bg14 = Qt::LineEdit( $layout18_4 ); + $self->{bg14} = $bg14; + $bg14->setObjectName( "bg14" ); + + $vboxLayout6->addWidget( $bg14 ); + + my $bg24 = Qt::LineEdit( $layout18_4 ); + $self->{bg24} = $bg24; + $bg24->setObjectName( "bg24" ); + + $vboxLayout6->addWidget( $bg24 ); + + my $data14 = Qt::LineEdit( $layout18_4 ); + $self->{data14} = $data14; + $data14->setObjectName( "data14" ); + + $vboxLayout6->addWidget( $data14 ); + + my $data24 = Qt::LineEdit( $layout18_4 ); + $self->{data24} = $data24; + $data24->setObjectName( "data24" ); + + $vboxLayout6->addWidget( $data24 ); + + + $hboxLayout1->addWidget( $groupHist4 ); + + + $gridLayout9->addLayout( $hboxLayout1, 0, 0, 1, 1 ); + + my $hboxLayout2 = Qt::HBoxLayout( ); + $self->{hboxLayout2} = $hboxLayout2; + $hboxLayout2->setSpacing( 6 ); + $hboxLayout2->setObjectName( "hboxLayout2" ); + my $spacer1 = Qt::SpacerItem( 461, 20, Qt::SizePolicy::Expanding(), Qt::SizePolicy::Minimum() ); + + $hboxLayout2->addItem( $spacer1 ); + + my $t0Update = Qt::PushButton( $t0Page ); + $self->{t0Update} = $t0Update; + $t0Update->setObjectName( "t0Update" ); + $t0Update->setEnabled( 0 ); + my $sizePolicy9 = Qt::SizePolicy( Qt::SizePolicy::Fixed(), Qt::SizePolicy::Fixed() ); + $self->{$sizePolicy9} = $sizePolicy9; + $sizePolicy9->setHorizontalStretch( 0 ); + $sizePolicy9->setVerticalStretch( 0 ); + $sizePolicy9->setHeightForWidth( $t0Update->sizePolicy()->hasHeightForWidth() ); + $t0Update->setSizePolicy( $sizePolicy9 ); + + $hboxLayout2->addWidget( $t0Update ); + + + $gridLayout9->addLayout( $hboxLayout2, 1, 0, 1, 1 ); + + $musrfit_tabs->addTab( $t0Page, Qt::Application::translate( 'MuSRFit4', "t0/Bg", undef, Qt::Application::UnicodeUTF8() ) ); + my $tabPage = Qt::Widget( ); + $self->{tabPage} = $tabPage; + $tabPage->setObjectName( "tabPage" ); + my $gridLayout10 = Qt::GridLayout( $tabPage ); + $self->{gridLayout10} = $gridLayout10; + $gridLayout10->setSpacing( 6 ); + $gridLayout10->setMargin( 11 ); + $gridLayout10->setObjectName( "gridLayout10" ); + my $vboxLayout7 = Qt::VBoxLayout( ); + $self->{vboxLayout7} = $vboxLayout7; + $vboxLayout7->setSpacing( 6 ); + $vboxLayout7->setObjectName( "vboxLayout7" ); + my $gridLayout11 = Qt::GridLayout( ); + $self->{gridLayout11} = $gridLayout11; + $gridLayout11->setSpacing( 6 ); + $gridLayout11->setObjectName( "gridLayout11" ); + my $theoryBlock_Label = Qt::Label( $tabPage ); + $self->{theoryBlock_Label} = $theoryBlock_Label; + $theoryBlock_Label->setObjectName( "theoryBlock_Label" ); + my $palette3 = Qt::Palette(); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::WindowText(), $brush); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Button(), $brush1); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Light(), $brush2); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Midlight(), $brush3); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Dark(), $brush4); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Mid(), $brush5); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Text(), $brush); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::BrightText(), $brush2); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::ButtonText(), $brush); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Base(), $brush2); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Window(), $brush6); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Shadow(), $brush); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Highlight(), $brush7); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::HighlightedText(), $brush2); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::Link(), $brush); + $palette3->setBrush(Qt::Palette::Active(), Qt::Palette::LinkVisited(), $brush); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::WindowText(), $brush); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Button(), $brush1); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Light(), $brush2); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Midlight(), $brush2); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Dark(), $brush4); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Mid(), $brush5); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Text(), $brush); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::BrightText(), $brush2); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::ButtonText(), $brush); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Base(), $brush2); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Window(), $brush6); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Shadow(), $brush); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Highlight(), $brush7); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::HighlightedText(), $brush2); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::Link(), $brush8); + $palette3->setBrush(Qt::Palette::Inactive(), Qt::Palette::LinkVisited(), $brush9); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::WindowText(), $brush10); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Button(), $brush1); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Light(), $brush2); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Midlight(), $brush2); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Dark(), $brush4); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Mid(), $brush5); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Text(), $brush10); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::BrightText(), $brush2); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::ButtonText(), $brush10); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Base(), $brush2); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Window(), $brush6); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Shadow(), $brush); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Highlight(), $brush7); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::HighlightedText(), $brush2); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::Link(), $brush8); + $palette3->setBrush(Qt::Palette::Disabled(), Qt::Palette::LinkVisited(), $brush9); + $theoryBlock_Label->setPalette( $palette3 ); + $theoryBlock_Label->setWordWrap( 0 ); + + $gridLayout11->addWidget( $theoryBlock_Label, 0, 0, 1, 1 ); + + my $theoryBlock = Qt::TextEdit( $tabPage ); + $self->{theoryBlock} = $theoryBlock; + $theoryBlock->setObjectName( "theoryBlock" ); + $theoryBlock->setEnabled( 1 ); + + $gridLayout11->addWidget( $theoryBlock, 1, 0, 1, 1 ); + + my $parametersList_Label = Qt::Label( $tabPage ); + $self->{parametersList_Label} = $parametersList_Label; + $parametersList_Label->setObjectName( "parametersList_Label" ); + my $palette4 = Qt::Palette(); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::WindowText(), $brush); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Button(), $brush1); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Light(), $brush2); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Midlight(), $brush3); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Dark(), $brush4); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Mid(), $brush5); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Text(), $brush); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::BrightText(), $brush2); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::ButtonText(), $brush); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Base(), $brush2); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Window(), $brush6); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Shadow(), $brush); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Highlight(), $brush7); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::HighlightedText(), $brush2); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::Link(), $brush); + $palette4->setBrush(Qt::Palette::Active(), Qt::Palette::LinkVisited(), $brush); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::WindowText(), $brush); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Button(), $brush1); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Light(), $brush2); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Midlight(), $brush2); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Dark(), $brush4); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Mid(), $brush5); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Text(), $brush); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::BrightText(), $brush2); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::ButtonText(), $brush); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Base(), $brush2); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Window(), $brush6); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Shadow(), $brush); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Highlight(), $brush7); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::HighlightedText(), $brush2); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::Link(), $brush8); + $palette4->setBrush(Qt::Palette::Inactive(), Qt::Palette::LinkVisited(), $brush9); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::WindowText(), $brush10); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Button(), $brush1); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Light(), $brush2); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Midlight(), $brush2); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Dark(), $brush4); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Mid(), $brush5); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Text(), $brush10); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::BrightText(), $brush2); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::ButtonText(), $brush10); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Base(), $brush2); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Window(), $brush6); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Shadow(), $brush); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Highlight(), $brush7); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::HighlightedText(), $brush2); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::Link(), $brush8); + $palette4->setBrush(Qt::Palette::Disabled(), Qt::Palette::LinkVisited(), $brush9); + $parametersList_Label->setPalette( $palette4 ); + $parametersList_Label->setWordWrap( 0 ); + + $gridLayout11->addWidget( $parametersList_Label, 0, 1, 1, 1 ); + + my $parametersList = Qt::TextEdit( $tabPage ); + $self->{parametersList} = $parametersList; + $parametersList->setObjectName( "parametersList" ); + $parametersList->setEnabled( 1 ); + + $gridLayout11->addWidget( $parametersList, 1, 1, 1, 1 ); + + + $vboxLayout7->addLayout( $gridLayout11 ); + + my $hboxLayout3 = Qt::HBoxLayout( ); + $self->{hboxLayout3} = $hboxLayout3; + $hboxLayout3->setSpacing( 6 ); + $hboxLayout3->setObjectName( "hboxLayout3" ); + my $cParamsCombo = Qt::ComboBox( $tabPage ); + $self->{cParamsCombo} = $cParamsCombo; + $cParamsCombo->setObjectName( "cParamsCombo" ); + $sizePolicy9->setHeightForWidth( $cParamsCombo->sizePolicy()->hasHeightForWidth() ); + $cParamsCombo->setSizePolicy( $sizePolicy9 ); + + $hboxLayout3->addWidget( $cParamsCombo ); + + my $textLabel1_4_6 = Qt::Label( $tabPage ); + $self->{textLabel1_4_6} = $textLabel1_4_6; + $textLabel1_4_6->setObjectName( "textLabel1_4_6" ); + $sizePolicy9->setHeightForWidth( $textLabel1_4_6->sizePolicy()->hasHeightForWidth() ); + $textLabel1_4_6->setSizePolicy( $sizePolicy9 ); + $textLabel1_4_6->setWordWrap( 0 ); + + $hboxLayout3->addWidget( $textLabel1_4_6 ); + + my $constraintLine = Qt::LineEdit( $tabPage ); + $self->{constraintLine} = $constraintLine; + $constraintLine->setObjectName( "constraintLine" ); + $sizePolicy1->setHeightForWidth( $constraintLine->sizePolicy()->hasHeightForWidth() ); + $constraintLine->setSizePolicy( $sizePolicy1 ); + $constraintLine->setMinimumSize( Qt::Size(0, 25) ); + + $hboxLayout3->addWidget( $constraintLine ); + + my $addConstraint = Qt::PushButton( $tabPage ); + $self->{addConstraint} = $addConstraint; + $addConstraint->setObjectName( "addConstraint" ); + $sizePolicy9->setHeightForWidth( $addConstraint->sizePolicy()->hasHeightForWidth() ); + $addConstraint->setSizePolicy( $sizePolicy9 ); + + $hboxLayout3->addWidget( $addConstraint ); + + + $vboxLayout7->addLayout( $hboxLayout3 ); + + my $textLabel2_2_3_4 = Qt::Label( $tabPage ); + $self->{textLabel2_2_3_4} = $textLabel2_2_3_4; + $textLabel2_2_3_4->setObjectName( "textLabel2_2_3_4" ); + my $palette5 = Qt::Palette(); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::WindowText(), $brush); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Button(), $brush1); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Light(), $brush2); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Midlight(), $brush3); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Dark(), $brush4); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Mid(), $brush5); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Text(), $brush); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::BrightText(), $brush2); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::ButtonText(), $brush); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Base(), $brush2); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Window(), $brush6); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Shadow(), $brush); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Highlight(), $brush7); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::HighlightedText(), $brush2); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::Link(), $brush); + $palette5->setBrush(Qt::Palette::Active(), Qt::Palette::LinkVisited(), $brush); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::WindowText(), $brush); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Button(), $brush1); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Light(), $brush2); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Midlight(), $brush2); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Dark(), $brush4); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Mid(), $brush5); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Text(), $brush); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::BrightText(), $brush2); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::ButtonText(), $brush); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Base(), $brush2); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Window(), $brush6); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Shadow(), $brush); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Highlight(), $brush7); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::HighlightedText(), $brush2); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::Link(), $brush8); + $palette5->setBrush(Qt::Palette::Inactive(), Qt::Palette::LinkVisited(), $brush9); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::WindowText(), $brush10); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Button(), $brush1); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Light(), $brush2); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Midlight(), $brush2); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Dark(), $brush4); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Mid(), $brush5); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Text(), $brush10); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::BrightText(), $brush2); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::ButtonText(), $brush10); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Base(), $brush2); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Window(), $brush6); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Shadow(), $brush); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Highlight(), $brush7); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::HighlightedText(), $brush2); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::Link(), $brush8); + $palette5->setBrush(Qt::Palette::Disabled(), Qt::Palette::LinkVisited(), $brush9); + $textLabel2_2_3_4->setPalette( $palette5 ); + $textLabel2_2_3_4->setWordWrap( 0 ); + + $vboxLayout7->addWidget( $textLabel2_2_3_4 ); + + my $functionsBlock = Qt::TextEdit( $tabPage ); + $self->{functionsBlock} = $functionsBlock; + $functionsBlock->setObjectName( "functionsBlock" ); + + $vboxLayout7->addWidget( $functionsBlock ); + + my $hboxLayout4 = Qt::HBoxLayout( ); + $self->{hboxLayout4} = $hboxLayout4; + $hboxLayout4->setSpacing( 6 ); + $hboxLayout4->setObjectName( "hboxLayout4" ); + my $textLabel1_6_3 = Qt::Label( $tabPage ); + $self->{textLabel1_6_3} = $textLabel1_6_3; + $textLabel1_6_3->setObjectName( "textLabel1_6_3" ); + $textLabel1_6_3->setWordWrap( 0 ); + + $hboxLayout4->addWidget( $textLabel1_6_3 ); + + my $resetFunc = Qt::PushButton( $tabPage ); + $self->{resetFunc} = $resetFunc; + $resetFunc->setObjectName( "resetFunc" ); + $resetFunc->setMaximumSize( Qt::Size(100, 32767) ); + + $hboxLayout4->addWidget( $resetFunc ); + + + $vboxLayout7->addLayout( $hboxLayout4 ); + + + $gridLayout10->addLayout( $vboxLayout7, 0, 0, 1, 1 ); + + $musrfit_tabs->addTab( $tabPage, Qt::Application::translate( 'MuSRFit4', "Constraints", undef, Qt::Application::UnicodeUTF8() ) ); + + $gridLayout->addWidget( $musrfit_tabs, 0, 0, 1, 1 ); + + $muSRFit4->setCentralWidget( $widget ); + my $menuBar = Qt::MenuBar( $muSRFit4 ); + $self->{menuBar} = $menuBar; + $menuBar->setObjectName( "menuBar" ); + $menuBar->setEnabled( 1 ); + $menuBar->setGeometry( Qt::Rect(0, 0, 600, 20) ); + my $fileMenu = Qt::Menu( $menuBar ); + $self->{fileMenu} = $fileMenu; + $fileMenu->setObjectName( "fileMenu" ); + my $actions = Qt::Menu( $menuBar ); + $self->{actions} = $actions; + $actions->setObjectName( "actions" ); + my $parameters = Qt::Menu( $menuBar ); + $self->{parameters} = $parameters; + $parameters->setObjectName( "parameters" ); + my $options = Qt::Menu( $menuBar ); + $self->{options} = $options; + $options->setObjectName( "options" ); + my $helpMenu = Qt::Menu( $menuBar ); + $self->{helpMenu} = $helpMenu; + $helpMenu->setObjectName( "helpMenu" ); + $muSRFit4->setMenuBar( $menuBar ); + my $fileToolBar = Qt::ToolBar( $muSRFit4 ); + $self->{fileToolBar} = $fileToolBar; + $fileToolBar->setObjectName( "fileToolBar" ); + $muSRFit4->addToolBar( Qt::TopToolBarArea(), $fileToolBar ); + my $actionsToolBar = Qt::ToolBar( $muSRFit4 ); + $self->{actionsToolBar} = $actionsToolBar; + $actionsToolBar->setObjectName( "actionsToolBar" ); + $actionsToolBar->setMinimumSize( Qt::Size(0, 0) ); + $muSRFit4->addToolBar( Qt::TopToolBarArea(), $actionsToolBar ); + Qt::Widget::setTabOrder( $musrfit_tabs, $runNumbers ); + Qt::Widget::setTabOrder( $runNumbers, $beamLine ); + Qt::Widget::setTabOrder( $beamLine, $year ); + Qt::Widget::setTabOrder( $year, $runFiles ); + Qt::Widget::setTabOrder( $runFiles, $browse ); + Qt::Widget::setTabOrder( $browse, $fitType1 ); + Qt::Widget::setTabOrder( $fitType1, $fitType2 ); + Qt::Widget::setTabOrder( $fitType2, $fitType3 ); + Qt::Widget::setTabOrder( $fitType3, $tis ); + Qt::Widget::setTabOrder( $tis, $tfs ); + Qt::Widget::setTabOrder( $tfs, $bins ); + Qt::Widget::setTabOrder( $bins, $xi ); + Qt::Widget::setTabOrder( $xi, $xf ); + Qt::Widget::setTabOrder( $xf, $viewBin ); + Qt::Widget::setTabOrder( $viewBin, $yi ); + Qt::Widget::setTabOrder( $yi, $yf ); + Qt::Widget::setTabOrder( $yf, $ltc ); + Qt::Widget::setTabOrder( $ltc, $fitAsyType ); + Qt::Widget::setTabOrder( $fitAsyType, $histsLRBF ); + Qt::Widget::setTabOrder( $histsLRBF, $minimization ); + Qt::Widget::setTabOrder( $minimization, $errorCalc ); + Qt::Widget::setTabOrder( $errorCalc, $fitTextOutput ); + Qt::Widget::setTabOrder( $fitTextOutput, $buttonGroupSharing ); + Qt::Widget::setTabOrder( $buttonGroupSharing, $shParam_1_1 ); + Qt::Widget::setTabOrder( $shParam_1_1, $shParam_1_2 ); + Qt::Widget::setTabOrder( $shParam_1_2, $shParam_1_3 ); + Qt::Widget::setTabOrder( $shParam_1_3, $shParam_1_4 ); + Qt::Widget::setTabOrder( $shParam_1_4, $shParam_1_5 ); + Qt::Widget::setTabOrder( $shParam_1_5, $shParam_1_6 ); + Qt::Widget::setTabOrder( $shParam_1_6, $shParam_1_7 ); + Qt::Widget::setTabOrder( $shParam_1_7, $shParam_1_8 ); + Qt::Widget::setTabOrder( $shParam_1_8, $shParam_1_9 ); + Qt::Widget::setTabOrder( $shParam_1_9, $shParam_2_1 ); + Qt::Widget::setTabOrder( $shParam_2_1, $shParam_2_2 ); + Qt::Widget::setTabOrder( $shParam_2_2, $shParam_2_3 ); + Qt::Widget::setTabOrder( $shParam_2_3, $shParam_2_4 ); + Qt::Widget::setTabOrder( $shParam_2_4, $shParam_2_5 ); + Qt::Widget::setTabOrder( $shParam_2_5, $shParam_2_6 ); + Qt::Widget::setTabOrder( $shParam_2_6, $shParam_2_7 ); + Qt::Widget::setTabOrder( $shParam_2_7, $shParam_2_8 ); + Qt::Widget::setTabOrder( $shParam_2_8, $shParam_2_9 ); + Qt::Widget::setTabOrder( $shParam_2_9, $shParam_3_1 ); + Qt::Widget::setTabOrder( $shParam_3_1, $shParam_3_2 ); + Qt::Widget::setTabOrder( $shParam_3_2, $shParam_3_3 ); + Qt::Widget::setTabOrder( $shParam_3_3, $shParam_3_4 ); + Qt::Widget::setTabOrder( $shParam_3_4, $shParam_3_5 ); + Qt::Widget::setTabOrder( $shParam_3_5, $shParam_3_6 ); + Qt::Widget::setTabOrder( $shParam_3_6, $shParam_3_7 ); + Qt::Widget::setTabOrder( $shParam_3_7, $shParam_3_8 ); + Qt::Widget::setTabOrder( $shParam_3_8, $shParam_3_9 ); + Qt::Widget::setTabOrder( $shParam_3_9, $initParamTable ); + Qt::Widget::setTabOrder( $initParamTable, $title ); + Qt::Widget::setTabOrder( $title, $fileName ); + Qt::Widget::setTabOrder( $fileName, $textMSROutput ); + Qt::Widget::setTabOrder( $textMSROutput, $funits ); + Qt::Widget::setTabOrder( $funits, $fapodization ); + Qt::Widget::setTabOrder( $fapodization, $fplot ); + Qt::Widget::setTabOrder( $fplot, $frqMin ); + Qt::Widget::setTabOrder( $frqMin, $fphase ); + Qt::Widget::setTabOrder( $fphase, $frqMax ); + Qt::Widget::setTabOrder( $frqMax, $rrfFrq ); + Qt::Widget::setTabOrder( $rrfFrq, $rrfUnits ); + Qt::Widget::setTabOrder( $rrfUnits, $rrfPack ); + Qt::Widget::setTabOrder( $rrfPack, $rrfPhase ); + Qt::Widget::setTabOrder( $rrfPhase, $t01 ); + Qt::Widget::setTabOrder( $t01, $bg11 ); + Qt::Widget::setTabOrder( $bg11, $bg21 ); + Qt::Widget::setTabOrder( $bg21, $data11 ); + Qt::Widget::setTabOrder( $data11, $data21 ); + Qt::Widget::setTabOrder( $data21, $t02 ); + Qt::Widget::setTabOrder( $t02, $bg12 ); + Qt::Widget::setTabOrder( $bg12, $bg22 ); + Qt::Widget::setTabOrder( $bg22, $data12 ); + Qt::Widget::setTabOrder( $data12, $data22 ); + Qt::Widget::setTabOrder( $data22, $t03 ); + Qt::Widget::setTabOrder( $t03, $bg13 ); + Qt::Widget::setTabOrder( $bg13, $bg23 ); + Qt::Widget::setTabOrder( $bg23, $data13 ); + Qt::Widget::setTabOrder( $data13, $data23 ); + Qt::Widget::setTabOrder( $data23, $t04 ); + Qt::Widget::setTabOrder( $t04, $bg14 ); + Qt::Widget::setTabOrder( $bg14, $bg24 ); + Qt::Widget::setTabOrder( $bg24, $data14 ); + Qt::Widget::setTabOrder( $data14, $data24 ); + Qt::Widget::setTabOrder( $data24, $t0Update ); + Qt::Widget::setTabOrder( $t0Update, $theoryBlock ); + Qt::Widget::setTabOrder( $theoryBlock, $parametersList ); + Qt::Widget::setTabOrder( $parametersList, $cParamsCombo ); + Qt::Widget::setTabOrder( $cParamsCombo, $constraintLine ); + Qt::Widget::setTabOrder( $constraintLine, $addConstraint ); + Qt::Widget::setTabOrder( $addConstraint, $functionsBlock ); + Qt::Widget::setTabOrder( $functionsBlock, $resetFunc ); + + $menuBar->addAction( $fileMenu->menuAction() ); + $menuBar->addAction( $actions->menuAction() ); + $menuBar->addAction( $parameters->menuAction() ); + $menuBar->addAction( $options->menuAction() ); + $menuBar->addAction( $helpMenu->menuAction() ); + $menuBar->addSeparator(); + $fileMenu->addAction( $fileSaveAction ); + $fileMenu->addAction( $fileChangeDirAction ); + $fileMenu->addSeparator(); + $fileMenu->addAction( $fileExitAction ); + $actions->addAction( $fit ); + $actions->addAction( $plot ); + $actions->addAction( $t0 ); + $parameters->addAction( $parametersExport_AsAction ); + $parameters->addAction( $parametersAppend_ToAction ); + $options->addAction( $fileExistCheck ); + $options->addAction( $manualFile ); + $helpMenu->addAction( $helpAboutAction ); + $fileToolBar->addAction( $fileExitAction ); + $fileToolBar->addAction( $fileChangeDirAction ); + $fileToolBar->addAction( $fileSaveAction ); + $actionsToolBar->addAction( $fit ); + $actionsToolBar->addAction( $plot ); + $actionsToolBar->addAction( $t0 ); + $actionsToolBar->addAction( $parametersExport_AsAction ); + $actionsToolBar->addAction( $parametersAppend_ToAction ); + + $self->retranslateUi( $muSRFit4 ); + Qt::Object::connect($fit, SIGNAL 'activated()' , $muSRFit4, SLOT 'GoFit()' ); + Qt::Object::connect($parametersAppend_ToAction, SIGNAL 'activated()' , $muSRFit4, SLOT 'parametersAppend()' ); + Qt::Object::connect($parametersExport_AsAction, SIGNAL 'activated()' , $muSRFit4, SLOT 'parametersExport()' ); + Qt::Object::connect($fileChangeDirAction, SIGNAL 'activated()' , $muSRFit4, SLOT 'fileChangeDir()' ); + Qt::Object::connect($fileSaveAction, SIGNAL 'activated()' , $muSRFit4, SLOT 'fileSave()' ); + Qt::Object::connect($fileExitAction, SIGNAL 'activated()' , $muSRFit4, SLOT 'fileExit()' ); + Qt::Object::connect($helpAboutAction, SIGNAL 'activated()' , $muSRFit4, SLOT 'helpAbout()' ); + Qt::Object::connect($t0, SIGNAL 'activated()' , $muSRFit4, SLOT 'ShowMuSRT0()' ); + Qt::Object::connect($plot, SIGNAL 'activated()' , $muSRFit4, SLOT 'GoPlot()' ); + Qt::Object::connect($resetFunc, SIGNAL 'clicked()' , $muSRFit4, SLOT 'InitializeFunctions()' ); + Qt::Object::connect($addConstraint, SIGNAL 'clicked()' , $muSRFit4, SLOT 'AppendToFunctions()' ); + Qt::Object::connect($buttonGroupSharing, SIGNAL 'toggled(bool)' , $muSRFit4, SLOT 'ActivateShComp()' ); + Qt::Object::connect($musrfit_tabs, SIGNAL 'currentChanged(int)' , $muSRFit4, SLOT 'TabChanged()' ); + Qt::Object::connect($t0Update, SIGNAL 'clicked()' , $muSRFit4, SLOT 't0UpdateClicked()' ); + Qt::Object::connect($buttonGroupSharing, SIGNAL 'toggled(bool)' , $muSRFit4, SLOT 'ActivateShComp()' ); + Qt::Object::connect($menuBar, SIGNAL 'triggered(QAction*)' , $muSRFit4, SLOT 'RunSelectionToggle()' ); + Qt::Object::connect($fitType1, SIGNAL 'currentIndexChanged(int)' , $muSRFit4, SLOT 'InitializeFunctions()' ); + Qt::Object::connect($beamLine, SIGNAL 'currentIndexChanged(int)' , $muSRFit4, SLOT 't0Update()' ); + + $musrfit_tabs->setCurrentIndex( 0 ); + $fitType2->setCurrentIndex( 18 ); + $fitType3->setCurrentIndex( 18 ); + + + Qt::MetaObject::connectSlotsByName( $muSRFit4 ); + return $self; +} # setupUi + +sub setup_ui { + my ( $muSRFit4 ) = @_; + return setupUi( $muSRFit4 ); +} + +sub retranslateUi { + my ( $self, $muSRFit4 ) = @_; + $muSRFit4->setWindowTitle( Qt::Application::translate( 'MuSRFit4', "MuSRFit GUI", undef, Qt::Application::UnicodeUTF8() ) ); + $muSRFit4->setWindowIconText( Qt::Application::translate( 'MuSRFit4', "MuSRFitGUI", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileSaveAction}->setText( Qt::Application::translate( 'MuSRFit4', "&Save MSR...", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileSaveAction}->setIconText( Qt::Application::translate( 'MuSRFit4', "&Save MSR...", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileSaveAction}->setStatusTip( Qt::Application::translate( 'MuSRFit4', "&Save MSR", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileSaveAction}->setShortcut( Qt::KeySequence( Qt::Application::translate( 'MuSRFit4', "Ctrl+S", undef, Qt::Application::UnicodeUTF8() ) ) ); + $self->{fileExitAction}->setText( Qt::Application::translate( 'MuSRFit4', "E&xit", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileExitAction}->setIconText( Qt::Application::translate( 'MuSRFit4', "Exit", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileExitAction}->setShortcut( Qt::KeySequence( '' ) ); + $self->{helpAboutAction}->setText( Qt::Application::translate( 'MuSRFit4', "&About", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{helpAboutAction}->setIconText( Qt::Application::translate( 'MuSRFit4', "About", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{helpAboutAction}->setShortcut( Qt::KeySequence( '' ) ); + $self->{fileExistCheck}->setText( Qt::Application::translate( 'MuSRFit4', "No Overwrite", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileExistCheck}->setIconText( Qt::Application::translate( 'MuSRFit4', "Overwrite MSR File", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileExistCheck}->setToolTip( Qt::Application::translate( 'MuSRFit4', "Enable overwriting MSR files", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileExistCheck}->setWhatsThis( Qt::Application::translate( 'MuSRFit4', "Enable/Disable checking for MSR files.", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{manualFile}->setText( Qt::Application::translate( 'MuSRFit4', "Maual file selection", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{manualFile}->setIconText( Qt::Application::translate( 'MuSRFit4', "Maual file selection", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileChangeDirAction}->setText( Qt::Application::translate( 'MuSRFit4', "&Change dir", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileChangeDirAction}->setIconText( Qt::Application::translate( 'MuSRFit4', "&Change dir", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileChangeDirAction}->setShortcut( Qt::KeySequence( Qt::Application::translate( 'MuSRFit4', "Ctrl+C", undef, Qt::Application::UnicodeUTF8() ) ) ); + $self->{optionsnew_itemAction}->setText( Qt::Application::translate( 'MuSRFit4', "new item", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{optionsnew_itemAction}->setIconText( Qt::Application::translate( 'MuSRFit4', "new item", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{parametersExport_AsAction}->setText( Qt::Application::translate( 'MuSRFit4', "&Export As...", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{parametersExport_AsAction}->setIconText( Qt::Application::translate( 'MuSRFit4', "Export As...", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{parametersExport_AsAction}->setShortcut( Qt::KeySequence( Qt::Application::translate( 'MuSRFit4', "Alt+E", undef, Qt::Application::UnicodeUTF8() ) ) ); + $self->{parametersAppend_ToAction}->setText( Qt::Application::translate( 'MuSRFit4', "&Append To...", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{parametersAppend_ToAction}->setIconText( Qt::Application::translate( 'MuSRFit4', "Append To...", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{parametersAppend_ToAction}->setShortcut( Qt::KeySequence( Qt::Application::translate( 'MuSRFit4', "Alt+A", undef, Qt::Application::UnicodeUTF8() ) ) ); + $self->{fit}->setIconText( Qt::Application::translate( 'MuSRFit4', "Fit and Plot", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fit}->setShortcut( Qt::KeySequence( Qt::Application::translate( 'MuSRFit4', "Ctrl+F", undef, Qt::Application::UnicodeUTF8() ) ) ); + $self->{plot}->setIconText( Qt::Application::translate( 'MuSRFit4', "Plot", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{plot}->setShortcut( Qt::KeySequence( Qt::Application::translate( 'MuSRFit4', "Ctrl+P", undef, Qt::Application::UnicodeUTF8() ) ) ); + $self->{t0}->setIconText( Qt::Application::translate( 'MuSRFit4', "Show t0 and Bg Bins", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{t0}->setShortcut( Qt::KeySequence( Qt::Application::translate( 'MuSRFit4', "Ctrl+T", undef, Qt::Application::UnicodeUTF8() ) ) ); + $self->{optionsFourier}->setText( Qt::Application::translate( 'MuSRFit4', "Fourier", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{optionsFourier}->setIconText( Qt::Application::translate( 'MuSRFit4', "Fourier", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{optionsT0}->setText( Qt::Application::translate( 'MuSRFit4', "T0 and Bg bins", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{optionsT0}->setIconText( Qt::Application::translate( 'MuSRFit4', "T0 and Bg bins", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{runsMan}->setTitle( Qt::Application::translate( 'MuSRFit4', "RUN Files", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{runFiles}->setToolTip( Qt::Application::translate( 'MuSRFit4', "Names of data files to be fit. Multiple data files are comma separated.", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{runFiles}->setWhatsThis( Qt::Application::translate( 'MuSRFit4', "Names of data files to be fit. Multiple data files are comma separated.", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{browse}->setToolTip( Qt::Application::translate( 'MuSRFit4', "Browse to select data files for fitting.", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{browse}->setWhatsThis( Qt::Application::translate( 'MuSRFit4', "Browse to select data files for fitting.", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{browse}->setText( Qt::Application::translate( 'MuSRFit4', "Browse", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fitAsyTypeLabel}->setText( Qt::Application::translate( 'MuSRFit4', "Fit type", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fitAsyType}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "Asymmetry", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "SingleHist", undef, Qt::Application::UnicodeUTF8() )]); + $self->{histsLRBFLabel}->setText( Qt::Application::translate( 'MuSRFit4', "Histograms list", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{histsLRBF}->setText( Qt::Application::translate( 'MuSRFit4', "1 5,3 7", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{runsAuto}->setTitle( Qt::Application::translate( 'MuSRFit4', "RUN Numbers", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{yearLabel}->setText( Qt::Application::translate( 'MuSRFit4', "Year", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{beamLineLabel}->setText( Qt::Application::translate( 'MuSRFit4', "On beam line", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{beamLine}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "LEM", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "GPS", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Dolly", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "LTF", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "LEM (PPC)", undef, Qt::Application::UnicodeUTF8() )]); + $self->{runNumbers}->setToolTip( Qt::Application::translate( 'MuSRFit4', "Numbers of RUNs to fit. Multiple runs are comma separated.", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{runNumbers}->setWhatsThis( Qt::Application::translate( 'MuSRFit4', "Numbers of RUNs to fit. Multiple runs are comma separated.", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{runNumbers}->setText( '' ); + $self->{groupBox}->setTitle( Qt::Application::translate( 'MuSRFit4', "Theory Function", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{comp1Label}->setText( Qt::Application::translate( 'MuSRFit4', "First Component", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{comp2Label}->setText( Qt::Application::translate( 'MuSRFit4', "Second Component", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{comp3Label}->setText( Qt::Application::translate( 'MuSRFit4', "Third Component", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fitType1}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "Exponential", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Stretch Exp.", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Exponential Cos", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Cos", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Stretch Cos", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lorentzian Dynamic KT", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Dynamic KT", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Background", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lorentzian Kubo-Toyabe LF x Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Kubo-Toyabe LF x Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lorentzian Kubo-Toyabe LF x Str Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Kubo-Toyabe LF x Str Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "MolMag", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Meissner State Model", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lor-Gss combi KT", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lor-Gss combi KT x Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lor-Gss combi KT x SExp", undef, Qt::Application::UnicodeUTF8() )]); + $self->{fitType2}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "Exponential", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Stretch Exp.", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Exponential Cos", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Cos", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Stretch Cos", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lorentzian Dynamic KT", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Dynamic KT", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Background", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lorentzian Kubo-Toyabe LF x Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Kubo-Toyabe LF x Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lorentzian Kubo-Toyabe LF x Str Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Kubo-Toyabe LF x Str Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "MolMag", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Meissner State Model", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lor-Gss combi KT", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lor-Gss combi KT x Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lor-Gss combi KT x SExp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "None", undef, Qt::Application::UnicodeUTF8() )]); + $self->{fitType3}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "Exponential", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Stretch Exp.", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Exponential Cos", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Cos", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Stretch Cos", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lorentzian Dynamic KT", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Dynamic KT", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Background", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lorentzian Kubo-Toyabe LF x Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Kubo-Toyabe LF x Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lorentzian Kubo-Toyabe LF x Str Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gaussian Kubo-Toyabe LF x Str Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "MolMag", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Meissner State Model", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lor-Gss combi KT", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lor-Gss combi KT x Exp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Lor-Gss combi KT x SExp", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "None", undef, Qt::Application::UnicodeUTF8() )]); + $self->{tisLabel}->setText( Qt::Application::translate( 'MuSRFit4', "Initial Fit Time", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{tfsLabel}->setText( Qt::Application::translate( 'MuSRFit4', "Final Fit Time", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{binsLabel}->setText( Qt::Application::translate( 'MuSRFit4', "Fit Binning Factor", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{tis}->setText( Qt::Application::translate( 'MuSRFit4', "0", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{tfs}->setText( Qt::Application::translate( 'MuSRFit4', "8", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{bins}->setText( Qt::Application::translate( 'MuSRFit4', "100", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_4}->setText( Qt::Application::translate( 'MuSRFit4', "Min X", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_8}->setText( Qt::Application::translate( 'MuSRFit4', "Max X", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_4_2_2}->setText( Qt::Application::translate( 'MuSRFit4', "View Binning Factor", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_4_2}->setText( Qt::Application::translate( 'MuSRFit4', "Min Y", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_4_3}->setText( Qt::Application::translate( 'MuSRFit4', "Max Y", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_4_4}->setText( '' ); + $self->{ltc}->setText( Qt::Application::translate( 'MuSRFit4', "Life time correction", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{musrfit_tabs}->setTabText( $self->{musrfit_tabs}->indexOf( $self->{runsPage}), Qt::Application::translate( 'MuSRFit4', "RUNS", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{errorCalc}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "HESSE", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "MINOS", undef, Qt::Application::UnicodeUTF8() )]); + $self->{minimization}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "MINIMIZE", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "MIGRAD", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "SIMPLEX", undef, Qt::Application::UnicodeUTF8() )]); + $self->{textLabel1_5}->setText( Qt::Application::translate( 'MuSRFit4', "Minimization type", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_5_2}->setText( Qt::Application::translate( 'MuSRFit4', "Error estimation", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{musrfit_tabs}->setTabText( $self->{musrfit_tabs}->indexOf( $self->{fittingPage}), Qt::Application::translate( 'MuSRFit4', "Fitting", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{buttonGroupSharing}->setTitle( Qt::Application::translate( 'MuSRFit4', "Shared parameters among different runs", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{sharingComp1}->setTitle( Qt::Application::translate( 'MuSRFit4', "1st Component", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_1_1}->setText( Qt::Application::translate( 'MuSRFit4', "Param1", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_1_2}->setText( Qt::Application::translate( 'MuSRFit4', "Param2", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_1_3}->setText( Qt::Application::translate( 'MuSRFit4', "Param3", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_1_4}->setText( Qt::Application::translate( 'MuSRFit4', "Param4", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_1_5}->setText( Qt::Application::translate( 'MuSRFit4', "Param5", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_1_6}->setText( Qt::Application::translate( 'MuSRFit4', "Param6", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_1_7}->setText( Qt::Application::translate( 'MuSRFit4', "Param7", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_1_8}->setText( Qt::Application::translate( 'MuSRFit4', "Param8", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_1_9}->setText( Qt::Application::translate( 'MuSRFit4', "Param9", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{comp1ShLabel}->setText( Qt::Application::translate( 'MuSRFit4', "FitType1", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{sharingComp2}->setTitle( Qt::Application::translate( 'MuSRFit4', "2nd Component", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{comp2ShLabel}->setText( Qt::Application::translate( 'MuSRFit4', "FitType2", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_2_1}->setText( Qt::Application::translate( 'MuSRFit4', "Param1", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_2_2}->setText( Qt::Application::translate( 'MuSRFit4', "Param2", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_2_3}->setText( Qt::Application::translate( 'MuSRFit4', "Param3", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_2_4}->setText( Qt::Application::translate( 'MuSRFit4', "Param4", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_2_5}->setText( Qt::Application::translate( 'MuSRFit4', "Param5", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_2_6}->setText( Qt::Application::translate( 'MuSRFit4', "Param6", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_2_7}->setText( Qt::Application::translate( 'MuSRFit4', "Param7", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_2_8}->setText( Qt::Application::translate( 'MuSRFit4', "Param8", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_2_9}->setText( Qt::Application::translate( 'MuSRFit4', "Param9", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{sharingComp3}->setTitle( Qt::Application::translate( 'MuSRFit4', "3rd Component", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{comp3ShLabel}->setText( Qt::Application::translate( 'MuSRFit4', "FitType3", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_3_1}->setText( Qt::Application::translate( 'MuSRFit4', "Param1", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_3_2}->setText( Qt::Application::translate( 'MuSRFit4', "Param2", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_3_3}->setText( Qt::Application::translate( 'MuSRFit4', "Param3", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_3_4}->setText( Qt::Application::translate( 'MuSRFit4', "Param4", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_3_5}->setText( Qt::Application::translate( 'MuSRFit4', "Param5", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_3_6}->setText( Qt::Application::translate( 'MuSRFit4', "Param6", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_3_7}->setText( Qt::Application::translate( 'MuSRFit4', "Param7", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_3_8}->setText( Qt::Application::translate( 'MuSRFit4', "Param8", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{shParam_3_9}->setText( Qt::Application::translate( 'MuSRFit4', "Param9", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{musrfit_tabs}->setTabText( $self->{musrfit_tabs}->indexOf( $self->{sharingPage}), Qt::Application::translate( 'MuSRFit4', "Sharing", undef, Qt::Application::UnicodeUTF8() ) ); + my $initParamTable = $self->{initParamTable}; + if ( $initParamTable->columnCount < 4 ) { + $initParamTable->setColumnCount(4); + } + + my $__colItem = Qt::TableWidgetItem(); + $__colItem->setText( Qt::Application::translate( 'MuSRFit4', "Value", undef, Qt::Application::UnicodeUTF8() ) ); + $initParamTable->setHorizontalHeaderItem( 0, $__colItem ); + + my $__colItem1 = Qt::TableWidgetItem(); + $__colItem1->setText( Qt::Application::translate( 'MuSRFit4', "Error", undef, Qt::Application::UnicodeUTF8() ) ); + $initParamTable->setHorizontalHeaderItem( 1, $__colItem1 ); + + my $__colItem2 = Qt::TableWidgetItem(); + $__colItem2->setText( Qt::Application::translate( 'MuSRFit4', "Min", undef, Qt::Application::UnicodeUTF8() ) ); + $initParamTable->setHorizontalHeaderItem( 2, $__colItem2 ); + + my $__colItem3 = Qt::TableWidgetItem(); + $__colItem3->setText( Qt::Application::translate( 'MuSRFit4', "Max", undef, Qt::Application::UnicodeUTF8() ) ); + $initParamTable->setHorizontalHeaderItem( 3, $__colItem3 ); + if ( $initParamTable->rowCount() < 1 ) { + $initParamTable->setRowCount(1); + } + + my $__rowItem = Qt::TableWidgetItem(); + $__rowItem->setText( Qt::Application::translate( 'MuSRFit4', "Alpha", undef, Qt::Application::UnicodeUTF8() ) ); + $initParamTable->setVerticalHeaderItem( 0, $__rowItem ); + $self->{musrfit_tabs}->setTabText( $self->{musrfit_tabs}->indexOf( $self->{initializationPage}), Qt::Application::translate( 'MuSRFit4', "Initialization", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{groupTitle}->setTitle( '' ); + $self->{titleLabel}->setText( Qt::Application::translate( 'MuSRFit4', "Enter the label (defaul is run title from the first run)", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{title}->setToolTip( Qt::Application::translate( 'MuSRFit4', "Title line for MSR file (optional)", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{title}->setWhatsThis( Qt::Application::translate( 'MuSRFit4', "Title line for MSR file (optional)", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{title}->setText( '' ); + $self->{fileNameLabel}->setText( Qt::Application::translate( 'MuSRFit4', "Enter [name] for output [name].msr file (optional)", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileName}->setToolTip( Qt::Application::translate( 'MuSRFit4', "Name of the produced MSR file (optional)", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileName}->setWhatsThis( Qt::Application::translate( 'MuSRFit4', "Name of the produced MSR file (optional)", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{musrfit_tabs}->setTabText( $self->{musrfit_tabs}->indexOf( $self->{msrPage}), Qt::Application::translate( 'MuSRFit4', "MSR File", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fourierBox}->setTitle( Qt::Application::translate( 'MuSRFit4', "Fourier transform parameters", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{funits}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "MHz", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Gauss", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Mc/s", undef, Qt::Application::UnicodeUTF8() )]); + $self->{fplot}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "power", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "real", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "imag", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "real_and_imag", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "phase", undef, Qt::Application::UnicodeUTF8() )]); + $self->{textLabel1_3_8}->setText( '' ); + $self->{textLabel1_7}->setText( Qt::Application::translate( 'MuSRFit4', "Phase:", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fplotLabel}->setText( Qt::Application::translate( 'MuSRFit4', "Plot", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_3_4}->setText( '' ); + $self->{fapodization}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "STRONG", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "MEDIUM", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "WEAK", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "NONE", undef, Qt::Application::UnicodeUTF8() )]); + $self->{fapodizationLabel}->setText( Qt::Application::translate( 'MuSRFit4', "Apodization", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_3_3}->setText( '' ); + $self->{textLabel1_2}->setText( Qt::Application::translate( 'MuSRFit4', "to", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_3_6}->setText( '' ); + $self->{textLabel1_3_5}->setText( '' ); + $self->{textLabel1_3_7}->setText( '' ); + $self->{textLabel1}->setText( Qt::Application::translate( 'MuSRFit4', "Range: from", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{label}->setText( Qt::Application::translate( 'MuSRFit4', "Units", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{rrfBox}->setTitle( Qt::Application::translate( 'MuSRFit4', "Rotatting reference frame (RRF) parameters", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_6_2_2}->setText( Qt::Application::translate( 'MuSRFit4', "Phase", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_6}->setText( Qt::Application::translate( 'MuSRFit4', "Frequency", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_6_2_4}->setText( '' ); + $self->{rrfFrq}->setText( '' ); + $self->{textLabel1_6_2_3}->setText( '' ); + $self->{textLabel1_6_2}->setText( Qt::Application::translate( 'MuSRFit4', "Packing", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{rrfUnits}->insertItems(0, [Qt::Application::translate( 'MuSRFit4', "MHz", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "kHz", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "Mc/s", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "G", undef, Qt::Application::UnicodeUTF8() ), + Qt::Application::translate( 'MuSRFit4', "T", undef, Qt::Application::UnicodeUTF8() )]); + $self->{musrfit_tabs}->setTabText( $self->{musrfit_tabs}->indexOf( $self->{fourierPage}), Qt::Application::translate( 'MuSRFit4', "FFT/RRF", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{groupHist0}->setTitle( '' ); + $self->{textLabel2}->setText( Qt::Application::translate( 'MuSRFit4', "t0", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel2_2_2_3}->setText( Qt::Application::translate( 'MuSRFit4', "Bg1", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel2_2_2}->setText( Qt::Application::translate( 'MuSRFit4', "Bg2", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel2_2_2_2}->setText( Qt::Application::translate( 'MuSRFit4', "Data 1", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel2_2_2_2_2}->setText( Qt::Application::translate( 'MuSRFit4', "Data 2", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{groupHist1}->setTitle( Qt::Application::translate( 'MuSRFit4', "Hist1", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{groupHist2}->setTitle( Qt::Application::translate( 'MuSRFit4', "Hist2", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{groupHist3}->setTitle( Qt::Application::translate( 'MuSRFit4', "Hist3", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{groupHist4}->setTitle( Qt::Application::translate( 'MuSRFit4', "Hist4", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{t0Update}->setToolTip( Qt::Application::translate( 'MuSRFit4', "Use musrt0 to set values", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{t0Update}->setText( Qt::Application::translate( 'MuSRFit4', "Update", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{musrfit_tabs}->setTabText( $self->{musrfit_tabs}->indexOf( $self->{t0Page}), Qt::Application::translate( 'MuSRFit4', "t0/Bg", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{theoryBlock_Label}->setText( Qt::Application::translate( 'MuSRFit4', "THEORY Block", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{parametersList_Label}->setText( Qt::Application::translate( 'MuSRFit4', "Parameters List", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_4_6}->setText( Qt::Application::translate( 'MuSRFit4', "=", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{addConstraint}->setText( Qt::Application::translate( 'MuSRFit4', "Add", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel2_2_3_4}->setText( Qt::Application::translate( 'MuSRFit4', "FUNCTIONS Block", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{textLabel1_6_3}->setText( '' ); + $self->{resetFunc}->setText( Qt::Application::translate( 'MuSRFit4', "Reset", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{musrfit_tabs}->setTabText( $self->{musrfit_tabs}->indexOf( $self->{tabPage}), Qt::Application::translate( 'MuSRFit4', "Constraints", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileMenu}->setTitle( Qt::Application::translate( 'MuSRFit4', "&File", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{actions}->setTitle( Qt::Application::translate( 'MuSRFit4', "Actions", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{parameters}->setTitle( Qt::Application::translate( 'MuSRFit4', "Parameters", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{options}->setTitle( Qt::Application::translate( 'MuSRFit4', "Options", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{helpMenu}->setTitle( Qt::Application::translate( 'MuSRFit4', "&Help", undef, Qt::Application::UnicodeUTF8() ) ); + $self->{fileToolBar}->setProperty("label", Qt::Variant( Qt::Application::translate( 'MuSRFit4', "File Menu", undef, Qt::Application::UnicodeUTF8() ) )); + $self->{actionsToolBar}->setProperty("label", Qt::Variant( Qt::Application::translate( 'MuSRFit4', "Actions Menu", undef, Qt::Application::UnicodeUTF8() ) )); +} # retranslateUi + +sub retranslate_ui { + my ( $muSRFit4 ) = @_; + retranslateUi( $muSRFit4 ); +} + +1; \ No newline at end of file diff --git a/src/external/MuSRFitGUI/icos/Append.odg b/src/external/MuSRFitGUI/icos/Append.odg new file mode 100644 index 00000000..070faea8 Binary files /dev/null and b/src/external/MuSRFitGUI/icos/Append.odg differ diff --git a/src/external/MuSRFitGUI/icos/Append.png b/src/external/MuSRFitGUI/icos/Append.png new file mode 100644 index 00000000..e799c7bb Binary files /dev/null and b/src/external/MuSRFitGUI/icos/Append.png differ diff --git a/src/external/MuSRFitGUI/icos/Export.odg b/src/external/MuSRFitGUI/icos/Export.odg new file mode 100644 index 00000000..ab49ec5f Binary files /dev/null and b/src/external/MuSRFitGUI/icos/Export.odg differ diff --git a/src/external/MuSRFitGUI/icos/Export.png b/src/external/MuSRFitGUI/icos/Export.png new file mode 100644 index 00000000..eadae140 Binary files /dev/null and b/src/external/MuSRFitGUI/icos/Export.png differ diff --git a/src/external/MuSRFitGUI/icos/Fit.odg b/src/external/MuSRFitGUI/icos/Fit.odg index 53882198..57b22fcb 100644 Binary files a/src/external/MuSRFitGUI/icos/Fit.odg and b/src/external/MuSRFitGUI/icos/Fit.odg differ diff --git a/src/external/MuSRFitGUI/icos/MuSRFit.odg b/src/external/MuSRFitGUI/icos/MuSRFit.odg index 4ac0254c..a3365d8b 100644 Binary files a/src/external/MuSRFitGUI/icos/MuSRFit.odg and b/src/external/MuSRFitGUI/icos/MuSRFit.odg differ diff --git a/src/external/MuSRFitGUI/icos/Plot.odg b/src/external/MuSRFitGUI/icos/Plot.odg index 902d076e..c550f2e6 100644 Binary files a/src/external/MuSRFitGUI/icos/Plot.odg and b/src/external/MuSRFitGUI/icos/Plot.odg differ diff --git a/src/external/MuSRFitGUI/icos/chdir.png b/src/external/MuSRFitGUI/icos/chdir.png new file mode 100644 index 00000000..35755c4b Binary files /dev/null and b/src/external/MuSRFitGUI/icos/chdir.png differ diff --git a/src/external/MuSRFitGUI/icos/exit.png b/src/external/MuSRFitGUI/icos/exit.png new file mode 100644 index 00000000..0237eac0 Binary files /dev/null and b/src/external/MuSRFitGUI/icos/exit.png differ diff --git a/src/external/MuSRFitGUI/icos/save.png b/src/external/MuSRFitGUI/icos/save.png new file mode 100644 index 00000000..d43622c2 Binary files /dev/null and b/src/external/MuSRFitGUI/icos/save.png differ diff --git a/src/external/MuSRFitGUI/icos/saveMSR.png b/src/external/MuSRFitGUI/icos/saveMSR.png new file mode 100644 index 00000000..59fcdc43 Binary files /dev/null and b/src/external/MuSRFitGUI/icos/saveMSR.png differ diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index 48e15101..a83455e5 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -86,11 +86,7 @@ using namespace std; PTextEdit::PTextEdit( QWidget *parent, Qt::WindowFlags f ) : QMainWindow( parent, f ) { - QString str = QIcon::themeName(); - if (str.contains("dark", Qt::CaseInsensitive)) - fDarkTheme = true; - else - fDarkTheme = false; + getTheme(); // reads and manages the conents of the xml-startup (musredit_startup.xml) file fAdmin = new PAdmin(); @@ -194,8 +190,13 @@ void PTextEdit::setupFileActions() a->setShortcut( tr("Ctrl+N") ); a->setStatusTip( tr("Create a new msr-file") ); connect( a, SIGNAL( triggered() ), this, SLOT( fileNew() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/document-new-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&New..." ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( fileNew() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/document-open-dark.svg"); @@ -205,8 +206,13 @@ void PTextEdit::setupFileActions() a->setShortcut( tr("Ctrl+O") ); a->setStatusTip( tr("Opens a msr-file") ); connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/document-open-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Open..." ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( fileOpen() ) ); + } + tb->addAction(a); fRecentFilesMenu = menu->addMenu( tr("Recent Files") ); for (int i=0; isetShortcut( tr("F5") ); a->setStatusTip( tr("Reload msr-file") ); connect( a, SIGNAL( triggered() ), this, SLOT( fileReload() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/view-refresh-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "Reload..." ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( fileReload() ) ); + } + tb->addAction(a); a = new QAction( tr( "Open Prefs..." ), this); connect( a, SIGNAL( triggered() ), this, SLOT( fileOpenPrefs() ) ); @@ -242,8 +253,13 @@ void PTextEdit::setupFileActions() a->setShortcut( tr("Ctrl+S") ); a->setStatusTip( tr("Save msr-file") ); connect( a, SIGNAL( triggered() ), this, SLOT( fileSave() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/document-save-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Save..." ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( fileSave() ) ); + } + tb->addAction(a); a = new QAction( tr( "Save &As..." ), this ); a->setStatusTip( tr("Save msr-file As") ); @@ -264,8 +280,13 @@ void PTextEdit::setupFileActions() a->setShortcut( tr("Ctrl+P") ); a->setStatusTip( tr("Print msr-file") ); connect( a, SIGNAL( triggered() ), this, SLOT( filePrint() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/document-print-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Print..." ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( filePrint() ) ); + } + tb->addAction(a); menu->addSeparator(); @@ -318,8 +339,13 @@ void PTextEdit::setupEditActions() a->setShortcut( tr("Ctrl+Z") ); a->setStatusTip( tr("Edit Undo") ); connect( a, SIGNAL( triggered() ), this, SLOT( editUndo() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/edit-undo-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Undo" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( editUndo() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/edit-redo-dark.svg"); @@ -329,8 +355,14 @@ void PTextEdit::setupEditActions() a->setShortcut( tr("Ctrl+Y") ); a->setStatusTip( tr("Edit Redo") ); connect( a, SIGNAL( triggered() ), this, SLOT( editRedo() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/edit-redo-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Redo" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( editRedo() ) ); + } + tb->addAction(a); + menu->addSeparator(); a = new QAction( tr( "Select &All" ), this ); @@ -350,8 +382,13 @@ void PTextEdit::setupEditActions() a->setShortcut( tr("Ctrl+C") ); a->setStatusTip( tr("Edit Copy") ); connect( a, SIGNAL( triggered() ), this, SLOT( editCopy() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/edit-copy-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Copy" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( editCopy() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/edit-cut-dark.svg"); @@ -361,8 +398,13 @@ void PTextEdit::setupEditActions() a->setShortcut( tr("Ctrl+X") ); a->setStatusTip( tr("Edit Cut") ); connect( a, SIGNAL( triggered() ), this, SLOT( editCut() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/edit-cut-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "Cu&t" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( editCut() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/edit-paste-dark.svg"); @@ -372,8 +414,13 @@ void PTextEdit::setupEditActions() a->setShortcut( tr("Ctrl+V") ); a->setStatusTip( tr("Edit Paste") ); connect( a, SIGNAL( triggered() ), this, SLOT( editPaste() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/edit-paste-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Paste" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( editPaste() ) ); + } + tb->addAction(a); menu->addSeparator(); tb->addSeparator(); @@ -386,8 +433,13 @@ void PTextEdit::setupEditActions() a->setShortcut( tr("Ctrl+F") ); a->setStatusTip( tr("Edit Find") ); connect( a, SIGNAL( triggered() ), this, SLOT( editFind() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/edit-find-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Find" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( editFind() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/go-next-use-dark.svg"); @@ -397,8 +449,13 @@ void PTextEdit::setupEditActions() a->setShortcut( tr("F3") ); a->setStatusTip( tr("Edit Find Next") ); connect( a, SIGNAL( triggered() ), this, SLOT( editFindNext() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/go-next-use-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "Find &Next" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( editFindNext() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/go-previous-use-dark.svg"); @@ -408,8 +465,13 @@ void PTextEdit::setupEditActions() a->setShortcut( tr("Shift+F4") ); a->setStatusTip( tr("Edit Find Previous") ); connect( a, SIGNAL( triggered() ), this, SLOT( editFindPrevious() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/go-previous-use-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "Find Pre&vious" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( editFindPrevious() ) ); + } + tb->addAction(a); a = new QAction( tr( "Replace..." ), this ); a->setShortcut( tr("Ctrl+R") ); @@ -565,8 +627,13 @@ void PTextEdit::setupMusrActions() a->setShortcut( tr("Alt+W") ); a->setStatusTip( tr("Call musrWiz which helps to create msr-files") ); connect( a, SIGNAL( triggered() ), this, SLOT( musrWiz() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/musrWiz-32x32.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "musr&Wiz" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrWiz() ) ); + } + tb->addAction(a); menu->addSeparator(); tb->addSeparator(); @@ -579,8 +646,13 @@ void PTextEdit::setupMusrActions() a->setShortcut( tr("Alt+C") ); a->setStatusTip( tr("Calculate Chi Square (Log Max Likelihood)") ); connect( a, SIGNAL( triggered() ), this, SLOT( musrCalcChisq() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/musrchisq-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "Calculate &Chisq" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrCalcChisq() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/musrfit-dark.svg"); @@ -590,8 +662,13 @@ void PTextEdit::setupMusrActions() a->setShortcut( tr("Alt+F") ); a->setStatusTip( tr("Fit") ); connect( a, SIGNAL( triggered() ), this, SLOT( musrFit() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/musrfit-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Fit" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrFit() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/musrswap-dark.svg"); @@ -601,8 +678,13 @@ void PTextEdit::setupMusrActions() a->setShortcut( tr("Alt+S") ); a->setStatusTip( tr("Swap msr-file <-> mlog-file") ); connect( a, SIGNAL( triggered() ), this, SLOT( musrSwapMsrMlog() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/musrswap-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Swap Msr <-> Mlog" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrSwapMsrMlog() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/musrStep-32x32-dark.svg"); @@ -612,8 +694,13 @@ void PTextEdit::setupMusrActions() a->setShortcut( tr("Alt+P") ); a->setStatusTip( tr("Set Steps") ); connect( a, SIGNAL( triggered() ), this, SLOT( musrSetSteps() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/musrStep-32x32.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "Set Ste&ps" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrSetSteps() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/msr2data-dark.svg"); @@ -623,8 +710,13 @@ void PTextEdit::setupMusrActions() a->setShortcut( tr("Alt+M") ); a->setStatusTip( tr("Start msr2data interface") ); connect( a, SIGNAL( triggered() ), this, SLOT( musrMsr2Data() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/msr2data-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Msr2Data" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrMsr2Data() ) ); + } + tb->addAction(a); menu->addSeparator(); tb->addSeparator(); @@ -637,8 +729,13 @@ void PTextEdit::setupMusrActions() a->setShortcut( tr("Alt+V") ); a->setStatusTip( tr("Start musrview") ); connect( a, SIGNAL( triggered() ), this, SLOT( musrView() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/musrview-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&View" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrView() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/musrt0-dark.svg"); @@ -647,8 +744,13 @@ void PTextEdit::setupMusrActions() fMusrT0Action = new QAction( QIcon( QPixmap(iconName) ), tr( "&T0" ), this ); fMusrT0Action->setStatusTip( tr("Start musrt0") ); connect( fMusrT0Action, SIGNAL( triggered() ), this, SLOT( musrT0() ) ); - tb->addAction(fMusrT0Action); menu->addAction(fMusrT0Action); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/musrt0-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&T0" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrT0() ) ); + } + tb->addAction(a); fMusrT0Action->setEnabled(fAdmin->getEnableMusrT0Flag()); if (fDarkTheme) @@ -658,8 +760,13 @@ void PTextEdit::setupMusrActions() a = new QAction( QIcon( QPixmap(iconName) ), tr( "Raw Fourier" ), this ); a->setStatusTip( tr("Start musrFT") ); connect( a, SIGNAL( triggered() ), this, SLOT( musrFT() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/musrFT-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "Raw Fourier" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrFT() ) ); + } + tb->addAction(a); if (fDarkTheme) iconName = QString(":/icons/musrprefs-dark.svg"); @@ -668,8 +775,13 @@ void PTextEdit::setupMusrActions() a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Preferences" ), this ); a->setStatusTip( tr("Show Preferences") ); connect( a, SIGNAL( triggered() ), this, SLOT( musrPrefs() ) ); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/musrprefs-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Preferences" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrPrefs() ) ); + } + tb->addAction(a); menu->addSeparator(); tb->addSeparator(); @@ -681,8 +793,13 @@ void PTextEdit::setupMusrActions() a = new QAction( QIcon( QPixmap(iconName)), tr( "&Dump Header"), this); a->setStatusTip( tr("Dumps muSR File Header Information") ); connect( a, SIGNAL(triggered()), this, SLOT(musrDump())); - tb->addAction(a); menu->addAction(a); + if (!fDarkToolBarIcon) { // tool bar icon is not dark, even though the theme is (ubuntu) + iconName = QString(":/icons/musrdump-plain.svg"); + a = new QAction( QIcon( QPixmap(iconName) ), tr( "&Dump Header" ), this ); + connect( a, SIGNAL( triggered() ), this, SLOT( musrDump() ) ); + } + tb->addAction(a); } //---------------------------------------------------------------------------------------------------- @@ -2881,6 +2998,27 @@ void PTextEdit::setFileSystemWatcherActive() fFileSystemWatcherActive = true; } +//---------------------------------------------------------------------------------------------------- +/** + * @brief PTextEdit::getTheme + */ +void PTextEdit::getTheme() +{ + fDarkTheme = false; // true if theme is dark + fDarkToolBarIcon = false; // needed for ubuntu dark since there the menu icons are dark, however the toolbar icons are plain! + + QString str = QIcon::themeName(); + + if (str.contains("dark", Qt::CaseInsensitive)) { + fDarkTheme = true; + if (str.contains("ubuntu", Qt::CaseInsensitive)) { + fDarkToolBarIcon = false; + } else { + fDarkToolBarIcon = true; + } + } +} + //---------------------------------------------------------------------------------------------------- /** *

fill the recent file list in the menu. diff --git a/src/musredit_qt5/musredit/PTextEdit.h b/src/musredit_qt5/musredit/PTextEdit.h index b4cf8957..ac774db8 100644 --- a/src/musredit_qt5/musredit/PTextEdit.h +++ b/src/musredit_qt5/musredit/PTextEdit.h @@ -159,6 +159,7 @@ private slots: private: bool fDarkTheme; + bool fDarkToolBarIcon; PAdmin *fAdmin; ///< pointer to the xml-startup file informations. Needed for different purposes like default working- and executable directories etc. QFileSystemWatcher *fFileSystemWatcher; ///< checks if msr-files are changing on the disk while being open in musredit. bool fFileSystemWatcherActive; ///< flag to enable/disable the file system watcher @@ -181,6 +182,7 @@ private: QMenu *fRecentFilesMenu; ///< recent file menu QAction *fRecentFilesAction[MAX_RECENT_FILES]; ///< array of the recent file actions + void getTheme(); void fillRecentFiles(); QStringList getRunList(QString runListStr, bool &ok); }; diff --git a/src/musredit_qt5/musredit/musredit.pro b/src/musredit_qt5/musredit/musredit.pro index aea89506..e8598821 100644 --- a/src/musredit_qt5/musredit/musredit.pro +++ b/src/musredit_qt5/musredit/musredit.pro @@ -1,6 +1,8 @@ TEMPLATE = app TARGET = musredit +QMAKE_CXXFLAGS += -std=c++11 + # install path for musredit count( PREFIX, 1 ) { MUSREDIT_INSTALL_PATH = $${PREFIX}/bin