From 1e596f964c65ddec1303cebf9128e26df2379d90 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Tue, 13 Dec 2022 15:04:36 +0800 Subject: [PATCH] Cabana: add not equal (!=) filter (#26780) add not equal filter --- tools/cabana/historylog.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/cabana/historylog.cc b/tools/cabana/historylog.cc index 7cd974ad08..3e456e44e9 100644 --- a/tools/cabana/historylog.cc +++ b/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 cmp; switch (comp_box->currentIndex()) { case 0: cmp = std::greater{}; break; case 1: cmp = std::equal_to{}; break; - case 2: cmp = std::less{}; break; + case 2: cmp = not_equal; break; + case 3: cmp = std::less{}; break; } model->setFilter(signals_cb->currentIndex(), value_edit->text(), cmp); }