QString MeasureCountFilter::getImageDescription() const { QString description = AbstractFilter::getImageDescription(); if (getMinForSuccess() == 1) { description += "point that "; if (!inclusive()) description += "doesn't have"; description += "has "; } else { description += "points that "; if (!inclusive()) description += "don't "; description += "have "; } description += "at "; if (minimum) description += "least "; else description += "most "; description += QString::number(count) + " measures"; return description; }
bool AbstractNumberFilter::evaluate(double number) const { bool evaluation = true; // multiple threads reading the m_lineEditText so lock it QString text = *m_lineEditText; bool ok = false; double d = text.toDouble(&ok); if (ok) evaluation = !(inclusive() ^ lessThan() ^(d <= number)); return evaluation; }
QString AbstractStringFilter::descriptionSuffix() const { QString suffix; if (inclusive()) suffix += "containing \""; else suffix += "not containing \""; suffix += *lineEditText; suffix += "\""; return suffix; }
QString AbstractNumberFilter::descriptionSuffix() const { QString suffix; if (!inclusive()) suffix += "not "; if (lessThan()) suffix += "less than or equal to \""; else suffix += "greater than or equal to \""; suffix += *m_lineEditText; suffix += "\""; return suffix; }
bool AbstractStringFilter::evaluate(QString str) const { bool evaluation = true; // multiple threads reading the lineEditText so lock it QString text = *lineEditText; if (text.size() >= 1) { bool match = str.contains(text, Qt::CaseInsensitive); // inclusive() and match must either be both true or both false evaluation = !(inclusive() ^ match); } return evaluation; }
QString MeasureCountFilter::getPointDescription() const { QString description; if (!inclusive()) description = "don't "; description = "have at "; if (minimum) description += "least "; else description += "most "; description += QString::number(count) + " measures"; return description; }