From 5acfe8b8352ba028235e5ecf007d1b9b4fa3a0f8 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Sat, 25 Apr 2015 11:37:46 +0200 Subject: Dot tree now also displays the result tree. (must be improved). --- result/diceresult.cpp | 9 +++++++++ result/diceresult.h | 5 +++++ result/result.cpp | 16 ++++++++++++++-- result/result.h | 2 +- result/scalarresult.cpp | 4 ++++ result/scalarresult.h | 2 ++ result/stringresult.cpp | 4 ++++ result/stringresult.h | 6 +++++- 8 files changed, 44 insertions(+), 4 deletions(-) (limited to 'result') 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; }; -- cgit v1.2.3-70-g09d2