##// END OF EJS Templates
Unplot menu (5): adds contains() method to an IVariableContainer...
Unplot menu (5): adds contains() method to an IVariableContainer The method will be used to generate an action in the 'unplot' menu, depending on whether or not the container contains the variable

File last commit:

r267:7ca994d5565d
r301:87af69bdce8a
Show More
VariableMenuHeaderWidget.cpp
38 lines | 1.2 KiB | text/x-c | CppLexer
/ gui / src / Variable / VariableMenuHeaderWidget.cpp
#include "Variable/VariableMenuHeaderWidget.h"
#include "Variable/Variable.h"
#include <ui_VariableMenuHeaderWidget.h>
Q_LOGGING_CATEGORY(LOG_VariableMenuHeaderWidget, "VariableMenuHeaderWidget")
VariableMenuHeaderWidget::VariableMenuHeaderWidget(
const QVector<std::shared_ptr<Variable> > &variables, QWidget *parent)
: QWidget{parent}, ui{new Ui::VariableMenuHeaderWidget}
{
ui->setupUi(this);
// Generates label according to the state of the variables. The label contains :
// - the variable name if there is only one variable in the list
// - 'x variables' where x is the number of variables otherwise
const auto nbVariables = variables.size();
if (nbVariables == 1) {
if (auto variable = variables.first()) {
ui->label->setText(variable->name());
}
else {
qCCritical(LOG_VariableMenuHeaderWidget())
<< tr("Can't get the name of the variable : variable is null");
}
}
else if (nbVariables > 1) {
ui->label->setText(tr("%1 variables").arg(nbVariables));
}
else {
ui->label->setText(tr("No variable"));
}
}
VariableMenuHeaderWidget::~VariableMenuHeaderWidget() noexcept
{
delete ui;
}