diff options
| author | 2016-09-25 10:04:28 +0200 | |
|---|---|---|
| committer | 2016-09-25 10:04:28 +0200 | |
| commit | fac053c3aacc0e2ede8a85ff41e27eed1c360f6f (patch) | |
| tree | c91ff176e60f1f6e634107b4e7a7282e831975ee /node/ifnode.cpp | |
| parent | dbb57d52d351e340ce69fccaedbdf758b04ed8fe (diff) | |
| parent | e225f2edfd365d1709df2cb5bb2f752ec8d82c1c (diff) | |
| download | OneRoll-fac053c3aacc0e2ede8a85ff41e27eed1c360f6f.tar.gz OneRoll-fac053c3aacc0e2ede8a85ff41e27eed1c360f6f.zip | |
Merge branch 'master' of github.com:Rolisteam/DiceParser
Diffstat (limited to 'node/ifnode.cpp')
| -rw-r--r-- | node/ifnode.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/node/ifnode.cpp b/node/ifnode.cpp index bf07776..8605dcf 100644 --- a/node/ifnode.cpp +++ b/node/ifnode.cpp @@ -105,6 +105,54 @@ void IfNode::setInstructionFalse(ExecutionNode* node) { m_false = node; } +void IfNode::generateDotTree(QString& s) +{ + s.append(toString(true)); + s.append(";\n"); + + if((NULL!=m_true)&&(m_true != m_nextNode)) + { + s.append(toString(false)); + s.append(" -> "); + s.append(m_true->toString(false)); + s.append("[label=\"true\"];\n"); +// s.append(" [label=\"nextNode\"];\n"); + m_true->generateDotTree(s); + } + if((NULL!=m_false)&&(m_false != m_nextNode)) + { + s.append(toString(false)); + s.append(" -> "); + s.append(m_false->toString(false)); + s.append("[label=\"false\"];\n"); + m_false->generateDotTree(s); + } + + if(NULL!=m_nextNode) + { + s.append(toString(false)); + s.append(" -> "); + s.append(m_nextNode->toString(false)); + s.append("[label=\"next\"];\n"); + m_nextNode->generateDotTree(s); + } + else + { + s.append(toString(false)); + s.append(" -> "); + s.append("NULL;\n"); + + if(NULL!=m_result) + { + + s.append(toString(false)); + s.append(" ->"); + s.append(m_result->toString(false)); + s.append(" [label=\"Result\"];\n"); + m_result->generateDotTree(s); + } + } +} QString IfNode::toString(bool wl) const { |