11 #include <QDoubleSpinBox>
12 #include <QGridLayout>
13 #include <QHBoxLayout>
17 #include <QRegularExpression>
19 #include <QVBoxLayout>
61 QMap<QString, QString>
values()
const;
80 QMap<QString, QLineEdit*> m_lineEdits;
109 const QMap<QString, int>& arrayComponents,
131 void onTermChanged(
int index);
132 void onOperatorChanged(
int index);
135 void populateOperators(
TermType termType);
136 void updateValueWidget();
138 QString currentTerm()
const;
140 void setCurrentTerm(
const QString& term);
143 void addOperator(
const QString& text,
145 const QString& expressionTemplate);
148 void addTerm(
const QString& text,
150 const QString& internalName);
152 QComboBox* m_termCombo;
153 QComboBox* m_operatorCombo;
157 static constexpr
int TermTypeRole = Qt::UserRole;
158 static constexpr
int NameRole = Qt::UserRole + 1;
159 static constexpr
int ValueTypeRole = Qt::UserRole;
160 static constexpr
int ExprTemplateRole = Qt::UserRole + 1;
161 static constexpr
int ExprRegExRole = Qt::UserRole + 2;
174 const QMap<QString, QString>& values);
179 QRegularExpression
createRegex(
const QString& templateStr);
186 QStringList
splitByAnd(
const QString& expression);
Helper functions for expression formatting and parsing.
QStringList splitByAnd(const QString &expression)
QString formatExpression(const QString &templateStr, const QMap< QString, QString > &values)
QRegularExpression createRegex(const QString &templateStr)