-// Copyright (C) 2014-2017 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
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include <ModuleBase_PagedContainer.h>
ModuleBase_PagedContainer::ModuleBase_PagedContainer(QWidget* theParent,
const Config_WidgetAPI* theData)
: ModuleBase_ModelWidget(theParent, theData),
- myIsFocusOnCurrentPage(false), myIsFirst(true), myRemeberChoice(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.
}
int ModuleBase_PagedContainer::addPage(ModuleBase_PageBase* thePage,
- const QString& theName, const QString& theCaseId,
- const QPixmap& theIcon,
- const QString& theTooltip)
+ const QString& /*theName*/,
+ const QString& theCaseId,
+ const QPixmap& /*theIcon*/,
+ const QString& /*theTooltip*/)
{
if (!myPages.count()) {
setDefaultValue(theCaseId.toStdString());
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);
- myIsFirst = false;
+ 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;
}