diff --git a/src/external/MuSRFitGUI/MSR.pm b/src/external/MuSRFitGUI/MSR.pm index e7a9911e..ff92e18b 100755 --- a/src/external/MuSRFitGUI/MSR.pm +++ b/src/external/MuSRFitGUI/MSR.pm @@ -94,9 +94,6 @@ sub CreateMSR { my @Paramcomp = @$Paramcomp_ref; - my $TitleLine = $All{"TITLE"}."\n# Run Numbers: ".$All{"RunNumbers"}; - $TitleLine =~ s/,/:/g; - # Counter for RUNS my $iRun = 1; @@ -332,6 +329,31 @@ sub CreateMSR { # The number of runs is $NRUNS = $iRun - 1; +# Start constructing all blocks + my $TitleLine = $All{"TITLE"}."\n# Run Numbers: ".$All{"RunNumbers"}; + $TitleLine =~ s/,/:/g; + + # Get parameter block from MSR::PrepParamTable(\%All); + my $FitParaBlk = " +################################################################### +FITPARAMETER +################################################################### +# No Name Value Err Min Max "; + my %PTable=MSR::PrepParamTable(\%All); + my $NParam=scalar keys( %PTable ); +# Fill the table with labels and values of parametr + for (my $PCount=0;$PCount<$NParam;$PCount++) { + my ($Param,$value,$error,$minvalue,$maxvalue) = split(/,/,$PTable{$PCount}); + if ( $minvalue == $maxvalue ) { + $minvalue = $EMPTY; + $maxvalue = $EMPTY; + } + $j=$PCount+1; + $FitParaBlk = $FitParaBlk." + $j $Param $value $error $error $minvalue $maxvalue"; + } + + $Full_T_Block = " ################################################################### THEORY @@ -399,26 +421,6 @@ phase 8.50"; STATISTIC --- 0000-00-00 00:00:00 *** FIT DID NOT CONVERGE ***"; - # Get parameter block from MSR::PrepParamTable(\%All); - my $FitParaBlk = " -################################################################### -FITPARAMETER -################################################################### -# No Name Value Err Min Max "; - my %PTable=MSR::PrepParamTable(\%All); - my $NParam=scalar keys( %PTable ); -# Fill the table with labels and values of parametr - for (my $PCount=0;$PCount<$NParam;$PCount++) { - my ($Param,$value,$error,$minvalue,$maxvalue) = split(/,/,$PTable{$PCount}); - if ( $minvalue == $maxvalue ) { - $minvalue = $EMPTY; - $maxvalue = $EMPTY; - } - $j=$PCount+1; - $FitParaBlk = $FitParaBlk." - $j $Param $value $error $error $minvalue $maxvalue"; - } - # Empty line at the end of each block my $FullMSRFile = "$TitleLine$FitParaBlk\n$Full_T_Block\n$RUN_Block\n$COMMANDS_Block\n$PLOT_Block\n$FOURIER_Block\n$STAT_Block\n"; @@ -470,9 +472,6 @@ sub CreateMSRSingleHist { my @Paramcomp = @$Paramcomp_ref; - my $TitleLine = $All{"TITLE"}."\n# Run Numbers: ".$All{"RunNumbers"}; - $TitleLine =~ s/,/:/g; - # Counter for RUNS my $iRun = 1; @@ -727,6 +726,30 @@ sub CreateMSRSingleHist { # The number of runs is $NRUNS = $iRun - 1; +# Start constructing all block + my $TitleLine = $All{"TITLE"}."\n# Run Numbers: ".$All{"RunNumbers"}; + $TitleLine =~ s/,/:/g; + + # Get parameter block from MSR::PrepParamTable(\%All); + my $FitParaBlk = " +################################################################### +FITPARAMETER +################################################################### +# No Name Value Err Min Max "; + my %PTable=MSR::PrepParamTable(\%All); + my $NParam=scalar keys( %PTable ); +# Fill the table with labels and values of parametr + for (my $PCount=0;$PCount<$NParam;$PCount++) { + my ($Param,$value,$error,$minvalue,$maxvalue) = split(/,/,$PTable{$PCount}); + if ( $minvalue == $maxvalue ) { + $minvalue = $EMPTY; + $maxvalue = $EMPTY; + } + $j=$PCount+1; + $FitParaBlk = $FitParaBlk." + $j $Param $value $error $error $minvalue $maxvalue"; + } + $Full_T_Block = " ################################################################### THEORY @@ -794,25 +817,6 @@ phase 8.50"; STATISTIC --- 0000-00-00 00:00:00 *** FIT DID NOT CONVERGE ***"; - # Get parameter block from MSR::PrepParamTable(\%All); - my $FitParaBlk = " -################################################################### -FITPARAMETER -################################################################### -# No Name Value Err Min Max "; - my %PTable=MSR::PrepParamTable(\%All); - my $NParam=scalar keys( %PTable ); -# Fill the table with labels and values of parametr - for (my $PCount=0;$PCount<$NParam;$PCount++) { - my ($Param,$value,$error,$minvalue,$maxvalue) = split(/,/,$PTable{$PCount}); - if ( $minvalue == $maxvalue ) { - $minvalue = $EMPTY; - $maxvalue = $EMPTY; - } - $j=$PCount+1; - $FitParaBlk = $FitParaBlk." - $j $Param $value $error $error $minvalue $maxvalue"; - } # Empty line at the end of each block my $FullMSRFile = "$TitleLine$FitParaBlk\n$Full_T_Block\n$RUN_Block\n$COMMANDS_Block\n$PLOT_Block\n$FOURIER_Block\n$STAT_Block\n"; diff --git a/src/external/MuSRFitGUI/MuSRFit.pl b/src/external/MuSRFitGUI/MuSRFit.pl index 3d79282b..541e7f2b 100755 --- a/src/external/MuSRFitGUI/MuSRFit.pl +++ b/src/external/MuSRFitGUI/MuSRFit.pl @@ -1,6 +1,6 @@ # Form implementation generated from reading ui file 'MuSRFit.ui' # -# Created: Tue Sep 1 10:53:25 2009 +# Created: Tue Sep 1 11:46:17 2009 # by: The PerlQt User Interface Compiler (puic) # # WARNING! All changes made in this file will be lost! @@ -106,7 +106,6 @@ use Qt::attributes qw( ShParam_3_9 InitializationPage InitParamTable - TableUpdate FittingPage textMSROutput TabPage @@ -885,7 +884,7 @@ sub NEW InitParamTable->horizontalHeader()->setLabel(InitParamTable->numCols() - 1, trUtf8("Min")); InitParamTable->setNumCols(InitParamTable->numCols() + 1); InitParamTable->horizontalHeader()->setLabel(InitParamTable->numCols() - 1, trUtf8("Max")); - InitParamTable->setGeometry( Qt::Rect(5, 5, 545, 325) ); + InitParamTable->setGeometry( Qt::Rect(5, 5, 545, 355) ); InitParamTable->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, InitParamTable->sizePolicy()->hasHeightForWidth()) ); InitParamTable->setMaximumSize( Qt::Size(32767, 32767) ); InitParamTable->setFocusPolicy( &Qt::Table::TabFocus() ); @@ -901,17 +900,12 @@ sub NEW InitParamTable->setShowGrid( 1 ); InitParamTable->setRowMovingEnabled( 0 ); InitParamTable->setFocusStyle( &Qt::Table::SpreadSheet() ); - - TableUpdate = Qt::PushButton(InitializationPage, "TableUpdate"); - TableUpdate->setGeometry( Qt::Rect(460, 335, 90, 30) ); - TableUpdate->setMinimumSize( Qt::Size(90, 30) ); - TableUpdate->setMaximumSize( Qt::Size(90, 30) ); musrfit_tabs->insertTab( InitializationPage, "" ); FittingPage = Qt::Widget(musrfit_tabs, "FittingPage"); textMSROutput = Qt::TextEdit(FittingPage, "textMSROutput"); - textMSROutput->setGeometry( Qt::Rect(5, 5, 545, 365) ); + textMSROutput->setGeometry( Qt::Rect(5, 5, 545, 355) ); textMSROutput->setOverwriteMode( 1 ); musrfit_tabs->insertTab( FittingPage, "" ); @@ -1270,10 +1264,10 @@ sub NEW Qt::Object::connect(fileChangeDirAction, SIGNAL "activated()", this, SLOT "fileChangeDir()"); Qt::Object::connect(musrfit_tabs, SIGNAL "selected(const QString&)", this, SLOT "TabChanged()"); Qt::Object::connect(go, SIGNAL "clicked()", this, SLOT "GoFit()"); - Qt::Object::connect(TableUpdate, SIGNAL "clicked()", this, SLOT "CallMSRCreate()"); Qt::Object::connect(ShowT0, SIGNAL "clicked()", this, SLOT "ShowMuSRT0()"); Qt::Object::connect(PlotMSR, SIGNAL "clicked()", this, SLOT "GoPlot()"); Qt::Object::connect(BeamLine, SIGNAL "activated(int)", this, SLOT "T0Update()"); + Qt::Object::connect(InitParamTable, SIGNAL "valueChanged(int,int)", this, SLOT "CallMSRCreate()"); setTabOrder(musrfit_tabs, TITLE); setTabOrder(TITLE, FILENAME); @@ -1449,7 +1443,6 @@ sub languageChange InitParamTable->horizontalHeader()->setLabel( 1, trUtf8("Error") ); InitParamTable->horizontalHeader()->setLabel( 2, trUtf8("Min") ); InitParamTable->horizontalHeader()->setLabel( 3, trUtf8("Max") ); - TableUpdate->setText( trUtf8("Update") ); musrfit_tabs->changeTab( InitializationPage, trUtf8("Initialization") ); musrfit_tabs->changeTab( FittingPage, trUtf8("MSR File") ); Minimization->setTitle( trUtf8("Minimization") ); @@ -1584,24 +1577,29 @@ sub fileOpen sub fileSave { + my %All=CreateAllInput(); + my $FILENAME=$All{"FILENAME"}.".msr"; my $file=Qt::FileDialog::getSaveFileName( - "", + "$FILENAME", "MSR Files (*.msr *.mlog)", this, "save file dialog", "Choose a filename to save under"); - my %All=CreateAllInput(); - my $FILENAME=$All{"FILENAME"}.".msr"; - if (-e $FILENAME) { + +# If the user gave a filename the copy to it + print "file-$file\n"; + if ($file ne "") { # TODO: check if the extension is correct, or add it. - 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); + 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); + } } - } + } } @@ -2067,7 +2065,6 @@ sub InitializeTab # Setup the table with the right size my $NParam=scalar keys( %PTable ); -# print "Size of P:".$NParam."\n"; if ($NParam>$NRows) { InitParamTable->setNumRows($NParam); } diff --git a/src/external/MuSRFitGUI/MuSRFit.ui b/src/external/MuSRFitGUI/MuSRFit.ui index 62b84c49..139bf567 100755 --- a/src/external/MuSRFitGUI/MuSRFit.ui +++ b/src/external/MuSRFitGUI/MuSRFit.ui @@ -1452,7 +1452,7 @@ 5 5 545 - 325 + 355 @@ -1509,34 +1509,6 @@ SpreadSheet - - - TableUpdate - - - - 460 - 335 - 90 - 30 - - - - - 90 - 30 - - - - - 90 - 30 - - - - Update - - @@ -1554,7 +1526,7 @@ 5 5 545 - 365 + 355 @@ -2934,12 +2906,6 @@ MuSRFitform GoFit() - - TableUpdate - clicked() - MuSRFitform - CallMSRCreate() - ShowT0 clicked() @@ -2958,6 +2924,12 @@ MuSRFitform T0Update() + + InitParamTable + valueChanged(int,int) + MuSRFitform + CallMSRCreate() + musrfit_tabs diff --git a/src/external/MuSRFitGUI/MuSRFit.ui.h b/src/external/MuSRFitGUI/MuSRFit.ui.h index ac66539c..46d59e9a 100755 --- a/src/external/MuSRFitGUI/MuSRFit.ui.h +++ b/src/external/MuSRFitGUI/MuSRFit.ui.h @@ -47,24 +47,28 @@ void Form1::fileOpen() void Form1::fileSave() { + my %All=CreateAllInput(); + my $FILENAME=$All{"FILENAME"}.".msr"; my $file=Qt::FileDialog::getSaveFileName( - "", + "$FILENAME", "MSR Files (*.msr *.mlog)", this, "save file dialog", "Choose a filename to save under"); - my %All=CreateAllInput(); - my $FILENAME=$All{"FILENAME"}.".msr"; - if (-e $FILENAME) { + +# If the user gave a filename the copy to it + if ($file ne "") { # TODO: check if the extension is correct, or add it. - 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); + 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); + } } - } + } } void MuSRFitform::fileChangeDir() @@ -520,7 +524,6 @@ void MuSRFitform::InitializeTab() # Setup the table with the right size my $NParam=scalar keys( %PTable ); -# print "Size of P:".$NParam."\n"; if ($NParam>$NRows) { InitParamTable->setNumRows($NParam); } @@ -537,7 +540,6 @@ void MuSRFitform::InitializeTab() } } - void MuSRFitform::TabChanged() { # TODO: First check if there are some runs given, otherwise disbale