aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2020-08-01 19:41:53 +0200
committerRenaud G <renaud@rolisteam.org>2020-08-01 20:29:20 +0200
commitbc9ba4f09e94a40595e4ddb3f0ae76a0175e682e (patch)
tree53bb398e278bb23a6fcb0060623f86c792bdba20 /node
parentc35ae0246f09432d4ab54d6216fcab2167318967 (diff)
downloadOneRoll-bc9ba4f09e94a40595e4ddb3f0ae76a0175e682e.tar.gz
OneRoll-bc9ba4f09e94a40595e4ddb3f0ae76a0175e682e.zip
Add left aside in group complex output.
Diffstat (limited to 'node')
-rw-r--r--node/groupnode.cpp18
1 files changed, 17 insertions, 1 deletions
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<qint64>());
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
{