Salome HOME
Issue #2388: Take into account attribute ID for remembering of a user choice
authorvsv <vsv@opencascade.com>
Mon, 15 Jan 2018 12:21:01 +0000 (15:21 +0300)
committervsv <vsv@opencascade.com>
Mon, 15 Jan 2018 12:21:01 +0000 (15:21 +0300)
src/ModuleBase/ModuleBase_PagedContainer.cpp
src/ModuleBase/ModuleBase_WidgetChoice.cpp
src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp

index 27c685f8b3bfe7e3d0923ac681f292e3452816a0..8ba5a314ea7f35d8a129f2ea36473cee22a0ed98 100644 (file)
@@ -40,8 +40,8 @@ ModuleBase_PagedContainer::ModuleBase_PagedContainer(QWidget* theParent,
   // 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.
   myIsObligatory = false;
-  if (defaultValues.contains(myFeatureId))
-    myDefValue = defaultValues[myFeatureId];
+  if (defaultValues.contains(myFeatureId + attributeID()))
+    myDefValue = defaultValues[myFeatureId + attributeID()];
 }
 
 ModuleBase_PagedContainer::~ModuleBase_PagedContainer()
@@ -150,6 +150,6 @@ void ModuleBase_PagedContainer::onPageChanged()
 
 void ModuleBase_PagedContainer::onFeatureAccepted()
 {
-  defaultValues[myFeatureId] = myDefValue;
+  defaultValues[myFeatureId + attributeID()] = myDefValue;
 }
 
index 9d48799b68ab0713ec6e64934d134ad6d54f8870..ea04160b52f36ff0e1af50ffa770e24f68448f57 100644 (file)
@@ -44,9 +44,9 @@ ModuleBase_WidgetChoice::ModuleBase_WidgetChoice(QWidget* theParent,
                                                  const Config_WidgetAPI* theData)
 : ModuleBase_ModelWidget(theParent, theData), myIsFirst(true)
 {
-  myHasValue = defaultValues.contains(myFeatureId);
+  myHasValue = defaultValues.contains(myFeatureId + attributeID());
   if (myHasValue)
-    myDefValue = defaultValues[myFeatureId];
+    myDefValue = defaultValues[myFeatureId + attributeID()];
   else
     myDefValue = 0;
 
@@ -177,5 +177,5 @@ void ModuleBase_WidgetChoice::onCurrentIndexChanged(int theIndex)
 
 void ModuleBase_WidgetChoice::onFeatureAccepted()
 {
-  defaultValues[myFeatureId] = myDefValue;
+  defaultValues[myFeatureId + attributeID()] = myDefValue;
 }
index a13bdf1d04aa89dced3c5d099b9e53f3370d2620..17c9f5b6c94cb92d17218805d0a6d6e666043b5b 100755 (executable)
@@ -160,8 +160,8 @@ ModuleBase_WidgetMultiSelector::ModuleBase_WidgetMultiSelector(QWidget* theParen
 
   myIsNeutralPointClear = theData->getBooleanAttribute("clear_in_neutral_point", true);
   if (myShapeTypes.size() > 1 || myIsUseChoice) {
-    if (defaultValues.contains(myFeatureId)) {
-      myDefMode = defaultValues[myFeatureId];
+    if (defaultValues.contains(myFeatureId + attributeID())) {
+      myDefMode = defaultValues[myFeatureId + attributeID()];
       myTypeCtrl->setValue(myDefMode.c_str());
     }
   }
@@ -990,5 +990,5 @@ QList<ActionInfo>
 
 void ModuleBase_WidgetMultiSelector::onFeatureAccepted()
 {
-  defaultValues[myFeatureId] = myDefMode;
+  defaultValues[myFeatureId + attributeID()] = myDefMode;
 }