aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/diceparser.cpp
diff options
context:
space:
mode:
authorRenaud Guezennec <renaud.guezennec@ext.mpsa.com>2016-02-04 17:58:00 +0100
committerRenaud Guezennec <renaud.guezennec@ext.mpsa.com>2016-02-04 17:58:00 +0100
commitc671d21b54d43dbd6112f3ab50fc6ebd63dc4aef (patch)
tree34ad9a7a84e0e71cb45f8b381eccae431ca39d25 /diceparser.cpp
parentc796cef9dbbf48dcaf21dc4f4ea62db2ba4fe629 (diff)
downloadOneRoll-c671d21b54d43dbd6112f3ab50fc6ebd63dc4aef.tar.gz
OneRoll-c671d21b54d43dbd6112f3ab50fc6ebd63dc4aef.zip
Add Management of Color
Diffstat (limited to 'diceparser.cpp')
-rw-r--r--diceparser.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/diceparser.cpp b/diceparser.cpp
index 98a8d29..ba75b01 100644
--- a/diceparser.cpp
+++ b/diceparser.cpp
@@ -40,6 +40,7 @@
#include "node/listaliasnode.h"
#include "node/mergenode.h"
#include "node/ifnode.h"
+#include "node/paintnode.h"
#define DEFAULT_FACES_NUMBER 10
@@ -61,7 +62,9 @@ DiceParser::DiceParser()
m_OptionOp->insert(QStringLiteral("r"),Reroll);
m_OptionOp->insert(QStringLiteral("e"),Explosing);
m_OptionOp->insert(QStringLiteral("a"),RerollAndAdd);
+ m_OptionOp->insert(QStringLiteral("m"),Merge);
m_OptionOp->insert(QStringLiteral("i"),ifOperator);
+ m_OptionOp->insert(QStringLiteral("p"),Painter);
m_aliasList = new QList<DiceAlias*>();
@@ -476,8 +479,9 @@ void DiceParser::getLastDiceResult(ExportedDiceResult& diceValues,bool& homogene
valuesResult.append(i);
}
}
- QPair<QList<quint64>,bool> pair(valuesResult,die->isHighlighted());
- listpair.append(pair);
+ HighLightDice hlDice(valuesResult,die->isHighlighted(),die->getColor());
+ //QPair<QList<quint64>,bool> pair(valuesResult,die->isHighlighted());
+ listpair.append(hlDice);
}
}
if(!listpair.isEmpty())
@@ -946,6 +950,15 @@ bool DiceParser::readOption(QString& str,ExecutionNode* previous, bool hasDice)/
}
break;
+ case Painter:
+ {
+ PainterNode* painter = new PainterNode();
+ m_parsingToolbox->readPainterParameter(painter,str);
+ previous->setNextNode(painter);
+ node = painter;
+ isFine = true;
+ }
+ break;
case ifOperator:
{
IfNode* nodeif = new IfNode();