Skip to content

Commit bdce361

Browse files
committed
ENH: Add CLI Module translation helpers.
1 parent 81f2f06 commit bdce361

File tree

3 files changed

+23
-11
lines changed

3 files changed

+23
-11
lines changed

Base/QTCLI/qSlicerCLIModuleUIHelper.cxx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <QRadioButton>
1818
#include <QSpinBox>
1919
#include <QToolButton>
20+
#include <QCoreApplication>
2021
#include <QSizePolicy>
2122

2223
// CTK includes
@@ -184,7 +185,7 @@ class qSlicerCLIModuleUIHelperPrivate
184185
QWidget* createPointTagWidget(const ModuleParameter& moduleParameter);
185186
QWidget* createPointFileTagWidget(const ModuleParameter& moduleParameter);
186187
QWidget* createRegionTagWidget(const ModuleParameter& moduleParameter);
187-
QWidget* createImageTagWidget(const ModuleParameter& moduleParameter);
188+
QWidget* createImageTagWidget(const QString moduleName, const ModuleParameter& moduleParameter);
188189
QWidget* createGeometryTagWidget(const ModuleParameter& moduleParameter);
189190
QWidget* createTableTagWidget(const ModuleParameter& moduleParameter);
190191
QWidget* createTransformTagWidget(const ModuleParameter& moduleParameter);
@@ -623,7 +624,7 @@ QWidget* qSlicerCLIModuleUIHelperPrivate::createRegionTagWidget(const ModulePara
623624
}
624625

625626
//-----------------------------------------------------------------------------
626-
QWidget* qSlicerCLIModuleUIHelperPrivate::createImageTagWidget(const ModuleParameter& moduleParameter)
627+
QWidget* qSlicerCLIModuleUIHelperPrivate::createImageTagWidget(const QString moduleName, const ModuleParameter& moduleParameter)
627628
{
628629
QString channel = QString::fromStdString(moduleParameter.GetChannel());
629630
if (channel != "input" && channel != "output")
@@ -664,6 +665,7 @@ QWidget* qSlicerCLIModuleUIHelperPrivate::createImageTagWidget(const ModuleParam
664665

665666
// TODO - title + " Volume"
666667

668+
QString lbl = QCoreApplication::translate(moduleName.toLatin1(), moduleParameter.GetLabel().c_str());
667669
QString imageLabel = QString::fromStdString(moduleParameter.GetLabel());
668670
QString imageName = QString::fromStdString(moduleParameter.GetName());
669671

@@ -682,13 +684,14 @@ QWidget* qSlicerCLIModuleUIHelperPrivate::createImageTagWidget(const ModuleParam
682684
// created node.
683685
widget->setAddEnabled(channel != "input");
684686
widget->setRenameEnabled(true);
685-
widget->setBaseName(imageLabel);
686687
widget->setMRMLScene(this->CLIModuleWidget->mrmlScene());
687688

688689
QObject::connect(this->CLIModuleWidget, SIGNAL(mrmlSceneChanged(vtkMRMLScene*)),
689690
widget, SLOT(setMRMLScene(vtkMRMLScene*)));
690691

691-
INSTANCIATE_WIDGET_VALUE_WRAPPER(Image, imageName, imageLabel, widget);
692+
INSTANCIATE_WIDGET_VALUE_WRAPPER(Image, imageName, lbl, widget);
693+
694+
widget->setBaseName(lbl);
692695

693696
return widget;
694697
}
@@ -992,7 +995,7 @@ qSlicerCLIModuleUIHelper::~qSlicerCLIModuleUIHelper()
992995
}
993996

994997
//-----------------------------------------------------------------------------
995-
QWidget* qSlicerCLIModuleUIHelper::createTagWidget(const ModuleParameter& moduleParameter)
998+
QWidget* qSlicerCLIModuleUIHelper::createTagWidget(const QString moduleName, const ModuleParameter& moduleParameter)
996999
{
9971000
Q_D(qSlicerCLIModuleUIHelper);
9981001

@@ -1038,7 +1041,7 @@ QWidget* qSlicerCLIModuleUIHelper::createTagWidget(const ModuleParameter& module
10381041
}
10391042
else if (moduleParameter.GetTag() == "image")
10401043
{
1041-
widget = d->createImageTagWidget(moduleParameter);
1044+
widget = d->createImageTagWidget(moduleName, moduleParameter);
10421045
}
10431046
else if (moduleParameter.GetTag() == "geometry")
10441047
{
@@ -1074,7 +1077,8 @@ QWidget* qSlicerCLIModuleUIHelper::createTagWidget(const ModuleParameter& module
10741077

10751078
if (widget)
10761079
{
1077-
QString description = QString::fromStdString(moduleParameter.GetDescription());
1080+
QString description = QCoreApplication::translate(moduleName.toLatin1(), moduleParameter.GetDescription().c_str());
1081+
10781082
widget->setToolTip(description);
10791083
QString widgetName = QString::fromStdString(moduleParameter.GetName());
10801084
widget->setObjectName(widgetName);

Base/QTCLI/qSlicerCLIModuleUIHelper.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class Q_SLICER_BASE_QTCLI_EXPORT qSlicerCLIModuleUIHelper: public QObject
112112
/// The caller is responsible to delete the widget.
113113
/// Note also that if the widget is added to a layout, Qt will
114114
/// be responsible to delete the widget.
115-
QWidget* createTagWidget(const ModuleParameter& moduleParameter);
115+
QWidget* createTagWidget(const QString moduleName, const ModuleParameter& moduleParameter);
116116

117117
///
118118
/// Update \a commandLineModuleNode properties using value entered from the UI

Base/QTCLI/qSlicerCLIModuleWidget.cxx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ void qSlicerCLIModuleWidgetPrivate::setupUi(qSlicerWidget* widget)
8181
this->logic()->GetDefaultModuleDescription().GetTitle());
8282
this->ModuleCollapsibleButton->setText(title);
8383

84+
QString type = QString::fromStdString(
85+
this->logic()->GetDefaultModuleDescription().GetType());
86+
qSlicerAbstractCoreModule* coreModule = const_cast<qSlicerAbstractCoreModule*>(q->module());
87+
88+
8489
this->MRMLCommandLineModuleNodeSelector->setBaseName(title);
8590
/// Use the title of the CLI to filter all the command line module node
8691
/// It is not very robust but there shouldn't be twice the same title.
@@ -289,14 +294,17 @@ void qSlicerCLIModuleWidgetPrivate::addParameter(QFormLayout* _layout,
289294
const ModuleParameter& moduleParameter)
290295
{
291296
Q_ASSERT(_layout);
297+
Q_Q(qSlicerCLIModuleWidget);
292298

293299
if (moduleParameter.GetHidden() == "true")
294300
{
295301
return;
296302
}
297303

298-
QString _label = QString::fromStdString(moduleParameter.GetLabel());
299-
QString description = QString::fromStdString(moduleParameter.GetDescription());
304+
qSlicerAbstractCoreModule* coreModule = const_cast<qSlicerAbstractCoreModule*>(q->module());
305+
QString moduleName = coreModule->name();
306+
QString _label = QCoreApplication::translate(moduleName.toLatin1(), moduleParameter.GetLabel().c_str());
307+
QString description = QCoreApplication::translate(moduleName.toLatin1(), moduleParameter.GetDescription().c_str());
300308

301309
// TODO Parameters with flags can support the None node because they are optional
302310
//int noneEnabled = 0;
@@ -308,7 +316,7 @@ void qSlicerCLIModuleWidgetPrivate::addParameter(QFormLayout* _layout,
308316
QLabel* widgetLabel = new QLabel(_label);
309317
widgetLabel->setToolTip(description);
310318

311-
QWidget * widget = this->CLIModuleUIHelper->createTagWidget(moduleParameter);
319+
QWidget * widget = this->CLIModuleUIHelper->createTagWidget(coreModule->name(), moduleParameter);
312320

313321
_layout->addRow(widgetLabel, widget);
314322
}

0 commit comments

Comments
 (0)