8#include <QRegularExpressionValidator>
13std::string
OR(
const std::string &lhs,
const std::string &
rhs) {
return "(" + lhs +
"|" +
rhs +
")"; }
14std::string NATURAL_NUMBER_WITH_PRECISION(std::size_t digits) {
18const std::string EMPTY =
"^$";
19const std::string
SPACE =
"(\\s)*";
21const std::string DASH =
"\\-";
24const std::string NATURAL_NUMBER =
"(0|[1-9][0-9]*)";
25const std::string REAL_NUMBER =
"(-?" + NATURAL_NUMBER +
"(\\.[0-9]*)?)";
26const std::string REAL_RANGE =
"(" + REAL_NUMBER +
COMMA + REAL_NUMBER +
")";
27const std::string NUMBER = NATURAL_NUMBER_WITH_PRECISION(4);
28const std::string NATURAL_RANGE =
"(" + NUMBER + DASH + NUMBER +
")";
29const std::string NATURAL_OR_RANGE =
OR(NATURAL_RANGE, NUMBER);
32const std::string MASK_LIST =
"(" + REAL_RANGE +
"(" +
COMMA + REAL_RANGE +
")*" +
")|" + EMPTY;
33const std::string SPECTRA_LIST =
"(" + NATURAL_OR_RANGE +
"(" +
COMMA + NATURAL_OR_RANGE +
")*)";
37namespace MantidWidgets {
40 switch (validatorMask) {
46 throw std::logic_error(
"Invalid or Missing Validator String");
53 : QStyledItemDelegate(parent),
m_validator(QRegularExpression(QString::fromStdString(validator))) {}
56 const QModelIndex & )
const {
57 auto lineEdit =
new QLineEdit(parent);
58 auto validator =
new QRegularExpressionValidator(
m_validator, parent);
59 lineEdit->setValidator(validator);
64 : QStyledItemDelegate(parent), m_precision(precision) {}
68 auto lineEdit =
new QLineEdit(parent);
69 auto validator =
new QDoubleValidator(parent);
72 validator->setNotation(QDoubleValidator::StandardNotation);
73 lineEdit->setValidator(validator);
Kernel::IValidator_sptr m_validator
const std::vector< double > & rhs
double value
The value of the point.
std::map< DeltaEMode::Type, std::string > index
The AlgorithmProgressDialogPresenter keeps track of the running algorithms and displays a progress ba...
std::string to_string(const wide_integer< Bits, Signed > &n)