return SUIT_Session::session()->resourceMgr();
}
- _PTR(Study)
- GetCStudy(const SalomeApp_Study* theStudy)
- {
- return theStudy->studyDS();
- }
-
CORBA::Object_var
DataOwnerToObject(const LightApp_DataOwnerPtr& theOwner)
{
const Handle(SALOME_InteractiveObject)& anIO = theOwner->IO();
if(!anIO.IsNull()){
if(anIO->hasEntry()){
- _PTR(Study) aStudy = GetActiveStudyDocument();
- _PTR(SObject) aSObj = aStudy->FindObjectID(anIO->getEntry());
- anObj = SObjectToObject(aSObj,aStudy);
+ _PTR(SObject) aSObj = getStudy()->FindObjectID(anIO->getEntry());
+ anObj = SObjectToObject(aSObj);
}
}
}
return NULL;
}
- _PTR(Study) GetActiveStudyDocument()
+ _PTR(Study) getStudy()
{
- SalomeApp_Study* aStudy = dynamic_cast<SalomeApp_Study*>(GetActiveStudy());
- if (aStudy)
- return aStudy->studyDS();
- else
- return _PTR(Study)();
+ static _PTR(Study) _study;
+ if(!_study)
+ _study = SalomeApp_Application::getStudy();
+ return _study;
}
_PTR(SObject) FindSObject (CORBA::Object_ptr theObject)
SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>
(SUIT_Session::session()->activeApplication());
if (app && !CORBA::is_nil(theObject)) {
- if(_PTR(Study) aStudy = GetActiveStudyDocument()){
- CORBA::String_var anIOR = app->orb()->object_to_string(theObject);
- if (strcmp(anIOR.in(), "") != 0)
- return aStudy->FindObjectIOR(anIOR.in());
- }
+ CORBA::String_var anIOR = app->orb()->object_to_string(theObject);
+ if (strcmp(anIOR.in(), "") != 0)
+ return getStudy()->FindObjectIOR(anIOR.in());
}
return _PTR(SObject)();
}
void SetName (_PTR(SObject) theSObject, const QString& theName)
{
- _PTR(Study) aStudy = GetActiveStudyDocument();
- if (aStudy->GetProperties()->IsLocked())
+ if (getStudy()->GetProperties()->IsLocked())
return;
SMESHGUI::GetSMESHGen()->SetName(theSObject->GetIOR().c_str(), theName.toLatin1().data());
}
void SetValue (_PTR(SObject) theSObject, const QString& theValue)
{
- _PTR(Study) aStudy = GetActiveStudyDocument();
+ _PTR(Study) aStudy = getStudy();
if (aStudy->GetProperties()->IsLocked())
return;
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
void setFileName (_PTR(SObject) theSObject, const QString& theValue)
{
- _PTR(Study) aStudy = GetActiveStudyDocument();
+ _PTR(Study) aStudy = getStudy();
if (aStudy->GetProperties()->IsLocked())
return;
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
void setFileType (_PTR(SObject) theSObject, const QString& theValue)
{
- _PTR(Study) aStudy = GetActiveStudyDocument();
+ _PTR(Study) aStudy = getStudy();
if (aStudy->GetProperties()->IsLocked())
return;
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
aFileType->SetValue(theValue.toLatin1().data());
}
- CORBA::Object_var SObjectToObject (_PTR(SObject) theSObject,
- _PTR(Study) /*theStudy*/)
+ CORBA::Object_var SObjectToObject (_PTR(SObject) theSObject )
{
SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>
(SUIT_Session::session()->activeApplication());
return CORBA::Object::_nil();
}
- CORBA::Object_var SObjectToObject (_PTR(SObject) theSObject)
- {
- _PTR(Study) aStudy;// = GetActiveStudyDocument(); -- aStudy is not used
- return SObjectToObject(theSObject,aStudy);
- }
-
_PTR(SObject) ObjectToSObject( CORBA::Object_ptr theObject )
{
_PTR(SObject) res;
(SUIT_Session::session()->activeApplication());
if ( app ) {
CORBA::String_var ior = app->orb()->object_to_string( theObject );
- SalomeApp_Study* study = dynamic_cast<SalomeApp_Study*>( app->activeStudy() );
- if ( study && strlen( ior ) > 0 )
- res = study->studyDS()->FindObjectIOR( ior.in() );
+ if ( strlen( ior ) > 0 )
+ res = getStudy()->FindObjectIOR( ior.in() );
}
return res;
}
{
if (!theIO.IsNull()) {
if (theIO->hasEntry()) {
- _PTR(Study) aStudy = GetActiveStudyDocument();
- _PTR(SObject) anObj = aStudy->FindObjectID(theIO->getEntry());
- return SObjectToObject(anObj,aStudy);
+ _PTR(SObject) anObj = getStudy()->FindObjectID(theIO->getEntry());
+ return SObjectToObject(anObj);
}
}
return CORBA::Object::_nil();
void ModifiedMesh (_PTR(SObject) theSObject, bool theIsNotModif, bool isEmptyMesh)
{
- _PTR(Study) aStudy = GetActiveStudyDocument();
- if ( !aStudy || aStudy->GetProperties()->IsLocked() )
+ _PTR(Study) aStudy = getStudy();
+ if ( !aStudy || aStudy->GetProperties()->IsLocked())
return;
_PTR(StudyBuilder) aBuilder = aStudy->NewBuilder();
aPixmap = anAttr;
std::string entry = aSObj1->GetID();
- int objType = SMESHGUI_Selection::type( entry.c_str(), aStudy );
+ int objType = SMESHGUI_Selection::type( entry.c_str() );
if ( objType == SMESH::HYPOTHESIS || objType == SMESH::ALGORITHM )
continue;