adding bus filter to filter utility

This commit is contained in:
Bertrand
2021-02-23 08:32:20 +01:00
parent 8e445b629f
commit 064a008dac
2 changed files with 41 additions and 4 deletions
+37 -2
View File
@@ -37,7 +37,7 @@ uint32_t FilterUtility::getGMLanSenderId(int32_t id)
return id & 0x1FFF; return id & 0x1FFF;
} }
QListWidgetItem * FilterUtility::createCheckableFilterItem(int32_t id, bool checked, QListWidget* parent) QListWidgetItem * FilterUtility::createCheckableFilterItem(uint32_t id, bool checked, QListWidget* parent)
{ {
QListWidgetItem * thisItem = createFilterItem(id,parent); QListWidgetItem * thisItem = createFilterItem(id,parent);
thisItem->setFlags(thisItem->flags() | Qt::ItemIsUserCheckable); thisItem->setFlags(thisItem->flags() | Qt::ItemIsUserCheckable);
@@ -48,7 +48,19 @@ QListWidgetItem * FilterUtility::createCheckableFilterItem(int32_t id, bool chec
return thisItem; return thisItem;
} }
QListWidgetItem * FilterUtility::createFilterItem(int32_t id, QListWidget* parent) QListWidgetItem * FilterUtility::createCheckableBusFilterItem(uint32_t id, bool checked, QListWidget* parent)
{
QListWidgetItem * thisItem = createBusFilterItem(id,parent);
thisItem->setFlags(thisItem->flags() | Qt::ItemIsUserCheckable);
if (checked)
thisItem->setCheckState(Qt::Checked);
else
thisItem->setCheckState(Qt::Unchecked);
return thisItem;
}
QListWidgetItem * FilterUtility::createFilterItem(uint32_t id, QListWidget* parent)
{ {
QSettings settings; QSettings settings;
DBCHandler * dbcHandler = DBCHandler::getReference(); DBCHandler * dbcHandler = DBCHandler::getReference();
@@ -81,3 +93,26 @@ QListWidgetItem * FilterUtility::createFilterItem(int32_t id, QListWidget* paren
thisItem->setText(filterItemName); thisItem->setText(filterItemName);
return thisItem; return thisItem;
} }
QListWidgetItem * FilterUtility::createBusFilterItem(uint32_t id, QListWidget* parent)
{
QSettings settings;
DBCHandler * dbcHandler = DBCHandler::getReference();
QListWidgetItem *thisItem = new QListWidgetItem(parent);
QString filterItemName = QStringLiteral("%1").arg(id);
if (settings.value("Main/FilterLabeling", false).toBool())
{
// Filter labeling (show interpreted frame names next to the CAN addr ID)
MatchingCriteria_t matchingCriteria;
DBC_MESSAGE *msg = dbcHandler->findMessageForFilter(id,&matchingCriteria);
if (msg != NULL)
{
filterItemName.append(" ");
filterItemName.append(msg->name);
}
}
thisItem->setText(filterItemName);
return thisItem;
}
+4 -2
View File
@@ -8,8 +8,10 @@ class FilterUtility
{ {
public: public:
static QListWidgetItem * createFilterItem(int32_t id, QListWidget* parent=NULL); // if parent is given, add item automatically to listwidget static QListWidgetItem * createFilterItem(uint32_t id, QListWidget* parent=NULL); // if parent is given, add item automatically to listwidget
static QListWidgetItem * createCheckableFilterItem(int32_t id, bool checked, QListWidget* parent=NULL); static QListWidgetItem * createCheckableFilterItem(uint32_t id, bool checked, QListWidget* parent=NULL);
static QListWidgetItem * createBusFilterItem(uint32_t id, QListWidget* parent=NULL); // if parent is given, add item automatically to listwidget
static QListWidgetItem * createCheckableBusFilterItem(uint32_t id, bool checked, QListWidget* parent=NULL);
static uint32_t getIdAsInt( QListWidgetItem * item ); static uint32_t getIdAsInt( QListWidgetItem * item );
static QString getId( QListWidgetItem * item ); static QString getId( QListWidgetItem * item );