-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// 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();
}
// 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;
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);
}
//
// MEM: AttributeParameter
-// Note that the AttributeParameter is a multitype dictionnary whose
+// Note that the AttributeParameter is a multitype dictionary whose
// keys are the names specified when setting the value
//
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);
}
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);
}