aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2015-03-31 23:53:25 +0200
committerRenaud G <renaud@rolisteam.org>2015-03-31 23:53:25 +0200
commit5bd5a8a07a900c013c120b4e228c766a84a05b09 (patch)
treeba9b3fa5ce6e81ab8ecd2c66073fa1911e9b8568 /node
parent4c9a68db5423c5d798d178d4dafb5bf8e3228ed1 (diff)
parenta03f73495bc6ce71630129a92408a26f81ae301f (diff)
downloadOneRoll-5bd5a8a07a900c013c120b4e228c766a84a05b09.tar.gz
OneRoll-5bd5a8a07a900c013c120b4e228c766a84a05b09.zip
Merge branch 'master' of github.com:obiwankennedy/DiceParser
Conflicts: node/node.pri
Diffstat (limited to 'node')
-rw-r--r--node/helpnode.cpp1
-rw-r--r--node/listaliasnode.cpp46
-rw-r--r--node/listaliasnode.h33
-rw-r--r--node/node.pri2
4 files changed, 81 insertions, 1 deletions
diff --git a/node/helpnode.cpp b/node/helpnode.cpp
index 6135f6c..f31fac1 100644
--- a/node/helpnode.cpp
+++ b/node/helpnode.cpp
@@ -9,7 +9,6 @@ void HelpNode::run(ExecutionNode* previous)
m_previousNode = previous;
StringResult* txtResult = dynamic_cast<StringResult*>(m_result);
- qDebug() << m_result->hasResultOfType(Result::SCALAR) << m_result->hasResultOfType(Result::STRING);
if(NULL != previous)
{
if(previous->getResult() == NULL)
diff --git a/node/listaliasnode.cpp b/node/listaliasnode.cpp
new file mode 100644
index 0000000..1d50c80
--- /dev/null
+++ b/node/listaliasnode.cpp
@@ -0,0 +1,46 @@
+#include "listaliasnode.h"
+
+ListAliasNode::ListAliasNode(QMap<QString,QString>* apAlias)
+ : m_mapAlias(apAlias)
+{
+ m_result = new StringResult();
+}
+void ListAliasNode::run(ExecutionNode* previous )
+{
+ m_previousNode = previous;
+ StringResult* txtResult = dynamic_cast<StringResult*>(m_result);
+
+ if(NULL != previous)
+ {
+ if(previous->getResult() == NULL)
+ {
+ txtResult->setText(toString());
+
+ }
+ else
+ {
+ txtResult->setText(previous->getHelp());
+ }
+ m_result->setPrevious(previous->getResult());
+ }
+
+ if(NULL!=m_nextNode)
+ {
+ m_nextNode->run(this);
+ }
+}
+QString ListAliasNode::toString()const
+{
+ QString result(QObject::tr("List of Alias:\n"));
+ foreach(QString key, m_mapAlias->keys())
+ {
+ result+=QString("%1 : %2\n").arg(key).arg(m_mapAlias->value(key));
+ }
+
+ return result;
+}
+
+qint64 ListAliasNode::getPriority() const
+{
+ return 0;
+}
diff --git a/node/listaliasnode.h b/node/listaliasnode.h
new file mode 100644
index 0000000..d01d17a
--- /dev/null
+++ b/node/listaliasnode.h
@@ -0,0 +1,33 @@
+#ifndef LISTALIASNODE_H
+#define LISTALIASNODE_H
+
+#include "executionnode.h"
+#include "result/stringresult.h"
+
+
+class ListAliasNode : public ExecutionNode
+{
+public:
+ ListAliasNode(QMap<QString,QString>* mapAlias);
+ /**
+ * @brief run
+ * @param previous
+ */
+ virtual void run(ExecutionNode* previous = NULL);
+
+ /**
+ * @brief toString
+ * @return
+ */
+ virtual QString toString()const;
+ /**
+ * @brief getPriority
+ * @return
+ */
+ virtual qint64 getPriority() const;
+
+private:
+ QMap<QString,QString>* m_mapAlias;
+};
+
+#endif // LISTALIASNODE_H
diff --git a/node/node.pri b/node/node.pri
index 79c1623..d7f5c7c 100644
--- a/node/node.pri
+++ b/node/node.pri
@@ -13,6 +13,7 @@ HEADERS += \
$$PWD/helpnode.h \
$$PWD/jumpbackwardnode.h \
$$PWD/listsetrollnode.h
+ $$PWD/listaliasnode.h
SOURCES += \
$$PWD/dicerollernode.cpp \
@@ -29,3 +30,4 @@ SOURCES += \
$$PWD/helpnode.cpp \
$$PWD/jumpbackwardnode.cpp \
$$PWD/listsetrollnode.cpp
+ $$PWD/listaliasnode.cpp