Salome HOME
Issue #1063: Problem of dynamic cast on Linux for Selection validators is solved
[modules/shaper.git] / src / XGUI / XGUI_PropertyPanel.cpp
index f75ca242bb7db523fdb59c0a5120dc2d64077cc2..57f55e9d9c7a1becebae3622b9248a86c3768726 100755 (executable)
@@ -243,13 +243,15 @@ void XGUI_PropertyPanel::activateNextWidget()
 
 void XGUI_PropertyPanel::activateWidget(ModuleBase_ModelWidget* theWidget)
 {
+  std::string aPreviosAttributeID;
+  if(myActiveWidget)
+    aPreviosAttributeID = myActiveWidget->attributeID();
+
   // Avoid activation of already actve widget. It could happen on focusIn event many times
   if (setActiveWidget(theWidget)) {
-    if (myActiveWidget) {
-      emit widgetActivated(myActiveWidget);
-    } else if (!isEditingMode()) {
-      emit noMoreWidgets();
-      //setFocusOnOkButton();
+    emit widgetActivated(myActiveWidget);
+    if (!myActiveWidget && !isEditingMode()) {
+      emit noMoreWidgets(aPreviosAttributeID);
     }
   }
 }
@@ -260,7 +262,9 @@ bool XGUI_PropertyPanel::setActiveWidget(ModuleBase_ModelWidget* theWidget)
   if (theWidget == myActiveWidget) {
     return false;
   }
+  std::string aPreviosAttributeID;
   if(myActiveWidget) {
+    aPreviosAttributeID = myActiveWidget->attributeID();
     myActiveWidget->deactivate();
     myActiveWidget->setHighlighted(false);
   }