-// Copyright (C) 2014-2020 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2024 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
ModuleBase_PagedContainer::ModuleBase_PagedContainer(QWidget* theParent,
const Config_WidgetAPI* theData)
: ModuleBase_ModelWidget(theParent, theData),
- myRemeberChoice(true), myIsFocusOnCurrentPage(false), myIsFirst(true)
+ myRemeberChoice(true), myIsFocusOnCurrentPage(false)
{
// it is not obligatory to be ignored when property panel tries to activate next active widget
// but if focus is moved to this control, it can accept it.
AttributeStringPtr aStringAttr = aData->string(attributeID());
QString aCaseId;
if (aStringAttr->isInitialized()) {
- if (myIsEditing)
- aCaseId = QString::fromStdString(aStringAttr->value());
- else
- aCaseId = QString::fromStdString(aDefVal.empty() ? aStringAttr->value() : aDefVal);
- if (myIsFirst)
- storeValueCustom();
+ aCaseId = QString::fromStdString(aStringAttr->value());
int idx = myCaseIds.indexOf(aCaseId);
if (idx == -1)
idx = currentPageIndex();
setCurrentPageIndex(idx);
+ if (aStringAttr->value() != aCaseId.toStdString())
+ storeValueCustom();
}
else {
// It is added because if user edits the feature created from Python
AttributeStringPtr aStringAttr = aData->string(attributeID());
std::string aWidgetValue;
- if (myIsFirst)
+ if (!aStringAttr->isInitialized())
aWidgetValue = myDefValue.empty()?
myCaseIds.at(currentPageIndex()).toStdString() : myDefValue;
else
myDefValue = aWidgetValue;
aStringAttr->setValue(aWidgetValue);
- myIsFirst = false;
-
updateObject(myFeature); // for preview
return true;
}