diff options
Diffstat (limited to 'node')
| -rw-r--r-- | node/jumpbackwardnode.cpp | 38 | ||||
| -rw-r--r-- | node/jumpbackwardnode.h | 27 |
2 files changed, 65 insertions, 0 deletions
diff --git a/node/jumpbackwardnode.cpp b/node/jumpbackwardnode.cpp new file mode 100644 index 0000000..c311ed2 --- /dev/null +++ b/node/jumpbackwardnode.cpp @@ -0,0 +1,38 @@ +#include "jumpbackwardnode.h" + +JumpBackwardNode::JumpBackwardNode() +{ +} + + + +qint64 JumpBackwardNode::getPriority() const +{ + return 1; +} +QString JumpBackwardNode::toString() const +{ + return QString(); +} +void JumpBackwardNode::run(ExecutionNode* previous) +{ + ExecutionNode* parent = previous; + bool found=false; + int i = 1; + Result* result=NULL; + while((NULL!=parent)&&(found)) + { + result = parent->getResult(); + if(NULL!=result) + { + --i; + if(i==0) + { + found =true; + } + } + parent = parent->getPreviousNode(); + + } + m_result = result; +} diff --git a/node/jumpbackwardnode.h b/node/jumpbackwardnode.h new file mode 100644 index 0000000..d211385 --- /dev/null +++ b/node/jumpbackwardnode.h @@ -0,0 +1,27 @@ +#ifndef JUMPBACKWARDNODE_H +#define JUMPBACKWARDNODE_H + +#include "executionnode.h" + +class JumpBackwardNode : public ExecutionNode +{ +public: + JumpBackwardNode(); + + virtual void run(ExecutionNode* previous = NULL); + + /** + * @brief toString + * @return + */ + virtual QString toString() const; + /** + * @brief getPriority + * @return + */ + virtual qint64 getPriority() const; + + +}; + +#endif // JUMPBACKWARDNODE_H |