Salome HOME
Merge branch 'vsr/26457'
[modules/kernel.git] / src / KernelHelpers / SALOME_StudyEditor.cxx
index 6eabba0e0202a32d8bef744b6da4f76621e60712..c927df2fedb3ca88711bd1c94271039e2c5a6aad 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -16,6 +16,7 @@
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+
 // Author: Guillaume Boulant (EDF/R&D) 
 
 #include "SALOME_StudyEditor.hxx"
 SALOME_StudyEditor::SALOME_StudyEditor() {
 }
 
-void SALOME_StudyEditor::setStudy(SALOMEDS::Study_ptr study) {
-  _study = study;
-  _sbuilder = _study->NewBuilder();    
-}
-
-void SALOME_StudyEditor::setStudyById(int studyId) {
-  this->setStudy(KERNEL::getStudyManager()->GetStudyByID(studyId));
-}
-
-int SALOME_StudyEditor::getStudyId() {
-  if ( _study->_is_nil() ) return UNDEFINED; 
-  return _study->StudyId();
-}
-
-SALOME_StudyEditor::SALOME_StudyEditor(int studyId) {
-  this->setStudyById(studyId);
-}
-SALOME_StudyEditor::SALOME_StudyEditor(SALOMEDS::Study_ptr study) {
-  this->setStudy(study);
+SALOMEDS::StudyBuilder_var SALOME_StudyEditor::studyBuilder()
+{
+  return KERNEL::getStudyServant()->NewBuilder();
 }
 
 SALOMEDS::SObject_ptr SALOME_StudyEditor::newObject(SALOMEDS::SObject_ptr parent) {
-  return _sbuilder->NewObject(parent);
+  return studyBuilder()->NewObject(parent);
 }
 
 SALOMEDS::SObject_ptr SALOME_StudyEditor::findObject(const char * entry) {
-  SALOMEDS::SObject_var sobject = _study->FindObjectID(entry);
+  SALOMEDS::SObject_var sobject = KERNEL::getStudyServant()->FindObjectID(entry);
   return sobject._retn();
 }
 
 SALOMEDS::SComponent_ptr SALOME_StudyEditor::newRoot(const char * moduleName) {
   SALOMEDS::SComponent_var sroot = findRoot(moduleName);
   if ( sroot->_is_nil() ) {
-    sroot = _sbuilder->NewComponent(moduleName);
-    _sbuilder->SetName(sroot,moduleName);
+    sroot = studyBuilder()->NewComponent(moduleName);
+    studyBuilder()->SetName(sroot,moduleName);
   }
   return sroot._retn();
 }
@@ -73,16 +58,16 @@ bool SALOME_StudyEditor::bindEngine(SALOMEDS::SComponent_var studyRoot,
   // raising (eh, you work on SALOME isn't it?)
   SALOMEDS::Driver_var driver = SALOMEDS::Driver::_narrow(engine);
   if ( driver->_is_nil() || studyRoot->_is_nil() ) return false;
-  _sbuilder->DefineComponentInstance(studyRoot, engine);
+  studyBuilder()->DefineComponentInstance(studyRoot, engine);
   return true;
 }
 
 SALOMEDS::SComponent_ptr SALOME_StudyEditor::findRoot(const char * moduleName) {
-  return _study->FindComponent(moduleName);
+  return KERNEL::getStudyServant()->FindComponent(moduleName);
 }
 
 void SALOME_StudyEditor::setName(SALOMEDS::SObject_var sobject, const char * value) {
-  _sbuilder->SetName(sobject,value);  
+  studyBuilder()->SetName(sobject,value);  
 }
 const char * SALOME_StudyEditor::getName(SALOMEDS::SObject_var sobject) {
   if (sobject->_is_nil()) return NULL;
@@ -102,7 +87,7 @@ const char * SALOME_StudyEditor::getName(SALOMEDS::SObject_var sobject) {
 void SALOME_StudyEditor::setIcon(SALOMEDS::SObject_var sobject, const char * resourcename) {
   SALOMEDS::GenericAttribute_var anAttr;
   SALOMEDS::AttributePixMap_var aPixmap;
-  anAttr = _sbuilder->FindOrCreateAttribute(sobject, "AttributePixMap");
+  anAttr = studyBuilder()->FindOrCreateAttribute(sobject, "AttributePixMap");
   aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
   aPixmap->SetPixMap(resourcename);
 }
@@ -120,7 +105,7 @@ void SALOME_StudyEditor::setIcon(SALOMEDS::SObject_var sobject, const char * res
 void SALOME_StudyEditor::setParameterInt(SALOMEDS::SObject_var sobject, const char * name, int value) { 
   SALOMEDS::GenericAttribute_var anAttr;
   SALOMEDS::AttributeParameter_var aParam;
-  anAttr = _sbuilder->FindOrCreateAttribute(sobject, "AttributeParameter");
+  anAttr = studyBuilder()->FindOrCreateAttribute(sobject, "AttributeParameter");
   aParam = SALOMEDS::AttributeParameter::_narrow(anAttr);
   aParam->SetInt(name,value);
 }
@@ -144,7 +129,7 @@ int SALOME_StudyEditor::getParameterInt(SALOMEDS::SObject_var sobject, const cha
 void SALOME_StudyEditor::setParameterBool(SALOMEDS::SObject_var sobject, const char * name, bool value) {
   SALOMEDS::GenericAttribute_var anAttr;
   SALOMEDS::AttributeParameter_var aParam;
-  anAttr = _sbuilder->FindOrCreateAttribute(sobject, "AttributeParameter");
+  anAttr = studyBuilder()->FindOrCreateAttribute(sobject, "AttributeParameter");
   aParam = SALOMEDS::AttributeParameter::_narrow(anAttr);
   aParam->SetBool(name,value);
 }