Cabana: add not equal (!=) filter (#26780)

add not equal filter
pull/26782/head
Dean Lee 3 years ago committed by GitHub
parent cecef89124
commit 1e596f964c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      tools/cabana/historylog.cc

@ -169,7 +169,7 @@ LogsWidget::LogsWidget(QWidget *parent) : QWidget(parent) {
signals_cb = new QComboBox(this);
h->addWidget(signals_cb);
comp_box = new QComboBox();
comp_box->addItems({">", "=", "<"});
comp_box->addItems({">", "=", "!=", "<"});
h->addWidget(comp_box);
value_edit = new QLineEdit(this);
value_edit->setClearButtonEnabled(true);
@ -204,12 +204,17 @@ void LogsWidget::setMessage(const QString &message_id) {
blockSignals(false);
}
static bool not_equal(double l, double r) {
return l != r;
}
void LogsWidget::setFilter() {
std::function<bool(double, double)> cmp;
switch (comp_box->currentIndex()) {
case 0: cmp = std::greater<double>{}; break;
case 1: cmp = std::equal_to<double>{}; break;
case 2: cmp = std::less<double>{}; break;
case 2: cmp = not_equal; break;
case 3: cmp = std::less<double>{}; break;
}
model->setFilter(signals_cb->currentIndex(), value_edit->text(), cmp);
}

Loading…
Cancel
Save