#include "SALOMEDSImpl_Study.hxx"
#include <string.h>
-using namespace std;
-
+#include <KERNEL_version.h>
#include <Basics_Utils.hxx>
#include "DF_Application.hxx"
#include "SALOMEDSImpl_ScalarVariable.hxx"
#include <fstream>
+#include <sstream>
#define DIRECTORYID 16661
#define FILELOCALID 26662
*/
//============================================================================
SALOMEDSImpl_Study::SALOMEDSImpl_Study(const DF_Document* doc,
- const string& study_name)
+ const std::string& study_name)
{
_name = study_name;
_doc = (DF_Document*)doc;
* Purpose : Get persistent reference of study (idem URL())
*/
//============================================================================
-string SALOMEDSImpl_Study::GetPersistentReference()
+std::string SALOMEDSImpl_Study::GetPersistentReference()
{
_errorCode = "";
return URL();
* Purpose : Get IOR of the Study (registred in Document in doc->Root)
*/
//============================================================================
-string SALOMEDSImpl_Study::GetTransientReference()
+std::string SALOMEDSImpl_Study::GetTransientReference()
{
_errorCode = "";
- string IOR = "";
+ std::string IOR = "";
SALOMEDSImpl_AttributeIOR* Att;
DF_Label _lab = _doc->Root();
return IOR;
}
-void SALOMEDSImpl_Study::SetTransientReference(const string& theIOR)
+void SALOMEDSImpl_Study::SetTransientReference(const std::string& theIOR)
{
_errorCode = "";
* Purpose : Find a Component with ComponentDataType = aComponentName
*/
//============================================================================
-SALOMEDSImpl_SComponent SALOMEDSImpl_Study::FindComponent (const string& aComponentName)
+SALOMEDSImpl_SComponent SALOMEDSImpl_Study::FindComponent (const std::string& aComponentName)
{
_errorCode = "";
bool _find = false;
- string name;
+ std::string name;
SALOMEDSImpl_SComponentIterator itcomp = NewComponentIterator();
SALOMEDSImpl_SComponent compo;
* Purpose : Find a Component from it's ID
*/
//============================================================================
-SALOMEDSImpl_SComponent SALOMEDSImpl_Study::FindComponentID(const string& aComponentID)
+SALOMEDSImpl_SComponent SALOMEDSImpl_Study::FindComponentID(const std::string& aComponentID)
{
_errorCode = "";
// Iterate on each components defined in the study
// Get the component ID and compare with aComponentID
bool _find = false;
- string ID;
+ std::string ID;
SALOMEDSImpl_SComponent compo;
SALOMEDSImpl_SComponentIterator itcomp = NewComponentIterator();
* Purpose : Find an Object with SALOMEDSImpl_Name = anObjectName
*/
//============================================================================
-SALOMEDSImpl_SObject SALOMEDSImpl_Study::FindObject(const string& anObjectName)
+SALOMEDSImpl_SObject SALOMEDSImpl_Study::FindObject(const std::string& anObjectName)
{
_errorCode = "";
* Purpose : Find an Object with ID = anObjectID
*/
//============================================================================
-SALOMEDSImpl_SObject SALOMEDSImpl_Study::FindObjectID(const string& anObjectID)
+SALOMEDSImpl_SObject SALOMEDSImpl_Study::FindObjectID(const std::string& anObjectID)
{
_errorCode = "";
SALOMEDSImpl_SObject so;
-
+
// Convert aSO->GetID in DF_Label.
DF_Label Lab = DF_Label::Label(_doc->Main(), anObjectID, false);
* Purpose : Creates an Object with ID = anObjectID
*/
//============================================================================
-SALOMEDSImpl_SObject SALOMEDSImpl_Study::CreateObjectID(const string& anObjectID)
+SALOMEDSImpl_SObject SALOMEDSImpl_Study::CreateObjectID(const std::string& anObjectID)
{
_errorCode = "";
SALOMEDSImpl_SObject so;
* : with ComponentDataType = aComponentName
*/
//============================================================================
-vector<SALOMEDSImpl_SObject> SALOMEDSImpl_Study::FindObjectByName(const string& anObjectName,
- const string& aComponentName)
+std::vector<SALOMEDSImpl_SObject> SALOMEDSImpl_Study::FindObjectByName(const std::string& anObjectName,
+ const std::string& aComponentName)
{
_errorCode = "";
- vector<SALOMEDSImpl_SObject> listSO;
+ std::vector<SALOMEDSImpl_SObject> listSO;
SALOMEDSImpl_SComponent compo = FindComponent(aComponentName) ;
if ( !compo ) {
// Iterate on each object and subobject of the component
// If objectName is found add it to the list of SObjects
- string childName ;
+ std::string childName ;
- string compoId = compo.GetID();
+ std::string compoId = compo.GetID();
SALOMEDSImpl_ChildIterator it = NewChildIterator(compo);
for ( ; it.More(); it.Next() ) {
* Purpose : Find an Object with IOR = anObjectIOR
*/
//============================================================================
-SALOMEDSImpl_SObject SALOMEDSImpl_Study::FindObjectIOR(const string& anObjectIOR)
+SALOMEDSImpl_SObject SALOMEDSImpl_Study::FindObjectIOR(const std::string& anObjectIOR)
{
_errorCode = "";
-
+
SALOMEDSImpl_SObject aResult ;
-
+
// searching in the datamap for optimization
if (myIORLabels.find(anObjectIOR) != myIORLabels.end()) {
aResult = GetSObject(myIORLabels[anObjectIOR]);
// 11 oct 2002: forbidden attributes must be checked here
if (!aResult.GetLabel().IsAttribute(SALOMEDSImpl_AttributeIOR::GetID())) {
myIORLabels.erase(anObjectIOR);
- aResult = SALOMEDSImpl_SObject();
- }
+ aResult = SALOMEDSImpl_SObject();
+ }
}
-
+
if(!aResult) _errorCode = "No object was found";
return aResult;
}
* Purpose : Find an Object by its path = thePath
*/
//============================================================================
-SALOMEDSImpl_SObject SALOMEDSImpl_Study::FindObjectByPath(const string& thePath)
+SALOMEDSImpl_SObject SALOMEDSImpl_Study::FindObjectByPath(const std::string& thePath)
{
_errorCode = "";
- string aPath(thePath), aToken;
+ std::string aPath(thePath), aToken;
SALOMEDSImpl_SObject aSO;
int aLength = aPath.size();
bool isRelative = false;
anIterator.Init(_doc->Main(), false);
}
- vector<string> vs = SALOMEDSImpl_Tool::splitString(aPath, '/');
+ std::vector<std::string> vs = SALOMEDSImpl_Tool::splitString(aPath, '/');
for(int i = 0, len = vs.size(); i<len; i++) {
aToken = vs[i];
* Purpose :
*/
//============================================================================
-string SALOMEDSImpl_Study::GetObjectPath(const SALOMEDSImpl_SObject& theObject)
+std::string SALOMEDSImpl_Study::GetObjectPath(const SALOMEDSImpl_SObject& theObject)
{
_errorCode = "";
- string aPath("");
+ std::string aPath("");
if(!theObject) {
_errorCode = "Null object";
return aPath;
}
- string aName = theObject.GetName();
+ std::string aName = theObject.GetName();
if(!aName.empty() && aName != "" ) {
- string aValue("/");
+ std::string aValue("/");
aValue+=aName;
aValue += aPath;
aPath = aValue;
* Purpose :
*/
//============================================================================
-string SALOMEDSImpl_Study::GetObjectPathByIOR(const string& theIOR)
+std::string SALOMEDSImpl_Study::GetObjectPathByIOR(const std::string& theIOR)
{
_errorCode = "";
- string aPath;
+ std::string aPath;
SALOMEDSImpl_SObject so = FindObjectIOR(theIOR);
if(!so) {
_errorCode = "No SObject was found by IOR";
* Purpose : Sets the current context
*/
//============================================================================
-bool SALOMEDSImpl_Study::SetContext(const string& thePath)
+bool SALOMEDSImpl_Study::SetContext(const std::string& thePath)
{
_errorCode = "";
if(thePath.empty()) {
return false;
}
- string aPath(thePath), aContext("");
+ std::string aPath(thePath), aContext("");
bool isInvalid = false;
SALOMEDSImpl_SObject aSO;
* Purpose : Gets the current context
*/
//============================================================================
-string SALOMEDSImpl_Study::GetContext()
+std::string SALOMEDSImpl_Study::GetContext()
{
_errorCode = "";
* Purpose : method to get all object names in the given context (or in the current context, if 'theContext' is empty)
*/
//============================================================================
-vector<string> SALOMEDSImpl_Study::GetObjectNames(const string& theContext)
+std::vector<std::string> SALOMEDSImpl_Study::GetObjectNames(const std::string& theContext)
{
_errorCode = "";
- vector<string> aResultSeq;
+ std::vector<std::string> aResultSeq;
DF_Label aLabel;
if (theContext.empty()) {
aLabel = _current;
for (; anIter.More(); anIter.Next()) {
DF_Label aLabel = anIter.Value();
SALOMEDSImpl_AttributeName* aName;
- if ((aName=(SALOMEDSImpl_AttributeName*)aLabel.FindAttribute(SALOMEDSImpl_AttributeName::GetID())))
+ if ((aName=(SALOMEDSImpl_AttributeName*)aLabel.FindAttribute(SALOMEDSImpl_AttributeName::GetID())))
aResultSeq.push_back(aName->Value());
}
* Purpose : method to get all directory names in the given context (or in the current context, if 'theContext' is empty)
*/
//============================================================================
-vector<string> SALOMEDSImpl_Study::GetDirectoryNames(const string& theContext)
+std::vector<std::string> SALOMEDSImpl_Study::GetDirectoryNames(const std::string& theContext)
{
_errorCode = "";
- vector<string> aResultSeq;
+ std::vector<std::string> aResultSeq;
DF_Label aLabel;
if (theContext.empty()) {
aLabel = _current;
* Purpose : method to get all file names in the given context (or in the current context, if 'theContext' is empty)
*/
//============================================================================
-vector<string> SALOMEDSImpl_Study::GetFileNames(const string& theContext)
+std::vector<std::string> SALOMEDSImpl_Study::GetFileNames(const std::string& theContext)
{
_errorCode = "";
- vector<string> aResultSeq;
+ std::vector<std::string> aResultSeq;
DF_Label aLabel;
if (theContext.empty()) {
aLabel = _current;
* Purpose : method to get all components names
*/
//============================================================================
-vector<string> SALOMEDSImpl_Study::GetComponentNames(const string& theContext)
+std::vector<std::string> SALOMEDSImpl_Study::GetComponentNames(const std::string& theContext)
{
_errorCode = "";
- vector<string> aResultSeq;
+ std::vector<std::string> aResultSeq;
DF_ChildIterator anIter(_doc->Main(), false); // iterate all subchildren at first level
for(; anIter.More(); anIter.Next()) {
DF_Label aLabel = anIter.Value();
SALOMEDSImpl_AttributeName* aName;
- if ((aName=(SALOMEDSImpl_AttributeName*)aLabel.FindAttribute(SALOMEDSImpl_AttributeName::GetID())))
+ if ((aName=(SALOMEDSImpl_AttributeName*)aLabel.FindAttribute(SALOMEDSImpl_AttributeName::GetID())))
aResultSeq.push_back(aName->Value());
}
* Purpose : get study name
*/
//============================================================================
-string SALOMEDSImpl_Study::Name()
+std::string SALOMEDSImpl_Study::Name()
{
_errorCode = "";
return _name;
* Purpose : set study name
*/
//============================================================================
-void SALOMEDSImpl_Study::Name(const string& name)
+void SALOMEDSImpl_Study::Name(const std::string& name)
{
_errorCode = "";
_name = name;
* Purpose : get URL of the study (persistent reference of the study)
*/
//============================================================================
-string SALOMEDSImpl_Study::URL()
+std::string SALOMEDSImpl_Study::URL()
{
_errorCode = "";
return _URL;
* Purpose : set URL of the study (persistent reference of the study)
*/
//============================================================================
-void SALOMEDSImpl_Study::URL(const string& url)
+void SALOMEDSImpl_Study::URL(const std::string& url)
{
_errorCode = "";
_URL = url;
/*jfa: Now name of SALOMEDS study will correspond to name of SalomeApp study
- string tmp(_URL);
+ std::string tmp(_URL);
char *aName = (char*)tmp.ToCString();
char *adr = strtok(aName, "/");
*/
//============================================================================
SALOMEDSImpl_SObject SALOMEDSImpl_Study::_FindObject(const SALOMEDSImpl_SObject& SO,
- const string& theObjectName,
- bool& _find)
+ const std::string& theObjectName,
+ bool& _find)
{
SALOMEDSImpl_SObject RefSO;
if(!SO) return RefSO;
// If objectName find, stop the loop and get the object reference
SALOMEDSImpl_AttributeName* anAttr;
- string soid = SO.GetID();
+ std::string soid = SO.GetID();
DF_ChildIterator it(SO.GetLabel());
for (; it.More(); it.Next()){
if(!_find)
{
if ((anAttr=(SALOMEDSImpl_AttributeName*)it.Value().FindAttribute(SALOMEDSImpl_AttributeName::GetID())))
{
- string Val(anAttr->Value());
+ std::string Val(anAttr->Value());
if (Val == theObjectName)
{
RefSO = GetSObject(it.Value());
//============================================================================
SALOMEDSImpl_SObject
SALOMEDSImpl_Study::_FindObjectIOR(const SALOMEDSImpl_SObject& SO,
- const string& theObjectIOR,
+ const std::string& theObjectIOR,
bool& _find)
{
SALOMEDSImpl_SObject RefSO, aSO;
{
if ((anAttr=(SALOMEDSImpl_AttributeIOR*)it.Value().FindAttribute(SALOMEDSImpl_AttributeIOR::GetID())))
{
- string Val(anAttr->Value());
+ std::string Val(anAttr->Value());
if (Val == theObjectIOR)
{
RefSO = GetSObject(it.Value());
* Purpose : Find an Object with SALOMEDSImpl_IOR = anObjectIOR
*/
//============================================================================
-string SALOMEDSImpl_Study::_GetNoteBookAccessor(){
- return string("notebook");
+std::string SALOMEDSImpl_Study::_GetNoteBookAccessor(){
+ return std::string("notebook");
}
//============================================================================
/*! Function : _GetStudyVariablesScript
- * Purpose :
+ * Purpose :
*/
//============================================================================
-string SALOMEDSImpl_Study::_GetStudyVariablesScript()
+std::string SALOMEDSImpl_Study::_GetStudyVariablesScript()
{
- string dump("");
-
+ std::string dump("");
+
if(myNoteBookVars.empty())
return dump;
Kernel_Utils::Localizer loc;
-
+
dump += "####################################################\n";
dump += "## Begin of NoteBook variables section ##\n";
dump += "####################################################\n";
- string set_method = _GetNoteBookAccessor()+".set(";
- string varName;
- string varValue;
+ std::string set_method = _GetNoteBookAccessor()+".set(";
+ std::string varName;
+ std::string varValue;
for(int i = 0 ; i < myNoteBookVars.size();i++ ) {
varName = myNoteBookVars[i]->Name();
varValue = myNoteBookVars[i]->SaveToScript();
dump+=set_method+"\""+varName+"\", "+varValue+")\n";
}
-
+
dump += "####################################################\n";
dump += "## End of NoteBook variables section ##\n";
dump += "####################################################\n";
* Purpose :
*/
//============================================================================
-string SALOMEDSImpl_Study::_GetNoteBookAccess()
+std::string SALOMEDSImpl_Study::_GetNoteBookAccess()
{
- string accessor = _GetNoteBookAccessor();
- string notebook = "import salome_notebook\n";
- notebook += accessor+" = salome_notebook."+accessor + "\n";
- return notebook;
+ std::string accessor = _GetNoteBookAccessor();
+ std::string notebook = "import salome_notebook\n";
+ notebook += accessor+" = salome_notebook."+accessor + "\n";
+ return notebook;
}
bool SALOMEDSImpl_Study::IsLocked()
_StudyId = id;
}
-void SALOMEDSImpl_Study::UpdateIORLabelMap(const string& anIOR,const string& anEntry)
+void SALOMEDSImpl_Study::UpdateIORLabelMap(const std::string& anIOR,const std::string& anEntry)
{
_errorCode = "";
DF_Label aLabel = DF_Label::Label(_doc->Main(), anEntry, true);
void SALOMEDSImpl_Study::DeleteIORLabelMapItem(const std::string& anIOR)
{
- if (myIORLabels.find(anIOR) != myIORLabels.end())
+ if (myIORLabels.find(anIOR) != myIORLabels.end())
{
//remove the ior entry and decref the genericobj (if it's one)
myIORLabels.erase(anIOR);
void SALOMEDSImpl_Study::IORUpdated(const SALOMEDSImpl_AttributeIOR* theAttribute)
{
- string aString = theAttribute->Label().Entry();
+ std::string aString = theAttribute->Label().Entry();
GetStudy(theAttribute->Label())->UpdateIORLabelMap(theAttribute->Value(), aString);
}
-vector<SALOMEDSImpl_SObject> SALOMEDSImpl_Study::FindDependances(const SALOMEDSImpl_SObject& anObject)
+std::vector<SALOMEDSImpl_SObject> SALOMEDSImpl_Study::FindDependances(const SALOMEDSImpl_SObject& anObject)
{
_errorCode = "";
- vector<SALOMEDSImpl_SObject> aSeq;
+ std::vector<SALOMEDSImpl_SObject> aSeq;
SALOMEDSImpl_AttributeTarget* aTarget;
if ((aTarget=(SALOMEDSImpl_AttributeTarget*)anObject.GetLabel().FindAttribute(SALOMEDSImpl_AttributeTarget::GetID()))) {
return SALOMEDSImpl_AttributeStudyProperties::Set(_doc->Main());
}
-string SALOMEDSImpl_Study::GetLastModificationDate()
+std::string SALOMEDSImpl_Study::GetLastModificationDate()
{
_errorCode = "";
SALOMEDSImpl_AttributeStudyProperties* aProp = GetProperties();
- vector<string> aNames;
- vector<int> aMinutes, aHours, aDays, aMonths, aYears;
+ std::vector<std::string> aNames;
+ std::vector<int> aMinutes, aHours, aDays, aMonths, aYears;
aProp->GetModifications(aNames, aMinutes, aHours, aDays, aMonths, aYears);
int aLastIndex = aNames.size()-1;
sprintf(aResult, "%2.2d/%2.2d/%4.4d %2.2d:%2.2d",
(int)(aDays[aLastIndex]),(int)(aMonths[aLastIndex]), (int)(aYears[aLastIndex]),
(int)(aHours[aLastIndex]), (int)(aMinutes[aLastIndex]));
- string aResStr (aResult);
+ std::string aResStr (aResult);
return aResStr;
}
-vector<string> SALOMEDSImpl_Study::GetModificationsDate()
+std::vector<std::string> SALOMEDSImpl_Study::GetModificationsDate()
{
_errorCode = "";
SALOMEDSImpl_AttributeStudyProperties* aProp = GetProperties();
- vector<string> aNames;
- vector<int> aMinutes, aHours, aDays, aMonths, aYears;
+ std::vector<std::string> aNames;
+ std::vector<int> aMinutes, aHours, aDays, aMonths, aYears;
aProp->GetModifications(aNames, aMinutes, aHours, aDays, aMonths, aYears);
int anIndex, aLength = aNames.size();
- vector<string> aDates;
+ std::vector<std::string> aDates;
for (anIndex = 1; anIndex < aLength; anIndex++) {
char aDate[20];
* Purpose :
*/
//============================================================================
-SALOMEDSImpl_SComponent SALOMEDSImpl_Study::GetSComponent(const string& theEntry)
+SALOMEDSImpl_SComponent SALOMEDSImpl_Study::GetSComponent(const std::string& theEntry)
{
SALOMEDSImpl_SComponent aSCO;
if(_mapOfSCO.find(theEntry) != _mapOfSCO.end())
* Purpose :
*/
//============================================================================
-SALOMEDSImpl_SObject SALOMEDSImpl_Study::GetSObject(const string& theEntry)
+SALOMEDSImpl_SObject SALOMEDSImpl_Study::GetSObject(const std::string& theEntry)
{
SALOMEDSImpl_SObject aSO;
if(_mapOfSO.find(theEntry) != _mapOfSO.end())
* Purpose :
*/
//============================================================================
-DF_Attribute* SALOMEDSImpl_Study::GetAttribute(const string& theEntry,
- const string& theType)
+DF_Attribute* SALOMEDSImpl_Study::GetAttribute(const std::string& theEntry,
+ const std::string& theType)
{
SALOMEDSImpl_SObject aSO = GetSObject(theEntry);
DF_Attribute* anAttr;
* Purpose :
*/
//============================================================================
-bool SALOMEDSImpl_Study::DumpStudy(const string& thePath,
- const string& theBaseName,
+bool SALOMEDSImpl_Study::DumpStudy(const std::string& thePath,
+ const std::string& theBaseName,
bool isPublished,
SALOMEDSImpl_DriverFactory* theFactory)
{
return false;
}
- vector<string> aSeq;
- string aCompType, aFactoryType;
+ std::vector<std::string> aSeq;
+ std::string aCompType, aFactoryType;
//Build a list of all components in the Study
SALOMEDSImpl_SComponentIterator itcomponent = NewComponentIterator();
}
#ifdef WIN32
- string aFileName =
- thePath + string("\\") + theBaseName + string(".py");
+ std::string aFileName =
+ thePath + std::string("\\") + theBaseName + std::string(".py");
#else
- string aFileName =
- thePath + string("/") + theBaseName + string(".py");
+ std::string aFileName =
+ thePath + std::string("/") + theBaseName + std::string(".py");
#endif
//Create a file that will contain a main Study script
- fstream fp;
- fp.open(aFileName.c_str(), ios::out);
+ std::fstream fp;
+ fp.open(aFileName.c_str(), std::ios::out);
#ifdef WIN32
bool isOpened = fp.is_open();
#endif
if(!isOpened) {
- _errorCode = string("Can't create a file ")+aFileName;
+ _errorCode = std::string("Can't create a file ")+aFileName;
return false;
}
- string aBatchModeScript = "salome";
+ std::string aBatchModeScript = "salome";
//Output to the main Study script required Python modules import,
//set sys.path and add a creation of the study.
- fp << "# -*- coding: iso-8859-1 -*-\n" << endl;
- fp << GetDumpStudyComment() << endl << endl;
- fp << "import sys" << endl;
- fp << "import " << aBatchModeScript << endl << endl;
+ // dump header
+ fp << GetDumpStudyComment() << std::endl;
+
+ // global imports
+ fp << "import sys" << std::endl;
+ fp << "import " << aBatchModeScript << std::endl << std::endl;
- fp << aBatchModeScript << ".salome_init()" << endl << endl;
+ // initialization function
+ fp << aBatchModeScript << ".salome_init()" << std::endl << std::endl;
+ // notebook initialization
fp << _GetNoteBookAccess();
- fp << "sys.path.insert( 0, r\'" << thePath << "\')" << endl << endl;
+ // extend sys.path with the directory where the script is being dumped to
+ fp << "sys.path.insert( 0, r\'" << thePath << "\')" << std::endl << std::endl;
- //Dump NoteBook Variables
+ // dump NoteBook variables
fp << _GetStudyVariablesScript();
- //Check if it's necessary to dump visual parameters
+ // dump visual parameters if necessary
bool isDumpVisuals = SALOMEDSImpl_IParameters::isDumpPython(this);
int lastSavePoint = -1;
if(isDumpVisuals) {
lastSavePoint = SALOMEDSImpl_IParameters::getLastSavePoint(this);
if(lastSavePoint > 0) {
- fp << SALOMEDSImpl_IParameters::getStudyScript(this, lastSavePoint) << endl << endl;
+ fp << SALOMEDSImpl_IParameters::getStudyScript(this, lastSavePoint) << std::endl << std::endl;
}
}
-
- vector<string> aSeqOfFileNames;
+ std::vector<std::string> aSeqOfFileNames;
- //Iterate all components and create the componponents specific scripts.
+ // dump all components and create the components specific scripts
bool isOk = true;
int aLength = aSeq.size();
for(int i = 1; i <= aLength; i++) {
SALOMEDSImpl_SComponent sco = FindComponent(aCompType);
SALOMEDSImpl_Driver* aDriver = NULL;
// if there is an associated Engine call its method for saving
- string IOREngine;
+ std::string IOREngine;
try {
if (!sco.ComponentIOR(IOREngine)) {
if (!aCompType.empty()) {
isOk = false;
//Create a file that will contain the component specific script
- fstream fp2;
+ std::fstream fp2;
#ifdef WIN32
- aFileName=thePath+string("\\");
+ aFileName=thePath+std::string("\\");
#else
- aFileName=thePath+string("/");
+ aFileName=thePath+std::string("/");
#endif
- string aScriptName;
+ std::string aScriptName;
aScriptName += theBaseName;
aScriptName += "_";
aScriptName += aCompType;
- aFileName += aScriptName+ string(".py");
+ aFileName += aScriptName+ std::string(".py");
aSeqOfFileNames.push_back(aFileName);
- fp2.open(aFileName.c_str(), ios::out);
+ fp2.open(aFileName.c_str(), std::ios::out);
#ifdef WIN32
isOpened = fp2.is_open();
#endif
if(!isOpened) {
- _errorCode = string("Can't create a file ")+aFileName;
+ _errorCode = std::string("Can't create a file ")+aFileName;
SALOMEDSImpl_Tool::RemoveTemporaryFiles(thePath, aSeqOfFileNames, false);
return false;
}
//Output the Python script generated by the component in the newly created file.
+ fp2 << GetDumpStudyComment( aCompType.c_str() ) << std::endl;
fp2 << aStream->Data();
fp2.close();
if(aStream) delete aStream;
//Add to the main script a call to RebuildData of the generated by the component the Python script
- fp << "import " << aScriptName << endl;
- fp << aScriptName << ".RebuildData(" << aBatchModeScript << ".myStudy)" << endl;
+ fp << "import " << aScriptName << std::endl;
+ fp << aScriptName << ".RebuildData(" << aBatchModeScript << ".myStudy)" << std::endl;
}
- fp << endl;
- fp << "if salome.sg.hasDesktop():" << endl;
- fp << "\tsalome.sg.updateObjBrowser(1)" << endl;
+ fp << std::endl;
+ fp << "if salome.sg.hasDesktop():" << std::endl;
+ fp << "\tsalome.sg.updateObjBrowser(1)" << std::endl;
if(isDumpVisuals) { //Output the call to Session's method restoreVisualState
- fp << "\tiparameters.getSession().restoreVisualState(1)" << endl;
+ fp << "\tiparameters.getSession().restoreVisualState(1)" << std::endl;
}
//purpose : return a header comment for a DumpStudy script
//=======================================================================
-string SALOMEDSImpl_Study::GetDumpStudyComment(const char* theComponentName)
+std::string SALOMEDSImpl_Study::GetDumpStudyComment(const char* theComponentName)
{
- string txt
- ("### This file is generated by SALOME automatically by dump python functionality");
+ std::stringstream txt;
+ txt << "# -*- coding: iso-8859-1 -*-" << std::endl << std::endl;
+ txt << "###" << std::endl;
+ txt << "### This file is generated automatically by SALOME v"
+ << KERNEL_VERSION_STR
+ << " with dump python functionality";
if ( theComponentName )
- txt += string(" of ") + (char*) theComponentName + " component";
- return txt;
+ txt << " (" << theComponentName << " component)";
+ txt << std::endl;
+ txt << "###" << std::endl;
+ return txt.str();
}
void dumpSO(const SALOMEDSImpl_SObject& theSO,
- fstream& fp,
- const string& Tab,
+ std::fstream& fp,
+ const std::string& Tab,
SALOMEDSImpl_Study* theStudy);
//============================================================================
* Purpose :
*/
//============================================================================
-void SALOMEDSImpl_Study::dump(const string& theFileName)
+void SALOMEDSImpl_Study::dump(const std::string& theFileName)
{
//Create a file that will contain a main Study script
- fstream fp;
- fp.open(theFileName.c_str(), ios::out);
+ std::fstream fp;
+ fp.open(theFileName.c_str(), std::ios::out);
#ifdef WIN32
bool isOpened = fp.is_open();
#endif
if(!isOpened) {
- _errorCode = string("Can't create a file ")+theFileName;
- cout << "### SALOMEDSImpl_Study::dump Error: " << _errorCode << endl;
+ _errorCode = std::string("Can't create a file ")+theFileName;
+ std::cout << "### SALOMEDSImpl_Study::dump Error: " << _errorCode << std::endl;
return;
}
SALOMEDSImpl_SObject aSO = FindObjectID("0:1");
- fp << "0:1" << endl;
+ fp << "0:1" << std::endl;
SALOMEDSImpl_ChildIterator Itr = NewChildIterator(aSO);
- string aTab(" ");
+ std::string aTab(" ");
for(; Itr.More(); Itr.Next()) {
dumpSO(Itr.Value(), fp, aTab, this);
}
void dumpSO(const SALOMEDSImpl_SObject& theSO,
- fstream& fp,
- const string& Tab,
+ std::fstream& fp,
+ const std::string& Tab,
SALOMEDSImpl_Study* theStudy)
{
- string aTab(Tab), anID(theSO.GetID());
- fp << aTab << anID << endl;
- vector<DF_Attribute*> attribs = theSO.GetLabel().GetAttributes();
+ std::string aTab(Tab), anID(theSO.GetID());
+ fp << aTab << anID << std::endl;
+ std::vector<DF_Attribute*> attribs = theSO.GetLabel().GetAttributes();
for(int i = 0; i<attribs.size(); i++) {
SALOMEDSImpl_GenericAttribute* anAttr = dynamic_cast<SALOMEDSImpl_GenericAttribute*>(attribs[i]);
continue;
}
- string aType = anAttr->GetClassType();
+ std::string aType = anAttr->GetClassType();
fp << Tab << " -- " << aType;
- if(aType == string("AttributeReal")) {
+ if(aType == std::string("AttributeReal")) {
fp << " : " << dynamic_cast<SALOMEDSImpl_AttributeReal*>(anAttr)->Value();
}
- else if(aType == string("AttributeInteger")) {
+ else if(aType == std::string("AttributeInteger")) {
fp << " : " << dynamic_cast<SALOMEDSImpl_AttributeInteger*>(anAttr)->Value();
}
- else if(aType == string("AttributeName")) {
+ else if(aType == std::string("AttributeName")) {
fp << " : " << dynamic_cast<SALOMEDSImpl_AttributeName*>(anAttr)->Value();
}
- else if(aType == string("AttributeComment")) {
+ else if(aType == std::string("AttributeComment")) {
fp << " : " << dynamic_cast<SALOMEDSImpl_AttributeComment*>(anAttr)->Value();
}
- else if(aType == string("AttributeReference")) {
+ else if(aType == std::string("AttributeReference")) {
fp << " : " << dynamic_cast<SALOMEDSImpl_AttributeReference*>(anAttr)->Save();
}
- fp << endl;
+ fp << std::endl;
}
SALOMEDSImpl_ChildIterator Itr = theStudy->NewChildIterator(theSO);
- string aNewTab(" ");
+ std::string aNewTab(" ");
aNewTab+=aTab;
for(; Itr.More(); Itr.Next()) {
dumpSO(Itr.Value(), fp, aNewTab, theStudy);
}
//============================================================================
-/*! Function :
+/*! Function :
* Purpose :
*/
//============================================================================
if (so) {
builder->FindAttribute(so, A, "AttributeParameter");
if ( !A ) { // first call of GetCommonParameters on "Interface Applicative" component
- A = builder->FindOrCreateAttribute(so, "AttributeParameter");
+ A = builder->FindOrCreateAttribute(so, "AttributeParameter");
}
attParam = dynamic_cast<SALOMEDSImpl_AttributeParameter*>( A );
}
}
//============================================================================
-/*! Function :
+/*! Function :
* Purpose :
*/
//============================================================================
-SALOMEDSImpl_AttributeParameter* SALOMEDSImpl_Study::GetModuleParameters(const char* theID,
+SALOMEDSImpl_AttributeParameter* SALOMEDSImpl_Study::GetModuleParameters(const char* theID,
const char* theModuleName,
int theSavePoint)
{
SALOMEDSImpl_AttributeParameter* par = NULL;
SALOMEDSImpl_ChildIterator it = NewChildIterator(main_so);
- string moduleName(theModuleName);
+ std::string moduleName(theModuleName);
for(; it.More(); it.Next()) {
SALOMEDSImpl_SObject so(it.Value());
if((par=(SALOMEDSImpl_AttributeParameter*)so.GetLabel().FindAttribute(SALOMEDSImpl_AttributeParameter::GetID()))) {
//============================================================================
void SALOMEDSImpl_Study::UnLockStudy(const char* theLockerID)
{
- vector<string>::iterator vsI = _lockers.begin();
+ std::vector<std::string>::iterator vsI = _lockers.begin();
int length = _lockers.size();
bool isFound = false;
- string id(theLockerID);
+ std::string id(theLockerID);
for(int i = 0; i<length; i++, vsI++) {
if(id == _lockers[i]) {
isFound = true;;
}
if(isFound) _lockers.erase(vsI);
}
-
+
//============================================================================
/*! Function : GetLockerID
* Purpose :
*/
//============================================================================
-vector<string> SALOMEDSImpl_Study::GetLockerID()
+std::vector<std::string> SALOMEDSImpl_Study::GetLockerID()
{
return _lockers;
}
* Purpose :
*/
//============================================================================
-void SALOMEDSImpl_Study::SetVariable(const string& theVarName,
+void SALOMEDSImpl_Study::SetVariable(const std::string& theVarName,
const double theValue,
const SALOMEDSImpl_GenericVariable::VariableTypes theType)
{
bool modified = false;
SALOMEDSImpl_GenericVariable* aGVar = GetVariable(theVarName);
-
+
if( aGVar == NULL ) {
SALOMEDSImpl_ScalarVariable* aSVar = new SALOMEDSImpl_ScalarVariable(theType, theVarName);
* Purpose :
*/
//============================================================================
-void SALOMEDSImpl_Study::SetStringVariable(const string& theVarName,
- const string& theValue,
- const SALOMEDSImpl_GenericVariable::VariableTypes theType)
+void SALOMEDSImpl_Study::SetStringVariable(const std::string& theVarName,
+ const std::string& theValue,
+ const SALOMEDSImpl_GenericVariable::VariableTypes theType)
{
bool modified = false;
SALOMEDSImpl_GenericVariable* aGVar = GetVariable(theVarName);
-
+
if( aGVar == NULL ) {
-
+
SALOMEDSImpl_ScalarVariable* aSVar = new SALOMEDSImpl_ScalarVariable(theType, theVarName);
-
+
aSVar->setStringValue(theValue);
myNoteBookVars.push_back(aSVar);
modified = true;
* Purpose :
*/
//============================================================================
-void SALOMEDSImpl_Study::SetStringVariableAsDouble(const string& theVarName,
- const double theValue,
- const SALOMEDSImpl_GenericVariable::VariableTypes theType)
+void SALOMEDSImpl_Study::SetStringVariableAsDouble(const std::string& theVarName,
+ const double theValue,
+ const SALOMEDSImpl_GenericVariable::VariableTypes theType)
{
SALOMEDSImpl_GenericVariable* aGVar = GetVariable(theVarName);
if(SALOMEDSImpl_ScalarVariable* aSVar = dynamic_cast<SALOMEDSImpl_ScalarVariable*>(aGVar))
* Purpose :
*/
//============================================================================
-double SALOMEDSImpl_Study::GetVariableValue(const string& theVarName)
+double SALOMEDSImpl_Study::GetVariableValue(const std::string& theVarName)
{
SALOMEDSImpl_GenericVariable* aGVar = GetVariable(theVarName);
-
+
if(aGVar != NULL )
if(SALOMEDSImpl_ScalarVariable* aSVar = dynamic_cast<SALOMEDSImpl_ScalarVariable*>(aGVar))
return aSVar->getValue();
* Purpose :
*/
//============================================================================
-string SALOMEDSImpl_Study::GetStringVariableValue(const string& theVarName)
+std::string SALOMEDSImpl_Study::GetStringVariableValue(const std::string& theVarName)
{
SALOMEDSImpl_GenericVariable* aGVar = GetVariable(theVarName);
-
+
if(aGVar != NULL )
if(SALOMEDSImpl_ScalarVariable* aSVar = dynamic_cast<SALOMEDSImpl_ScalarVariable*>(aGVar))
return aSVar->getStringValue();
-
+
return 0;
}
* Purpose :
*/
//============================================================================
-bool SALOMEDSImpl_Study::IsTypeOf(const string& theVarName,
+bool SALOMEDSImpl_Study::IsTypeOf(const std::string& theVarName,
SALOMEDSImpl_GenericVariable::
VariableTypes theType) const
{
SALOMEDSImpl_GenericVariable* aGVar = GetVariable(theVarName);
-
+
if(aGVar != NULL )
return aGVar->Type() == theType;
-
+
return false;
}
* Purpose :
*/
//============================================================================
-bool SALOMEDSImpl_Study::IsVariable(const string& theVarName) const
+bool SALOMEDSImpl_Study::IsVariable(const std::string& theVarName) const
{
SALOMEDSImpl_GenericVariable* aGVar = GetVariable(theVarName);
return (aGVar != NULL);
* Purpose :
*/
//============================================================================
-vector<string> SALOMEDSImpl_Study::GetVariableNames() const
+std::vector<std::string> SALOMEDSImpl_Study::GetVariableNames() const
{
- vector<string> aResult;
+ std::vector<std::string> aResult;
for(int i = 0; i < myNoteBookVars.size(); i++)
aResult.push_back(myNoteBookVars[i]->Name());
-
+
return aResult;
}
if(theName.compare(myNoteBookVars[i]->Name()) == 0) {
aResult = myNoteBookVars[i];
break;
- }
+ }
}
return aResult;
}
* Purpose :
*/
//============================================================================
-bool SALOMEDSImpl_Study::RemoveVariable(const string& theVarName)
+bool SALOMEDSImpl_Study::RemoveVariable(const std::string& theVarName)
{
SALOMEDSImpl_GenericVariable* aVariable = GetVariable( theVarName );
if( !aVariable )
return false;
- string aValue = aVariable->SaveToScript();
+ std::string aValue = aVariable->SaveToScript();
ReplaceVariableAttribute( theVarName, aValue );
std::vector<SALOMEDSImpl_GenericVariable*>::iterator it = myNoteBookVars.begin(), itEnd = myNoteBookVars.end();
* Purpose :
*/
//============================================================================
-bool SALOMEDSImpl_Study::RenameVariable(const string& theVarName, const string& theNewVarName)
+bool SALOMEDSImpl_Study::RenameVariable(const std::string& theVarName, const std::string& theNewVarName)
{
SALOMEDSImpl_GenericVariable* aVariable = GetVariable( theVarName );
if( !aVariable )
* Purpose :
*/
//============================================================================
-bool SALOMEDSImpl_Study::IsVariableUsed(const string& theVarName)
+bool SALOMEDSImpl_Study::IsVariableUsed(const std::string& theVarName)
{
return FindVariableAttribute( theVarName );
}
{
if( SALOMEDSImpl_AttributeString* aStringAttr = ( SALOMEDSImpl_AttributeString* )anAttr )
{
- string aString = aStringAttr->Value();
+ std::string aString = aStringAttr->Value();
- vector< vector<string> > aSections = ParseVariables( aString );
+ std::vector< std::vector<std::string> > aSections = ParseVariables( aString );
for( int i = 0, n = aSections.size(); i < n; i++ )
{
- vector<string> aVector = aSections[i];
+ std::vector<std::string> aVector = aSections[i];
for( int j = 0, m = aVector.size(); j < m; j++ )
{
- string aStr = aVector[j];
+ std::string aStr = aVector[j];
if( aStr.compare( theName ) == 0 )
return true;
}
if( SALOMEDSImpl_AttributeString* aStringAttr = ( SALOMEDSImpl_AttributeString* )anAttr )
{
bool isChanged = false;
- string aNewString, aCurrentString = aStringAttr->Value();
+ std::string aNewString, aCurrentString = aStringAttr->Value();
- vector< vector<string> > aSections = ParseVariables( aCurrentString );
+ std::vector< std::vector<std::string> > aSections = ParseVariables( aCurrentString );
for( int i = 0, n = aSections.size(); i < n; i++ )
{
- vector<string> aVector = aSections[i];
+ std::vector<std::string> aVector = aSections[i];
for( int j = 0, m = aVector.size(); j < m; j++ )
{
- string aStr = aVector[j];
+ std::string aStr = aVector[j];
if( aStr.compare( theSource ) == 0 )
{
isChanged = true;
* Purpose :
*/
//============================================================================
-vector< vector< string > > SALOMEDSImpl_Study::ParseVariables(const string& theVariables) const
+std::vector< std::vector< std::string > > SALOMEDSImpl_Study::ParseVariables(const std::string& theVariables) const
{
return SALOMEDSImpl_Tool::splitStringWithEmpty( theVariables, OPERATION_SEPARATOR, VARIABLE_SEPARATOR );
}
*/
//============================================================================
void SALOMEDSImpl_Study::EnableUseCaseAutoFilling(bool isEnabled)
-{
- _errorCode = ""; _autoFill = isEnabled;
+{
+ _errorCode = ""; _autoFill = isEnabled;
if(isEnabled) {
_builder->SetOnAddSObject(_cb);
_builder->SetOnRemoveSObject(_cb);
* Purpose :
*/
//============================================================================
-vector<string> SALOMEDSImpl_Study::GetIORs()
+std::vector<std::string> SALOMEDSImpl_Study::GetIORs()
{
- vector<string> anIORs;
- map<string, DF_Label>::const_iterator MI;
+ std::vector<std::string> anIORs;
+ std::map<std::string, DF_Label>::const_iterator MI;
for(MI = myIORLabels.begin(); MI!=myIORLabels.end(); MI++)
anIORs.push_back(MI->first);