-// 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)
myGroup = new QButtonGroup(this);
myGroup->setExclusive(true);
+ myVerticalAlignment = theData->getProperty("align_subs").find("vert") == 0;
+
connect(myGroup, SIGNAL(buttonToggled(int, bool)), SLOT(onPageChanged()));
}
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 = new QRadioButton(aWgt);
- aButton->setToolTip(theName);
+ QRadioButton* aButton;
+ if (theIcon.isNull()) {
+ aButton = new QRadioButton(theName, aWgt);
+ aButton->setToolTip(translate(theTooltip.toStdString()));
+ }
+ else {
+ aButton = new QRadioButton(aWgt);
+ 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();