Salome HOME
updated copyright message
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetRadiobox.cpp
index 11f4a0642c9680df17838ab145d15c31e18bc0a1..c091a8433a5dc4222c2bb37b1244aa50bd7ce674 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023  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_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()));
 }
 
@@ -46,26 +48,34 @@ ModuleBase_WidgetRadiobox::~ModuleBase_WidgetRadiobox()
 int ModuleBase_WidgetRadiobox::addPage(ModuleBase_PageBase* thePage,
                                         const QString& theName,
                                         const QString& theCaseId,
-                                        const QPixmap& theIcon)
+                                        const QPixmap& theIcon,
+                                        const QString& theTooltip)
 {
-  ModuleBase_PagedContainer::addPage(thePage, theName, theCaseId, theIcon);
+  ModuleBase_PagedContainer::addPage(thePage, theName, theCaseId, theIcon, theTooltip);
   QWidget* aWgt = new QWidget(this);
   QVBoxLayout* aLay = new QVBoxLayout(aWgt);
   aLay->setContentsMargins(0, 0, 0, 0);
 
   QRadioButton* aButton;
-  if (theIcon.isNull())
+  if (theIcon.isNull()) {
     aButton = new QRadioButton(theName, aWgt);
-  else
+    aButton->setToolTip(translate(theTooltip.toStdString()));
+  }
+  else {
     aButton = new QRadioButton(aWgt);
-  aButton->setToolTip(theName);
+    aButton->setToolTip(translate(theName.toStdString()));
+  }
   aLay->addStretch();
   aLay->addWidget(aButton);
   aLay->addStretch();
 
   //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();