SALOMEDSImpl_SComponent so = _study->GetSComponent (NL);
if(_callbackOnAdd) _callbackOnAdd->OnAddSObject(so);
+ _study->addSO_Notification(so);
_doc->SetModified(true);
SALOMEDSImpl_SObject so = _study->GetSObject(NewLab);
if(_callbackOnAdd) _callbackOnAdd->OnAddSObject(so);
+ _study->addSO_Notification(so);
_doc->SetModified(true);
return so;
SALOMEDSImpl_SObject so = _study->GetSObject(NewLab);
if(_callbackOnAdd) _callbackOnAdd->OnAddSObject(so);
+ _study->addSO_Notification(so);
_doc->SetModified(true);
return so;
Lab.ForgetAllAttributes();
_doc->SetModified(true);
+ _study->removeSO_Notification(anObject);
return true;
}
Lab.ForgetAllAttributes(true);
_doc->SetModified(true);
+ _study->removeSO_Notification(anObject);
return true;
}
char aMultifileState[2];
char ASCIIfileState[2];
+ bool hasModuleData = false;
try {
std::string scoid = anSCO.GetID();
hdf_file->OpenOnDisk(HDF_RDONLY);
hdf_group->OpenOnDisk();
HDFgroup *hdf_sco_group = new HDFgroup((char*)scoid.c_str(), hdf_group);
hdf_sco_group->OpenOnDisk();
+ hasModuleData = true;
unsigned char* aStreamFile = NULL;
int aStreamSize = 0;
std::string aDir = SALOMEDSImpl_Tool::GetDirFromPath(Res);
- bool aResult = (ASCIIfileState[0]=='A')?
+ bool aResult = true;
+ if(aStreamFile && aStreamSize > 0 ) {
+ aResult = (ASCIIfileState[0]=='A')?
aDriver->LoadASCII(anSCO, aStreamFile, aStreamSize, aDir.c_str(), aMultifileState[0]=='M'):
aDriver->Load(anSCO, aStreamFile, aStreamSize, aDir.c_str(), aMultifileState[0]=='M');
+ }
if(aStreamFile != NULL) delete []aStreamFile;
}
if (aLocked) _study->GetProperties()->SetLocked(true);
+
+ if (!hasModuleData)
+ return true;
+
_errorCode = "No persistent file";
return false;
}
Lab.ForgetAttribute (SALOMEDSImpl_SObject::GetGUID(aTypeOfAttribute));
_doc->SetModified(true);
+ _study->modifySO_Notification(anObject);
return true;
}