Salome HOME
Fix solvespace version number in environment.
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetChoice.cpp
index 3fed3ea5f661fba5dba5b5305e58c7d6b239f96c..d837c4f38b10efcf2ef81d38730bbaa74ec291db 100644 (file)
@@ -56,6 +56,7 @@ ModuleBase_WidgetChoice::ModuleBase_WidgetChoice(QWidget* theParent,
       int aId = 0;
       foreach(QString aBtnTxt, aList) {
         QToolButton* aBtn = new QToolButton(aGroupBox);
+        aBtn->setFocusPolicy(Qt::StrongFocus);
         aBtn->setCheckable(true);
         aBtn->setToolTip(aBtnTxt);
 
@@ -77,6 +78,7 @@ ModuleBase_WidgetChoice::ModuleBase_WidgetChoice(QWidget* theParent,
     }
     myButtons->button(0)->setChecked(true);
     connect(myButtons, SIGNAL(buttonClicked(int)), this, SLOT(onCurrentIndexChanged(int)));
+    connect(myButtons, SIGNAL(buttonClicked(int)), this, SIGNAL(itemSelected(int)));
   } else {
     myLabel = new QLabel(aLabelText, this);
     if (!aLabelIcon.isEmpty())
@@ -94,6 +96,7 @@ ModuleBase_WidgetChoice::ModuleBase_WidgetChoice(QWidget* theParent,
     myCombo->addItems(aList);
 
     connect(myCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(onCurrentIndexChanged(int)));
+    connect(myCombo, SIGNAL(currentIndexChanged(int)), this, SIGNAL(itemSelected(int)));
   }
 }
 
@@ -128,6 +131,7 @@ bool ModuleBase_WidgetChoice::restoreValueCustom()
       bool isBlocked = myButtons->blockSignals(true);
       myButtons->button(aIntAttr->value())->setChecked(true);
       myButtons->blockSignals(isBlocked);
+      emit itemSelected(aIntAttr->value());
     }
   }
   return true;
@@ -136,7 +140,7 @@ bool ModuleBase_WidgetChoice::restoreValueCustom()
 bool ModuleBase_WidgetChoice::focusTo()
 {
   if (myCombo)
-    myCombo->setFocus();
+    ModuleBase_Tools::setFocus(myCombo, "ModuleBase_WidgetChoice::focusTo()");
   else
     return false;
   return true;