aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/diceparser.cpp
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2018-06-14 02:20:50 +0200
committerRenaud G <renaud@rolisteam.org>2018-06-14 02:20:50 +0200
commit5add2243191a3c347f9dde6a480d478c83be64fe (patch)
tree31b565ea859d93d1ef806374c3940bd5c8084cb1 /diceparser.cpp
parentc8eb9afc6352411f168f7c6fa143ae862cbe0eae (diff)
downloadOneRoll-5add2243191a3c347f9dde6a480d478c83be64fe.tar.gz
OneRoll-5add2243191a3c347f9dde6a480d478c83be64fe.zip
-Add bind operator (soft version of merge).
Diffstat (limited to 'diceparser.cpp')
-rw-r--r--diceparser.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/diceparser.cpp b/diceparser.cpp
index c160df4..77a0be9 100644
--- a/diceparser.cpp
+++ b/diceparser.cpp
@@ -46,6 +46,7 @@
#include "node/splitnode.h"
#include "node/groupnode.h"
#include "node/variablenode.h"
+#include "node/bind.h"
#define DEFAULT_FACES_NUMBER 10
@@ -77,6 +78,7 @@ DiceParser::DiceParser()
m_OptionOp->insert(QStringLiteral("f"),Filter);
m_OptionOp->insert(QStringLiteral("u"),Split);
m_OptionOp->insert(QStringLiteral("g"),Group);
+ m_OptionOp->insert(QStringLiteral("b"),Bind);
m_aliasList = new QList<DiceAlias*>();
@@ -1120,6 +1122,16 @@ bool DiceParser::readOption(QString& str,ExecutionNode* previous)//,
}
break;
+ case Bind:
+ {
+ BindNode* bindNode = new BindNode();
+ bindNode->setStartList(&m_startNodes);
+ previous->setNextNode(bindNode);
+ node = bindNode;
+ found = true;
+
+ }
+ break;
case Painter:
{
PainterNode* painter = new PainterNode();