|
|
|
@ -63,7 +63,13 @@ bool ExprEvaluator::evaluate(QObject *object, const QString &exp)
|
|
|
|
|
QString oper;
|
|
|
|
|
QVariant cond;
|
|
|
|
|
parseExpr(exp, value, oper, cond, object);
|
|
|
|
|
return m_operations[oper](value, cond);
|
|
|
|
|
|
|
|
|
|
if (cond.isValid())
|
|
|
|
|
{
|
|
|
|
|
return m_operations[oper](value, cond);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -87,6 +93,10 @@ void ExprEvaluator::parseExpr(const QString &exp, QVariant &value, QString &oper
|
|
|
|
|
QStringList expCat = exp.trimmed().split(" ");
|
|
|
|
|
value = object->property(expCat[0].toStdString().c_str());
|
|
|
|
|
oper = expCat[1];
|
|
|
|
|
condition = expCat[2].replace("%20", " ");
|
|
|
|
|
|
|
|
|
|
if (expCat.size() > 2)
|
|
|
|
|
{
|
|
|
|
|
condition = expCat[2].replace("%20", " ");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|