Commit f7c9935a authored by Roman Tolchenov's avatar Roman Tolchenov
Browse files

Added dialog box for editing user defined functions. re #971

parent bde56d59
......@@ -93,6 +93,19 @@ namespace Mantid
/// If the expression has 1 argument and empty function name it means it is wrapped in brackets
/// This method returns first sub-expression without brackets
const Expression& bracketsRemoved()const;
/// Return a list of all variable names in this expression
std::set<std::string> getVariables()const;
/**
* Rename all variables with a given name
* @param oldName The old name
* @param newName The new name
*/
void renameAll(const std::string& oldName,const std::string& newName);
/**
* Rename this expression
* @param newName The new name
*/
void rename(const std::string& newName);
private:
/// copy contructor
......
......@@ -533,5 +533,55 @@ const Expression& Expression::bracketsRemoved()const
return *e;
}
/**
* Return a list of all variable names in this expression
*/
std::set<std::string> Expression::getVariables()const
{
std::set<std::string> out;
if ( !isFunct() )
{
out.insert(name());
}
else
{
for(iterator e = begin(); e != end(); ++e)
{
if ( e->isFunct() )
{
std::set<std::string> tout = e->getVariables();
out.insert(tout.begin(),tout.end());
}
else
{
out.insert(e->name());
}
}
}
return out;
}
void Expression::rename(const std::string& newName)
{
m_funct = newName;
}
void Expression::renameAll(const std::string& oldName,const std::string& newName)
{
if ( !isFunct() && name() == oldName)
{
rename(newName);
}
else
{
std::vector<Expression>::iterator e = m_terms.begin();
for(; e != m_terms.end(); ++e)
{
e->renameAll(oldName,newName);
}
}
}
}//API
}//Mantid
......@@ -367,6 +367,18 @@ public:
TS_ASSERT_EQUALS(e.str(),"2*(a+b)+(1-sin(x-y))");
}
void testGetVariables()
{
Expression e;
e.parse("a+b*sin(x)*fun1(fun2(a+c))");
std::set<std::string> vars = e.getVariables();
TS_ASSERT_EQUALS(vars.size(),4);
TS_ASSERT(vars.find("a")!=vars.end());
TS_ASSERT(vars.find("b")!=vars.end());
TS_ASSERT(vars.find("c")!=vars.end());
TS_ASSERT(vars.find("x")!=vars.end());
}
};
#endif /*EXPRESSIONTEST_H_*/
......@@ -310,6 +310,10 @@
RelativePath=".\src\FFTSmooth.cpp"
>
</File>
<File
RelativePath=".\src\FFTSmooth2.cpp"
>
</File>
<File
RelativePath=".\src\FindCenterOfMassPosition.cpp"
>
......@@ -784,6 +788,10 @@
RelativePath=".\inc\MantidAlgorithms\FFTSmooth.h"
>
</File>
<File
RelativePath=".\inc\MantidAlgorithms\FFTSmooth2.h"
>
</File>
<File
RelativePath=".\inc\MantidAlgorithms\FindCenterOfMassPosition.h"
>
......
......@@ -4,76 +4,196 @@
#include <iostream>
#include <iomanip>
#include "Benchmark.h"
#include "UserAlgorithmTest.h"
#include <sstream>
#include <ctime>
#include <fstream>
#include "MantidAPI/AlgorithmManager.h"
#include "MantidAPI/FrameworkManager.h"
//#include "MantidAPI/Workspace.h"
//#include "MantidDataObjects/Workspace1D.h"
#include "MantidDataObjects/Workspace2D.h"
#include "MantidAPI/AlgorithmObserver.h"
#include "MantidAPI/AnalysisDataService.h"
#include "MantidKernel/ConfigService.h"
#include "MantidDataObjects/Workspace2D.h"
#include "MantidDataObjects/TableWorkspace.h"
#include "MantidAPI/TableRow.h"
#include "MantidKernel/Exception.h"
#include <boost/timer.hpp>
#include <muParser.h>
using namespace Mantid::API;
using namespace Mantid::Kernel;
using namespace Mantid::Geometry;
//using namespace Mantid::DataHandling;
using namespace Mantid::DataObjects;
//using namespace Mantid::Geometry;
//using namespace Mantid::NeXus;
typedef Mantid::DataObjects::Workspace2D_sptr WS_type;
typedef Mantid::DataObjects::TableWorkspace_sptr TWS_type;
WS_type mkWS(int nSpec,int nY, bool isHist=false);
WS_type mkWS(int nSpec,double x0,double x1,double dx, const std::string& formula,bool isHist=false);
void plotWS(WS_type ws,const std::string& fname);
void storeWS(WS_type ws,const std::string& name);
void removeWS(const std::string& name);
WS_type getWS(const std::string& name);
TWS_type getTWS(const std::string& name);
WS_type loadNexus(const std::string& fName,const std::string& wsName);
void saveNexus(const std::string& fName,const std::string& wsName);
WS_type loadRaw(const std::string& fName,const std::string& wsName);
void addNoise(WS_type ws,double noise);
#define _TRY_ try{std::cerr<<'\n';
#define _CATCH_ std::cerr<<"\n\nTests OK\n\n";}\
catch(std::exception& e)\
{\
std::cerr<<"\nTests stopped with error: "<<e.what()<<'\n';\
}\
catch(...)\
{\
std::cerr<<"\nUnknown exception\n\n";\
}
const std::string DataDir = "C:\\Mantid\\Test\\Data\\";
const std::string Desktop = "C:\\Documents and Settings\\hqs74821\\Desktop\\";
const std::string TmpDir = Desktop + "tmp\\";
void test();
//-------------------------------------------------------------//
//-------------------------------------------------------------//
int main()
{
FrameworkManagerImpl& fm = FrameworkManager::Instance();
// UserAlgorithmTest userTest;
// userTest.RunAllTests();
// Benchmark b;
// b.RunPlusTest(10584,2000);
//b.RunPlusTest(15584,2000);
//b.RunPlusTest(2584,2000);
//#if defined _DEBUG
//NOTE: Any code in here is temporary for debugging purposes only, nothing is safe!
//load a raw file
IAlgorithm* loader = fm.createAlgorithm("LoadRaw");
loader->setPropertyValue("Filename", "../../Test/Data/MER02257.raw");
std::string outputSpace = "outer";
loader->setPropertyValue("OutputWorkspace", outputSpace);
loader->execute();
Workspace* w = fm.getWorkspace(outputSpace);
Workspace2D* output2D = dynamic_cast<Workspace2D*>(w);
const int numberOfSpectra = output2D->getNumberHistograms();
clock_t start = clock();
int FailCount =0;
int SuccessCount = 0;
V3D total;
for (int j = 0; j <= numberOfSpectra; ++j)
{
try{
// Now get the detector to which this relates
IDetector_const_sptr det = output2D->getDetector(j);
// Solid angle should be zero if detector is masked ('dead')
V3D v = det->getPos();
total += v;
SuccessCount++;
_TRY_;
FrameworkManager::Instance();
IAlgorithm* alg = Mantid::API::FrameworkManager::Instance().createAlgorithm("TestAlgorithm");
alg->initialize();
alg->execute();
_CATCH_;
}
Mantid::DataObjects::Workspace2D_sptr mkWS(int nSpec,int nY, bool isHist)
{
FrameworkManager::Instance();
int nX = nY + (isHist?1:0);
Mantid::DataObjects::Workspace2D_sptr ws = boost::dynamic_pointer_cast<Mantid::DataObjects::Workspace2D>
(WorkspaceFactory::Instance().create("Workspace2D",nSpec,nX,nY));
return ws;
}
WS_type mkWS(int nSpec,double x0,double x1,double dx, const std::string& formula,bool isHist)
{
int nX = int(x1 - x0)/dx + 1;
int nY = nX - (isHist?1:0);
if (nY <= 0)
throw std::invalid_argument("Cannot create an empty workspace");
Mantid::DataObjects::Workspace2D_sptr ws = boost::dynamic_pointer_cast<Mantid::DataObjects::Workspace2D>
(WorkspaceFactory::Instance().create("Workspace2D",nSpec,nX,nY));
double spec;
double x;
mu::Parser parser;
parser.SetExpr(formula);
parser.DefineVar("i",&spec);
parser.DefineVar("x",&x);
for(int iSpec=0;iSpec<nSpec;iSpec++)
{
spec = iSpec;
Mantid::MantidVec& X = ws->dataX(iSpec);
Mantid::MantidVec& Y = ws->dataY(iSpec);
Mantid::MantidVec& E = ws->dataE(iSpec);
for(int i=0;i<nY;i++)
{
x = x0 + dx*i;
X[i] = x;
Y[i] = parser.Eval();
E[i] = 1;
}
if (isHist)
X.back() = X[nY-1] + dx;
}
catch (...)
{
FailCount++;
}
} // loop over spectra
clock_t end = clock();
std::cout << double(end - start)/CLOCKS_PER_SEC << std::endl;
std::cout << "Success " << SuccessCount << " | Failed " << FailCount << std::endl;
std::cout << total << std::endl;
//#endif
return ws;
}
void plotWS(WS_type ws,const std::string& fname)
{
std::string fn = "C:\\Documents and Settings\\hqs74821\\Desktop\\tmp\\" + fname;
std::ofstream fil(fn.c_str());
char sep = '\t';
for(int i=0;i<ws->blocksize();i++)
{
fil << ws->readX(0)[i];
for(int j=0;j<ws->getNumberHistograms();j++)
fil << sep << ws->readY(j)[i] << sep << ws->readE(j)[i];
fil << '\n';
}
fil.close();
}
fm.clear();
exit(0);
void storeWS(WS_type ws,const std::string& name)
{
AnalysisDataService::Instance().add(name,ws);
}
void removeWS(const std::string& name)
{
AnalysisDataService::Instance().remove(name);
}
WS_type getWS(const std::string& name)
{
return boost::dynamic_pointer_cast<Mantid::DataObjects::Workspace2D>(AnalysisDataService::Instance().retrieve(name));
}
TWS_type getTWS(const std::string& name)
{
return boost::dynamic_pointer_cast<Mantid::DataObjects::TableWorkspace>(AnalysisDataService::Instance().retrieve(name));
}
void addNoise(WS_type ws,double noise)
{
for(int iSpec=0;iSpec<ws->getNumberHistograms();iSpec++)
{
Mantid::MantidVec& Y = ws->dataY(iSpec);
Mantid::MantidVec& E = ws->dataE(iSpec);
for(int i=0;i<Y.size();i++)
{
Y[i] += noise*(-.5 + double(rand())/RAND_MAX);
E[i] += noise;
}
}
}
WS_type loadNexus(const std::string& fName,const std::string& wsName)
{
IAlgorithm* alg = Mantid::API::FrameworkManager::Instance().createAlgorithm("LoadNexus");
alg->initialize();
alg->setPropertyValue("FileName",fName);
alg->setPropertyValue("OutputWorkspace",wsName);
//alg->setPropertyValue("Autogroup","1");
alg->execute();
return getWS(wsName);
}
void saveNexus(const std::string& fName,const std::string& wsName)
{
IAlgorithm* alg = Mantid::API::FrameworkManager::Instance().createAlgorithm("SaveNexus");
alg->initialize();
alg->setPropertyValue("FileName",fName);
alg->setPropertyValue("InputWorkspace",wsName);
alg->execute();
}
WS_type loadRaw(const std::string& fName,const std::string& wsName)
{
IAlgorithm* alg = Mantid::API::FrameworkManager::Instance().createAlgorithm("LoadRaw");
alg->initialize();
alg->setPropertyValue("FileName",fName);
alg->setPropertyValue("OutputWorkspace",wsName);
alg->execute();
return getWS(wsName);
}
......@@ -38,7 +38,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="C:\mantid\Code\Third_Party\lib\win32;../API/inc;../Kernel/inc;../CurveFitting/inc;../Algorithms/inc;../DataHandling/inc;../DataObjects/inc;../Geometry/inc;../../Third_Party/include"
AdditionalIncludeDirectories="C:\mantid\Code\Third_Party\lib\win32;../API/inc;../Kernel/inc;../CurveFitting/inc;../Algorithms/inc;../DataHandling/inc;../DataObjects/inc;../Geometry/inc;../Nexus/inc;../PythonAPI/inc;C:\Python25\include;../../Third_Party/include;../../Third_Party/include/muParser;..\Nexus\test;."
PreprocessorDefinitions="_DEBUG;IN_MANTID_MAIN=1;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE"
RuntimeLibrary="3"
DebugInformationFormat="3"
......@@ -54,9 +54,9 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="$(SolutionName)API.lib $(SolutionName)Kernel.lib $(SolutionName)Geometry.lib"
AdditionalDependencies="$(SolutionName)API.lib $(SolutionName)Kernel.lib $(SolutionName)Geometry.lib ws2_32.lib $(SolutionName)Nexus.lib $(SolutionName)CurveFitting.lib muparser_d.lib libnexus-0.lib"
OutputFile="$(OutDir)\$(SolutionName)$(ProjectName).exe"
AdditionalLibraryDirectories="..\..\Third_Party\lib\win32;..\Debug"
AdditionalLibraryDirectories="..\..\Third_Party\lib\win32;..\Debug;C:\Python25\libs"
GenerateDebugInformation="true"
/>
<Tool
......@@ -113,7 +113,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="true"
WholeProgramOptimization="true"
AdditionalIncludeDirectories="../CurveFitting/inc;../API/inc;../Kernel/inc;../Algorithms/inc;../DataHandling/inc;../DataObjects/inc;../Geometry/inc;../../Third_Party/include"
AdditionalIncludeDirectories="../CurveFitting/inc;../API/inc;../Kernel/inc;../Algorithms/inc;../DataHandling/inc;../DataObjects/inc;../Geometry/inc;../Nexus\inc;../../Third_Party/include;../../Third_Party/include/muParser;."
PreprocessorDefinitions="IN_MANTID_MAIN=1;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE"
RuntimeLibrary="2"
/>
......@@ -128,7 +128,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="$(SolutionName)API.lib $(SolutionName)Kernel.lib $(SolutionName)Geometry.lib $(SolutionName)DataObjects.lib $(SolutionName)UserAlgorithms.lib"
AdditionalDependencies="$(SolutionName)API.lib $(SolutionName)Kernel.lib $(SolutionName)Geometry.lib $(SolutionName)DataObjects.lib $(SolutionName)CurveFitting.lib $(SolutionName)Nexus.lib ws2_32.lib muparser.lib libnexus-0.lib"
OutputFile="$(OutDir)\$(SolutionName)$(ProjectName).exe"
AdditionalLibraryDirectories="..\Release;..\..\Third_Party\lib\win32"
OptimizeReferences="2"
......
......@@ -5,36 +5,38 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Kernel", "Kernel\Kernel.vcp
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Algorithms", "Algorithms\Algorithms.vcproj", "{44AAB5BE-B672-4B26-A472-1FC3FFB896AF}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DataObjects", "DataObjects\DataObjects.vcproj", "{C38A9DC2-8320-49AA-909D-955CB37FD8F3}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DataHandling", "DataHandling\DataHandling.vcproj", "{296392B7-E931-4821-A68D-3412E7DD554A}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Main", "Main\Main.vcproj", "{8214A04F-8650-49FC-8547-FD2716855980}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{296392B7-E931-4821-A68D-3412E7DD554A} = {296392B7-E931-4821-A68D-3412E7DD554A}
{44AAB5BE-B672-4B26-A472-1FC3FFB896AF} = {44AAB5BE-B672-4B26-A472-1FC3FFB896AF}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{67D81A73-C183-463B-860D-6208D5A92D5D} = {67D81A73-C183-463B-860D-6208D5A92D5D}
{E808B8DF-DE3A-45B2-A163-12F57C13624C} = {E808B8DF-DE3A-45B2-A163-12F57C13624C}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{44AAB5BE-B672-4B26-A472-1FC3FFB896AF} = {44AAB5BE-B672-4B26-A472-1FC3FFB896AF}
{296392B7-E931-4821-A68D-3412E7DD554A} = {296392B7-E931-4821-A68D-3412E7DD554A}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{BE798261-2E8D-4A11-A00A-03693B6606E7} = {BE798261-2E8D-4A11-A00A-03693B6606E7}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Geometry", "Geometry\Geometry.vcproj", "{F1EB475D-8936-49E5-AC28-3B3830483487}"
......@@ -44,66 +46,77 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Geometry", "Geometry\Geomet
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "API", "API\API.vcproj", "{AD0CD585-694E-4367-B7D0-2F16C4EF59F8}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PythonAPI", "PythonAPI\PythonAPI.vcproj", "{D9E07A23-6B55-418D-9BE4-CE8378A74030}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{296392B7-E931-4821-A68D-3412E7DD554A} = {296392B7-E931-4821-A68D-3412E7DD554A}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{296392B7-E931-4821-A68D-3412E7DD554A} = {296392B7-E931-4821-A68D-3412E7DD554A}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UserAlgorithms", "UserAlgorithms\UserAlgorithms.vcproj", "{F8A52059-A414-478B-9876-7058E3EAF3F5}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{44AAB5BE-B672-4B26-A472-1FC3FFB896AF} = {44AAB5BE-B672-4B26-A472-1FC3FFB896AF}
{44AAB5BE-B672-4B26-A472-1FC3FFB896AF} = {44AAB5BE-B672-4B26-A472-1FC3FFB896AF}
{E808B8DF-DE3A-45B2-A163-12F57C13624C} = {E808B8DF-DE3A-45B2-A163-12F57C13624C}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{E808B8DF-DE3A-45B2-A163-12F57C13624C} = {E808B8DF-DE3A-45B2-A163-12F57C13624C}
{44AAB5BE-B672-4B26-A472-1FC3FFB896AF} = {44AAB5BE-B672-4B26-A472-1FC3FFB896AF}
{44AAB5BE-B672-4B26-A472-1FC3FFB896AF} = {44AAB5BE-B672-4B26-A472-1FC3FFB896AF}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Nexus", "Nexus\Nexus.vcproj", "{BE798261-2E8D-4A11-A00A-03693B6606E7}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MatlabAPI", "MatlabAPI\MatlabAPI.vcproj", "{7B3964EB-502D-47A0-974B-11585EE43A92}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{296392B7-E931-4821-A68D-3412E7DD554A} = {296392B7-E931-4821-A68D-3412E7DD554A}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CurveFitting", "CurveFitting\CurveFitting.vcproj", "{E808B8DF-DE3A-45B2-A163-12F57C13624C}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Crystal", "Crystal\Crystal.vcproj", "{BD29108E-19DF-46EC-B4CA-1AED47B2A236}"
ProjectSection(ProjectDependencies) = postProject
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ICat", "ICat\ICat.vcproj", "{1DDA04E9-DB1B-41DC-9E7C-7E1661073FAD}"
ProjectSection(ProjectDependencies) = postProject
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MyAlgorithms", "MyAlgorithms\MyAlgorithms.vcproj", "{67D81A73-C183-463B-860D-6208D5A92D5D}"
ProjectSection(ProjectDependencies) = postProject
{AD0CD585-694E-4367-B7D0-2F16C4EF59F8} = {AD0CD585-694E-4367-B7D0-2F16C4EF59F8}
{C38A9DC2-8320-49AA-909D-955CB37FD8F3} = {C38A9DC2-8320-49AA-909D-955CB37FD8F3}
{F1EB475D-8936-49E5-AC28-3B3830483487} = {F1EB475D-8936-49E5-AC28-3B3830483487}
{902CB04F-8893-4FE8-83B8-09F9DB20A82A} = {902CB04F-8893-4FE8-83B8-09F9DB20A82A}
EndProjectSection
EndProject
Global
......@@ -161,9 +174,12 @@ Global
{BD29108E-19DF-46EC-B4CA-1AED47B2A236}.Debug|Win32.ActiveCfg = Debug|Win32
{BD29108E-19DF-46EC-B4CA-1AED47B2A236}.Release|Win32.ActiveCfg = Release|Win32
{1DDA04E9-DB1B-41DC-9E7C-7E1661073FAD}.Debug|Win32.ActiveCfg = Debug|Win32
{1DDA04E9-DB1B-41DC-9E7C-7E1661073FAD}.Debug|Win32.Build.0 = Debug|Win32
{1DDA04E9-DB1B-41DC-9E7C-7E1661073FAD}.Release|Win32.ActiveCfg = Release|Win32
{1DDA04E9-DB1B-41DC-9E7C-7E1661073FAD}.Release|Win32.Build.0 = Release|Win32
{67D81A73-C183-463B-860D-6208D5A92D5D}.Debug|Win32.ActiveCfg = Debug|Win32
{67D81A73-C183-463B-860D-6208D5A92D5D}.Debug|Win32.Build.0 = Debug|Win32
{67D81A73-C183-463B-860D-6208D5A92D5D}.Release|Win32.ActiveCfg = Release|Win32
{67D81A73-C183-463B-860D-6208D5A92D5D}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
......@@ -31,6 +31,8 @@ SOURCES = \
$$SRCDIR/MWDiag.cpp \
$$SRCDIR/MWDiagCalcs.cpp \
$$SRCDIR/SaveWorkspaces.cpp \
$$SRCDIR/UserFunctionDialog.cpp \
$$SRCDIR/RenameParDialog.cpp \
$$SRCDIR/ICatSearch.cpp \
$$SRCDIR/ICatInvestigation.cpp \
$$SRCDIR/ICatMyDataSearch.cpp \
......@@ -47,6 +49,8 @@ HEADERS = \
$$HEADERDIR/MWDiag.h \
$$HEADERDIR/MWDiagCalcs.h \
$$HEADERDIR/SaveWorkspaces.h \
$$HEADERDIR/UserFunctionDialog.h \
$$HEADERDIR/RenameParDialog.h \
$$HEADERDIR/ICatSearch.h \
$$HEADERDIR/ICatInvestigation.h \
$$HEADERDIR/ICatMyDataSearch.h \
......@@ -58,6 +62,8 @@ UI_DIR = $$HEADERDIR
FORMS = \
$$HEADERDIR/MWRunFiles.ui \
$$HEADERDIR/MWDiag.ui \
$$HEADERDIR/UserFunctionDialog.ui \
$$HEADERDIR/RenameParDialog.ui \
$$HEADERDIR/ICatSearch.ui \
$$HEADERDIR/ICatInvestigation.ui \
$$HEADERDIR/ICatMyDataSearch.ui
......
#ifndef MANTIDQTMANTIDWIDGETS_RENAMEPARDIALOG_H_
#define MANTIDQTMANTIDWIDGETS_RENAMEPARDIALOG_H_
#include "MantidQtMantidWidgets/ui_RenameParDialog.h"
#include "WidgetDllOption.h"
#include <vector>
#include <set>
#include <string>
namespace MantidQt
{
namespace MantidWidgets