From bc9ba4f09e94a40595e4ddb3f0ae76a0175e682e Mon Sep 17 00:00:00 2001 From: Renaud G Date: Sat, 1 Aug 2020 19:41:53 +0200 Subject: Add left aside in group complex output. --- node/groupnode.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'node/groupnode.cpp') diff --git a/node/groupnode.cpp b/node/groupnode.cpp index 0ad5cfe..860d758 100644 --- a/node/groupnode.cpp +++ b/node/groupnode.cpp @@ -87,7 +87,16 @@ void GroupNode::run(ExecutionNode* previous) std::sort(allResult.begin(), allResult.end(), std::greater()); if(allResult.getSum() > m_groupValue) { + auto copy= allResult; auto const die= getGroup(allResult); + + for(auto list : die) + { + for(auto val : list) + { + copy.removeOne(val); + } + } m_scalarResult->setValue(die.size()); QStringList list; for(auto group : die) @@ -97,7 +106,14 @@ void GroupNode::run(ExecutionNode* previous) [](qint64 val) { return QString::number(val); }); list << QStringLiteral("{%1}").arg(values.join(",")); } - m_stringResult->addText(QStringLiteral("%1 (%2)").arg(die.size()).arg(list.join(","))); + QStringList unused; + std::transform(copy.begin(), copy.end(), std::back_inserter(unused), + [](qint64 val) { return QString::number(val); }); + if(!unused.isEmpty()) + m_stringResult->addText( + QStringLiteral("%1 (%2 - [%3])").arg(die.size()).arg(list.join(",")).arg(unused.join(","))); + else + m_stringResult->addText(QStringLiteral("%1 (%2)").arg(die.size()).arg(list.join(","))); } else { -- cgit v1.2.3-70-g09d2