From 68cf5098fb3274437e793ec467e9d6f711fbc34d Mon Sep 17 00:00:00 2001 From: Refuhr Date: Fri, 19 Jun 2026 13:44:22 +0200 Subject: [PATCH] feat: sort multiplexed values by multiplex value ascending --- dbc/dbchandler.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dbc/dbchandler.cpp b/dbc/dbchandler.cpp index 7b8ad4a..98fca95 100644 --- a/dbc/dbchandler.cpp +++ b/dbc/dbchandler.cpp @@ -115,8 +115,21 @@ int DBCSignalHandler::getCount() return sigs.count(); } +// sort by multiplex value ascending, -1 if non multiplexed/multiplexor +static int signalMuxSortValue(DBC_SIGNAL &sig) +{ + if (sig.isMultiplexed) + return sig.getSimpleMultiplexValue(); + return -1; +} + bool signal_cmp(DBC_SIGNAL a, DBC_SIGNAL b) { + int muxA = signalMuxSortValue(a); + int muxB = signalMuxSortValue(b); + if (muxA != muxB) + return muxA < muxB; + if (a.startBit == b.startBit) { return QString::compare(a.name, b.name, Qt::CaseInsensitive) < 0; } else {