aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2015-04-25 11:37:46 +0200
committerRenaud G <renaud@rolisteam.org>2015-04-25 11:37:46 +0200
commit5acfe8b8352ba028235e5ecf007d1b9b4fa3a0f8 (patch)
tree16738510451648bc33298f79ca54fd0574ad0602
parentea649ea152b7797782ef0345f16de7bcbcc34767 (diff)
downloadOneRoll-5acfe8b8352ba028235e5ecf007d1b9b4fa3a0f8.tar.gz
OneRoll-5acfe8b8352ba028235e5ecf007d1b9b4fa3a0f8.zip
Dot tree now also displays the result tree. (must be improved).
-rw-r--r--node/executionnode.cpp2
-rw-r--r--node/sortresult.cpp3
-rw-r--r--result/diceresult.cpp9
-rw-r--r--result/diceresult.h5
-rw-r--r--result/result.cpp16
-rw-r--r--result/result.h2
-rw-r--r--result/scalarresult.cpp4
-rw-r--r--result/scalarresult.h2
-rw-r--r--result/stringresult.cpp4
-rw-r--r--result/stringresult.h6
10 files changed, 48 insertions, 5 deletions
diff --git a/node/executionnode.cpp b/node/executionnode.cpp
index 343e8d9..0cb9c0b 100644
--- a/node/executionnode.cpp
+++ b/node/executionnode.cpp
@@ -59,5 +59,7 @@ void ExecutionNode::generateDotTree(QString& s)
s.append(" -> ");
s.append("NULL");
s.append(" [label=\"nextNode\"];\n");
+
+ m_result->generateDotTree(s);
}
}
diff --git a/node/sortresult.cpp b/node/sortresult.cpp
index 46e6eb8..deaf794 100644
--- a/node/sortresult.cpp
+++ b/node/sortresult.cpp
@@ -80,7 +80,8 @@ void SortResultNode::run(ExecutionNode* node)
}
else
{
- m_errors.append(DIE_RESULT_EXPECTED);
+ m_result = node->getResult();
+ //m_errors.append(DIE_RESULT_EXPECTED);
}
}
diff --git a/result/diceresult.cpp b/result/diceresult.cpp
index f87079a..95122f1 100644
--- a/result/diceresult.cpp
+++ b/result/diceresult.cpp
@@ -82,3 +82,12 @@ qreal DiceResult::getScalarResult()
return 0;
}
+QString DiceResult::toString()
+{
+ QStringList scalarSum;
+ foreach(Die* die,m_diceValues)
+ {
+ scalarSum << QString::number(die->getValue());
+ }
+ return QString("DiceResult_Value_%1_dice_%2").arg(getScalarResult()).arg(scalarSum.join('_'));
+}
diff --git a/result/diceresult.h b/result/diceresult.h
index b805e73..07378d1 100644
--- a/result/diceresult.h
+++ b/result/diceresult.h
@@ -61,6 +61,11 @@ public:
* @return
*/
virtual QVariant getResult(RESULT_TYPE);
+ /**
+ * @brief toString
+ * @return
+ */
+ virtual QString toString();
private:
qreal getScalarResult();
diff --git a/result/result.cpp b/result/result.cpp
index 3acca93..257045c 100644
--- a/result/result.cpp
+++ b/result/result.cpp
@@ -48,9 +48,21 @@ bool Result::hasResultOfType(RESULT_TYPE type) const
void Result::generateDotTree(QString& s)
{
s.append(toString());
+ if(NULL!=m_previous)
+ {
+ s.append(" -> ");
+ s.append(m_previous->toString());
+ s.append(" [label=\"previousResult\"];\n");
+ m_previous->generateDotTree(s);
+ }
+ {
+ s.append(" -> ");
+ s.append("NULL");
+ s.append(" [label=\"previousResult\"];\n");
+ }
}
-QString Result::toString()
+/*QString Result::toString()
{
return QString();
-}
+}*/
diff --git a/result/result.h b/result/result.h
index dcd0b8d..3d635bc 100644
--- a/result/result.h
+++ b/result/result.h
@@ -77,7 +77,7 @@ public:
* @brief toString
* @return
*/
- QString toString();
+ virtual QString toString() = 0;
protected:
int m_resultTypes;/// @brief
private:
diff --git a/result/scalarresult.cpp b/result/scalarresult.cpp
index 8c924fe..a998608 100644
--- a/result/scalarresult.cpp
+++ b/result/scalarresult.cpp
@@ -36,3 +36,7 @@ QVariant ScalarResult::getResult(Result::RESULT_TYPE type)
return m_value;
}
+QString ScalarResult::toString()
+{
+ return QString("ScalarResult_Value_%1").arg(m_value);
+}
diff --git a/result/scalarresult.h b/result/scalarresult.h
index 35982be..4d64a90 100644
--- a/result/scalarresult.h
+++ b/result/scalarresult.h
@@ -35,6 +35,8 @@ public:
void setValue(qreal i);
+ virtual QString toString();
+
private:
qreal m_value;
};
diff --git a/result/stringresult.cpp b/result/stringresult.cpp
index 9f7d2e1..4dbd577 100644
--- a/result/stringresult.cpp
+++ b/result/stringresult.cpp
@@ -31,3 +31,7 @@ QVariant StringResult::getResult(RESULT_TYPE type)
return QVariant();
}
+QString StringResult::toString()
+{
+ return QString("StringResult_value_%1").arg(getText().replace(" ","_"));
+}
diff --git a/result/stringresult.h b/result/stringresult.h
index 17c43cd..4a9a4a4 100644
--- a/result/stringresult.h
+++ b/result/stringresult.h
@@ -32,7 +32,11 @@ public:
* @return
*/
virtual QVariant getResult(RESULT_TYPE);
-
+ /**
+ * @brief toString
+ * @return
+ */
+ virtual QString toString();
private:
QString m_value;
};