Salome HOME
[bos #29947] [CEA 29944] SIGSEGV using filet
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetRadiobox.cpp
index f939ad513bcde9b2e3a1aecdf057bb2ba3ab8289..bcb3abe901bb2ec653dd66de31f33eb49f7e98e2 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2022  CEA/DEN, EDF R&D
 //
 // 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_WidgetRadiobox.h>
 #include <ModuleBase_PageBase.h>
 
+#include <Config_WidgetAPI.h>
+
 #include <QFormLayout>
 #include <QRadioButton>
 #include <QFrame>
 #include <QButtonGroup>
 
-
 ModuleBase_WidgetRadiobox::ModuleBase_WidgetRadiobox(QWidget* theParent,
                                                      const Config_WidgetAPI* theData)
   : ModuleBase_PagedContainer(theParent, theData)
@@ -36,6 +36,8 @@ ModuleBase_WidgetRadiobox::ModuleBase_WidgetRadiobox(QWidget* theParent,
   myGroup = new QButtonGroup(this);
   myGroup->setExclusive(true);
 
+  myVerticalAlignment = theData->getProperty("align_subs").find("vert") == 0;
+
   connect(myGroup, SIGNAL(buttonToggled(int, bool)), SLOT(onPageChanged()));
 }
 
@@ -57,11 +59,11 @@ int ModuleBase_WidgetRadiobox::addPage(ModuleBase_PageBase* thePage,
   QRadioButton* aButton;
   if (theIcon.isNull()) {
     aButton = new QRadioButton(theName, aWgt);
-    aButton->setToolTip(theTooltip);
+    aButton->setToolTip(translate(theTooltip.toStdString()));
   }
   else {
     aButton = new QRadioButton(aWgt);
-    aButton->setToolTip(theName);
+    aButton->setToolTip(translate(theName.toStdString()));
   }
   aLay->addStretch();
   aLay->addWidget(aButton);
@@ -69,7 +71,11 @@ int ModuleBase_WidgetRadiobox::addPage(ModuleBase_PageBase* thePage,
 
   //QFrame* aFrame = dynamic_cast<QFrame*>(thePage);
   QWidget* aPage = thePage->pageWidget();
-  myLayout->addRow(aWgt, aPage);
+  if (myVerticalAlignment) {
+    myLayout->addRow(aWgt);
+    myLayout->addRow(aPage);
+  } else
+    myLayout->addRow(aWgt, aPage);
   myGroup->addButton(aButton, myGroup->buttons().count());
 
   bool isDefault = theCaseId.toStdString() == getDefaultValue();