-// Copyright (C) 2007-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2021 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
QString tooltip = tr("TIP_ADD_DATA_SOURCE");
QString icon = tr("ICO_DATASOURCE_ADD");
int actionId;
- actionId = _salomeModule->createStandardAction(label,this, SLOT(OnAddDatasource()),icon,tooltip);
+ actionId = _salomeModule->createStandardAction(label, this, SLOT(OnAddDatasource()),
+ icon, tooltip, FIELDSOp::OpAddDataSource);
_salomeModule->createTool(actionId, toolbarId);
// This action has to be placed in the general file menu with the label "Import MED file"
void DatasourceController::OnExpandField()
{
+ SALOMEDS::Study_var aStudy = KERNEL::getStudyServant();
+ // check if reference to study is valid
+ if (CORBA::is_nil(aStudy))
+ return;
+
+ // check if reference to use case builder is valid
+ SALOMEDS::UseCaseBuilder_var useCaseBuilder = aStudy->GetUseCaseBuilder();
+ if (CORBA::is_nil(useCaseBuilder))
+ return;
+
+
// Get the selected objects in the study (SObject)
SALOME_StudyEditor::SObjectList* listOfSObject = _studyEditor->getSelectedObjects();
- for (int i=0; i<listOfSObject->size(); i++) {
+ for (int i=0; i<(int)listOfSObject->size(); i++) {
SALOMEDS::SObject_var soFieldseries = listOfSObject->at(i);
std::string name(_studyEditor->getName(soFieldseries));
if (soFieldseries->_is_nil() || name == "MEDCalc")
// First retrieve the fieldseries id associated to this study object
SALOMEDS::GenericAttribute_var anAttr;
SALOMEDS::AttributeParameter_var aParam;
- if ( soFieldseries->FindAttribute(anAttr,"AttributeParameter") ) {
- aParam = SALOMEDS::AttributeParameter::_narrow(anAttr);
- if (! aParam->IsSet(FIELD_SERIES_ID, PT_INTEGER))
- return;
- }
+ if ( !soFieldseries->FindAttribute(anAttr,"AttributeParameter") )
+ return;
+ aParam = SALOMEDS::AttributeParameter::_narrow(anAttr);
+ if (! aParam->IsSet(FIELD_SERIES_ID, PT_INTEGER))
+ return;
long fieldseriesId = aParam->GetInt(FIELD_SERIES_ID);
STDLOG("Expand the field timeseries "<<fieldseriesId);
_studyEditor->setName(soField,label.c_str());
_studyEditor->setParameterInt(soField, FIELD_ID, fieldHandler.id);
_studyEditor->setParameterBool(soField,IS_IN_WORKSPACE,false);
+ useCaseBuilder->AppendTo(soField->GetFather(), soField);
}
}
_salomeModule->updateObjBrowser(true);
return;
SALOMEDS::GenericAttribute_var anAttr;
SALOMEDS::AttributeParameter_var aParam;
- if ( soField->FindAttribute(anAttr,"AttributeParameter") ) {
- aParam = SALOMEDS::AttributeParameter::_narrow(anAttr);
- if (! aParam->IsSet(IS_IN_WORKSPACE, PT_BOOLEAN))
- return;
- }
+ if ( !soField->FindAttribute(anAttr,"AttributeParameter") )
+ return;
+ aParam = SALOMEDS::AttributeParameter::_narrow(anAttr);
+ if (! aParam->IsSet(IS_IN_WORKSPACE, PT_BOOLEAN))
+ return;
bool isInWorkspace = aParam->GetBool(IS_IN_WORKSPACE);
if ( isInWorkspace ) {
QMessageBox::warning(_salomeModule->getApp()->desktop(),
else {
// In this case, we don't ask the user to specify an alias for
// each item, we just import the whole set of items.
- for (int i=0; i<listOfSObject->size(); i++) {
+ for (int i=0; i<(int)listOfSObject->size(); i++) {
SALOMEDS::SObject_var soField = listOfSObject->at(i);
if (soField->_is_nil())
continue;
SALOMEDS::GenericAttribute_var anAttr;
SALOMEDS::AttributeParameter_var aParam;
- if ( soField->FindAttribute(anAttr,"AttributeParameter") ) {
- aParam = SALOMEDS::AttributeParameter::_narrow(anAttr);
- if (! aParam->IsSet(IS_IN_WORKSPACE, PT_BOOLEAN))
- return;
- }
+ if ( !soField->FindAttribute(anAttr,"AttributeParameter") )
+ return;
+ aParam = SALOMEDS::AttributeParameter::_narrow(anAttr);
+ if (! aParam->IsSet(IS_IN_WORKSPACE, PT_BOOLEAN))
+ return;
bool isInWorkspace = aParam->GetBool(IS_IN_WORKSPACE);
if ( !isInWorkspace ) {
if (! aParam->IsSet(FIELD_ID, PT_INTEGER))