From 2d9fe10724dc1d5de86e63670536b9a1b6599ba1 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Tue, 9 Jun 2015 08:44:49 +0200 Subject: -add method to read list with probability value. It sets range for all values in List node. --- node/listsetrollnode.cpp | 74 ++++++++++++++++++++++++++++++++++++++---------- node/listsetrollnode.h | 11 ++++++- 2 files changed, 69 insertions(+), 16 deletions(-) (limited to 'node') diff --git a/node/listsetrollnode.cpp b/node/listsetrollnode.cpp index fdc17a5..c7f2c45 100644 --- a/node/listsetrollnode.cpp +++ b/node/listsetrollnode.cpp @@ -22,7 +22,7 @@ #include "die.h" ListSetRollNode::ListSetRollNode() - :m_diceResult(new DiceResult()),m_stringResult(new StringResult()) + :m_diceResult(new DiceResult()),m_stringResult(new StringResult()),m_unique(false) { m_result = m_stringResult; } @@ -46,12 +46,6 @@ QString ListSetRollNode::toString() const qint64 ListSetRollNode::getPriority() const { qint64 priority=4; -// if(NULL!=m_nextNode) -// { -// priority = m_nextNode->getPriority(); -// } - - return priority; } void ListSetRollNode::run(ExecutionNode* previous) @@ -68,13 +62,11 @@ void ListSetRollNode::run(ExecutionNode* previous) for(quint64 i=0; i < diceCount ; ++i) { Die* die = new Die(); - die->setFaces(m_values.size()); + //die->setFaces(m_values.size()); + computeFacesNumber(die); die->roll(); m_diceResult->insertResult(die); - if(die->getValue()-1getValue()-1]; - } + getValueFromDie(die,rollResult); } m_stringResult->setText(rollResult.join(",")); if(NULL!=m_nextNode) @@ -83,11 +75,63 @@ void ListSetRollNode::run(ExecutionNode* previous) } } } - - - } void ListSetRollNode::setListValue(QStringList lirs) { m_values = lirs; } +void ListSetRollNode::setUnique(bool u) +{ + m_unique = u; +} +void ListSetRollNode::setRangeList(QList& ranges) +{ + m_rangeList = ranges; +} +void ListSetRollNode::computeFacesNumber(Die* die) +{ + if(m_rangeList.isEmpty()) + { + die->setFaces(m_values.size()); + } + else + { + Q_ASSERT(m_values.size() == m_rangeList.size()); + qint64 max; + int i=0; + foreach(Range range, m_rangeList) + { + if((i==0)||(maxsetFaces(max); + } + +} +void ListSetRollNode::getValueFromDie(Die* die,QStringList& rollResult) +{ + if(m_rangeList.isEmpty()) + { + if(die->getValue()-1getValue()-1]; + } + } + else + { + Q_ASSERT(m_values.size() == m_rangeList.size()); + int i=0; + foreach (Range range, m_rangeList) + { + qDebug() << range.toString()<< die->getValue(); + if(range.hasValid(die,false)) + { + rollResult << m_values[i]; + } + ++i; + } + } +} diff --git a/node/listsetrollnode.h b/node/listsetrollnode.h index 3102ade..4a11da2 100644 --- a/node/listsetrollnode.h +++ b/node/listsetrollnode.h @@ -27,6 +27,7 @@ #include "executionnode.h" #include "result/diceresult.h" #include "result/stringresult.h" +#include "range.h" /** * @brief The ListSetRollNode class is dedicated to pick up item from list. */ @@ -41,12 +42,20 @@ public: QStringList getList(); void setListValue(QStringList); + void setUnique(bool ); + void setRangeList(QList&); + + +private: + void getValueFromDie(Die* die,QStringList& rollResult); + void computeFacesNumber(Die* die); private: QStringList m_values; DiceResult* m_diceResult; StringResult* m_stringResult; - + bool m_unique; + QList m_rangeList; }; #endif // LISTSETROLLNODE_H -- cgit v1.2.3-70-g09d2 From 34a3b555c61d9ce6c5f6be618f2fb0b83ba71b1b Mon Sep 17 00:00:00 2001 From: Renaud G Date: Wed, 8 Jul 2015 16:04:22 +0200 Subject: add management of list with unequivalence --- node/listsetrollnode.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'node') diff --git a/node/listsetrollnode.cpp b/node/listsetrollnode.cpp index c7f2c45..ce2f2ac 100644 --- a/node/listsetrollnode.cpp +++ b/node/listsetrollnode.cpp @@ -62,7 +62,6 @@ void ListSetRollNode::run(ExecutionNode* previous) for(quint64 i=0; i < diceCount ; ++i) { Die* die = new Die(); - //die->setFaces(m_values.size()); computeFacesNumber(die); die->roll(); m_diceResult->insertResult(die); @@ -101,12 +100,14 @@ void ListSetRollNode::computeFacesNumber(Die* die) int i=0; foreach(Range range, m_rangeList) { - if((i==0)||(maxsetFaces(max); } @@ -126,7 +127,6 @@ void ListSetRollNode::getValueFromDie(Die* die,QStringList& rollResult) int i=0; foreach (Range range, m_rangeList) { - qDebug() << range.toString()<< die->getValue(); if(range.hasValid(die,false)) { rollResult << m_values[i]; -- cgit v1.2.3-70-g09d2 From 8a1c33fb342a3609ec4d22e918c5f847c59c1b91 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 11:36:18 +0200 Subject: start fixing dot tree generation --- diceparser.cpp | 6 ++++-- node/countexecutenode.cpp | 11 ++++++++++- node/countexecutenode.h | 2 +- node/executionnode.h | 2 +- node/numbernode.cpp | 11 +++++++++-- node/numbernode.h | 2 +- node/rerolldicenode.cpp | 2 +- node/rerolldicenode.h | 2 +- node/scalaroperatornode.cpp | 5 ++++- node/scalaroperatornode.h | 2 +- node/sortresult.cpp | 6 +++++- node/sortresult.h | 2 +- node/startingnode.cpp | 7 ++++++- node/startingnode.h | 2 +- 14 files changed, 46 insertions(+), 16 deletions(-) (limited to 'node') diff --git a/diceparser.cpp b/diceparser.cpp index f695a42..8f930a0 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -814,7 +814,8 @@ bool DiceParser::readOption(QString& str,ExecutionNode* previous, bool hasDice)/ break; case Count: { - Validator* validator = m_parsingToolbox->readValidator(str); + //Validator* validator = m_parsingToolbox->readValidator(str); + Validator* validator = m_parsingToolbox->readCompositeValidator(str); if(NULL!=validator) { /// @todo display warning here. @@ -836,7 +837,8 @@ bool DiceParser::readOption(QString& str,ExecutionNode* previous, bool hasDice)/ case Reroll: case RerollAndAdd: { - Validator* validator = m_parsingToolbox->readValidator(str); + //Validator* validator = m_parsingToolbox->readValidator(str); + Validator* validator = m_parsingToolbox->readCompositeValidator(str); if(NULL!=validator) { /// @todo display warning here. diff --git a/node/countexecutenode.cpp b/node/countexecutenode.cpp index ff3d67b..295fdad 100644 --- a/node/countexecutenode.cpp +++ b/node/countexecutenode.cpp @@ -46,10 +46,19 @@ void CountExecuteNode::run(ExecutionNode *previous) } } } -QString CountExecuteNode::toString() const +QString CountExecuteNode::toString(bool withlabel) const +{ +if(withlabel) { return "CountExecuteNode"+m_validator->toString(); } +else +{ + + return "CountExecuteNode"+m_validator->toString(); +} +} +} qint64 CountExecuteNode::getPriority() const { qint64 priority=0; diff --git a/node/countexecutenode.h b/node/countexecutenode.h index 519403b..167ee82 100644 --- a/node/countexecutenode.h +++ b/node/countexecutenode.h @@ -30,7 +30,7 @@ public: * @brief toString * @return */ - virtual QString toString()const; + virtual QString toString(bool withLabel)const; /** * @brief getPriority * @return diff --git a/node/executionnode.h b/node/executionnode.h index 39d714b..cca7903 100644 --- a/node/executionnode.h +++ b/node/executionnode.h @@ -46,7 +46,7 @@ public: * @brief toString * @return */ - virtual QString toString()const=0; + virtual QString toString(bool withLabel)const=0; /** * @brief getPriority * @return diff --git a/node/numbernode.cpp b/node/numbernode.cpp index c63aadf..55ee752 100644 --- a/node/numbernode.cpp +++ b/node/numbernode.cpp @@ -44,9 +44,16 @@ void NumberNode::setNumber(qint64 a) m_scalarResult->setValue(a); m_number = a; } -QString NumberNode::toString() const +QString NumberNode::toString(bool withLabel) const { - return QString("NumberNode [label=\"NumberNode %1\"]").arg(m_number); + if(withLabel) + { + return QString("NumberNode%2 [label=\"NumberNode %1\"]").arg(m_number).arg(m_number); + } + else + { + return QString("NumberNode%1").arg(m_number); + } } qint64 NumberNode::getPriority() const { diff --git a/node/numbernode.h b/node/numbernode.h index 3c43a51..50d29ad 100644 --- a/node/numbernode.h +++ b/node/numbernode.h @@ -34,7 +34,7 @@ public: NumberNode(); void run(ExecutionNode* previous); void setNumber(qint64); -virtual QString toString()const; + virtual QString toString(bool withLabel)const; virtual qint64 getPriority() const; private: qint64 m_number; diff --git a/node/rerolldicenode.cpp b/node/rerolldicenode.cpp index 038a3ec..7798f61 100644 --- a/node/rerolldicenode.cpp +++ b/node/rerolldicenode.cpp @@ -46,7 +46,7 @@ void RerollDiceNode::setValidator(Validator* val) { m_validator = val; } -QString RerollDiceNode::toString() const +QString RerollDiceNode::toString(bool wl) const { return QString("RerollDiceNode [label=\"RerollDiceNode validatior:%1\"").arg(m_validator->toString()); } diff --git a/node/rerolldicenode.h b/node/rerolldicenode.h index a97e448..f456bb3 100644 --- a/node/rerolldicenode.h +++ b/node/rerolldicenode.h @@ -39,7 +39,7 @@ public: * @brief toString * @return */ - virtual QString toString()const; + virtual QString toString(bool )const; /** diff --git a/node/scalaroperatornode.cpp b/node/scalaroperatornode.cpp index c5f91f9..dead500 100644 --- a/node/scalaroperatornode.cpp +++ b/node/scalaroperatornode.cpp @@ -138,7 +138,7 @@ qint64 ScalarOperatorNode::multiple(qint64 a,qint64 b) { return a*b; } -QString ScalarOperatorNode::toString() const +QString ScalarOperatorNode::toString(bool wl) const { QString op=""; switch(m_operator) @@ -159,7 +159,10 @@ QString ScalarOperatorNode::toString() const break; } +if(wl) return QString("ScalarOperatorNode [label=\"ScalarOperatorNode %1\"").arg(op); +else + return QString("ScalarOperatorNode"); } qint64 ScalarOperatorNode::getPriority() const { diff --git a/node/scalaroperatornode.h b/node/scalaroperatornode.h index e43f6f8..4aab39a 100644 --- a/node/scalaroperatornode.h +++ b/node/scalaroperatornode.h @@ -42,7 +42,7 @@ public: bool setOperatorChar(QChar c); void setInternalNode(ExecutionNode* node); - virtual QString toString()const; + virtual QString toString(bool wl)const; virtual qint64 getPriority() const; void generateDotTree(QString& s); diff --git a/node/sortresult.cpp b/node/sortresult.cpp index 44a25f0..727810e 100644 --- a/node/sortresult.cpp +++ b/node/sortresult.cpp @@ -110,9 +110,13 @@ void SortResultNode::setSortAscending(bool asc) { m_ascending = asc; } -QString SortResultNode::toString() const +QString SortResultNode::toString(bool wl) const { +if(wl) return QString("SortResultNode [label=\"SortResultNode %1\"").arg(m_ascending ? "Ascending":"Descending"); +else + return QString("SortResultNode"); + } qint64 SortResultNode::getPriority() const { diff --git a/node/sortresult.h b/node/sortresult.h index d505e4b..c4f96dc 100644 --- a/node/sortresult.h +++ b/node/sortresult.h @@ -49,7 +49,7 @@ public: * @brief toString * @return */ - virtual QString toString()const; + virtual QString toString(bool wl)const; /** * @brief getPriority * @return diff --git a/node/startingnode.cpp b/node/startingnode.cpp index b15101b..15ea053 100644 --- a/node/startingnode.cpp +++ b/node/startingnode.cpp @@ -13,9 +13,14 @@ void StartingNode::run(ExecutionNode*) m_nextNode->run(this); } } -QString StartingNode::toString() const +QString StartingNode::toString(bool withlabel) const { +if(withlabel) return "StartingNode [shape=box]"; +else + return "StartingNode"; +} + } qint64 StartingNode::getPriority() const { diff --git a/node/startingnode.h b/node/startingnode.h index ebe28c0..e9bc5a5 100644 --- a/node/startingnode.h +++ b/node/startingnode.h @@ -22,7 +22,7 @@ public: * @brief toString * @return */ - virtual QString toString()const; + virtual QString toString(bool withlabel)const; /** * @brief getPriority * @return -- cgit v1.2.3-70-g09d2 From ae81e675a117819aa5a2eb7f9be687aff5a6bb9f Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 11:56:10 +0200 Subject: add bool parameter to toString() function in node. --- node/countexecutenode.cpp | 74 ++++++++++++++++++++++----------------------- node/dicerollernode.cpp | 11 +++++-- node/dicerollernode.h | 2 +- node/executionnode.cpp | 4 ++- node/executionnode.h | 3 ++ node/explosedicenode.cpp | 11 +++++-- node/explosedicenode.h | 2 +- node/helpnode.cpp | 11 +++++-- node/helpnode.h | 2 +- node/jumpbackwardnode.cpp | 11 +++++-- node/jumpbackwardnode.h | 2 +- node/keepdiceexecnode.cpp | 11 +++++-- node/keepdiceexecnode.h | 2 +- node/listaliasnode.cpp | 23 +++++++++----- node/listaliasnode.h | 2 +- node/listsetrollnode.cpp | 12 ++++++-- node/numbernode.cpp | 4 +-- node/parenthesesnode.cpp | 11 +++++-- node/parenthesesnode.h | 2 +- node/rerolldicenode.cpp | 10 +++++- node/scalaroperatornode.cpp | 12 +++++--- node/sortresult.cpp | 12 +++++--- node/startingnode.cpp | 14 ++++++--- 23 files changed, 165 insertions(+), 83 deletions(-) (limited to 'node') diff --git a/node/countexecutenode.cpp b/node/countexecutenode.cpp index 295fdad..55b278e 100644 --- a/node/countexecutenode.cpp +++ b/node/countexecutenode.cpp @@ -6,11 +6,11 @@ CountExecuteNode::CountExecuteNode() : m_scalarResult(new ScalarResult()),m_validator(NULL) { - m_result = m_scalarResult; + m_result = m_scalarResult; } void CountExecuteNode::setValidator(Validator* validator) { - m_validator = validator; + m_validator = validator; } CountExecuteNode::~CountExecuteNode() { @@ -23,50 +23,48 @@ CountExecuteNode::~CountExecuteNode() void CountExecuteNode::run(ExecutionNode *previous) { m_previousNode = previous; - if(NULL==previous) - { - return; - } - DiceResult* previous_result = dynamic_cast(previous->getResult()); - if(NULL!=previous_result) - { - m_result->setPrevious(previous_result); - QList diceList=previous_result->getResultList(); - qint64 sum = 0; - foreach(Die* dice,diceList) - { - sum+=m_validator->hasValid(dice,true,true); - } - m_scalarResult->setValue(sum); + if(NULL==previous) + { + return; + } + DiceResult* previous_result = dynamic_cast(previous->getResult()); + if(NULL!=previous_result) + { + m_result->setPrevious(previous_result); + QList diceList=previous_result->getResultList(); + qint64 sum = 0; + foreach(Die* dice,diceList) + { + sum+=m_validator->hasValid(dice,true,true); + } + m_scalarResult->setValue(sum); - if(NULL!=m_nextNode) - { - m_nextNode->run(this); - } - } + if(NULL!=m_nextNode) + { + m_nextNode->run(this); + } + } } QString CountExecuteNode::toString(bool withlabel) const { -if(withlabel) -{ - return "CountExecuteNode"+m_validator->toString(); -} -else -{ - - return "CountExecuteNode"+m_validator->toString(); -} -} + if(withlabel) + { + return QString("%1 [label=\"CountExecuteNode %2\"]").arg(m_id).arg(m_validator->toString()); + } + else + { + return m_id; + } } qint64 CountExecuteNode::getPriority() const { - qint64 priority=0; - if(NULL!=m_nextNode) - { - priority = m_nextNode->getPriority(); - } + qint64 priority=0; + if(NULL!=m_nextNode) + { + priority = m_nextNode->getPriority(); + } - return priority; + return priority; } diff --git a/node/dicerollernode.cpp b/node/dicerollernode.cpp index 06148fc..213c8ec 100644 --- a/node/dicerollernode.cpp +++ b/node/dicerollernode.cpp @@ -71,9 +71,16 @@ quint64 DiceRollerNode::getFaces() { return m_faces; } -QString DiceRollerNode::toString() const +QString DiceRollerNode::toString(bool wl) const { - return QString("DiceRollerNode"); + if(wl) + { + return QString("%1 [label=DiceRollerNode]").arg(m_id); + } + else + { + return m_id; + } } qint64 DiceRollerNode::getPriority() const { diff --git a/node/dicerollernode.h b/node/dicerollernode.h index 726676e..402ef40 100644 --- a/node/dicerollernode.h +++ b/node/dicerollernode.h @@ -30,7 +30,7 @@ public: virtual void run(ExecutionNode*); quint64 getFaces(); - virtual QString toString()const; + virtual QString toString(bool wl)const; virtual qint64 getPriority() const; //private members private: diff --git a/node/executionnode.cpp b/node/executionnode.cpp index dba56fc..c6f3915 100644 --- a/node/executionnode.cpp +++ b/node/executionnode.cpp @@ -1,7 +1,9 @@ #include "executionnode.h" +#include + ExecutionNode::ExecutionNode() - : m_nextNode(NULL),m_result(NULL),m_previousNode(NULL) + : m_nextNode(NULL),m_result(NULL),m_previousNode(NULL),m_id(QUuid::createUuid().toString()) { } diff --git a/node/executionnode.h b/node/executionnode.h index cca7903..41f2b79 100644 --- a/node/executionnode.h +++ b/node/executionnode.h @@ -3,6 +3,7 @@ #include "result/result.h" #include + /** * @brief The ExecutionNode class */ @@ -85,6 +86,8 @@ protected: * @brief m_errors */ QMap m_errors; + + QString m_id; }; #endif // EXECUTIONNODE_H diff --git a/node/explosedicenode.cpp b/node/explosedicenode.cpp index c0ebfe7..cdbeb6c 100644 --- a/node/explosedicenode.cpp +++ b/node/explosedicenode.cpp @@ -44,9 +44,16 @@ void ExploseDiceNode::setValidator(Validator* val) { m_validator = val; } -QString ExploseDiceNode::toString() const +QString ExploseDiceNode::toString(bool withlabel) const { - return QString("ExploseDiceNode [label=\"ExploseDiceNode %1\"]").arg(m_validator->toString()); + if(withlabel) + { + return QString("%1 [label=\"ExploseDiceNode %2\"]").arg(m_id).arg(m_validator->toString()); + } + else + { + return m_id; + } } qint64 ExploseDiceNode::getPriority() const { diff --git a/node/explosedicenode.h b/node/explosedicenode.h index f5d0f6e..65c0abd 100644 --- a/node/explosedicenode.h +++ b/node/explosedicenode.h @@ -16,7 +16,7 @@ public: virtual ~ExploseDiceNode(); virtual void run(ExecutionNode* previous = NULL); virtual void setValidator(Validator* ); - virtual QString toString()const; + virtual QString toString(bool )const; virtual qint64 getPriority() const; protected: diff --git a/node/helpnode.cpp b/node/helpnode.cpp index 6108e4d..d5fc2c9 100644 --- a/node/helpnode.cpp +++ b/node/helpnode.cpp @@ -29,9 +29,16 @@ void HelpNode::run(ExecutionNode* previous) m_nextNode->run(this); } } -QString HelpNode::toString() const +QString HelpNode::toString(bool wl) const { - return QObject::tr("Rolisteam Dice Parser:\nFull documentation at: %1 \n").arg(m_path); + if(wl) + { + return QString("%1 [label=\"Rolisteam Dice Parser:\nFull documentation at: %2\"]").arg(m_id).arg(m_path); + } + else + { + return m_id; + } } qint64 HelpNode::getPriority() const diff --git a/node/helpnode.h b/node/helpnode.h index 88a0842..c492e66 100644 --- a/node/helpnode.h +++ b/node/helpnode.h @@ -26,7 +26,7 @@ public: * @brief toString * @return */ - virtual QString toString()const; + virtual QString toString(bool )const; /** * @brief getPriority * @return diff --git a/node/jumpbackwardnode.cpp b/node/jumpbackwardnode.cpp index be759ce..b0a5c8e 100644 --- a/node/jumpbackwardnode.cpp +++ b/node/jumpbackwardnode.cpp @@ -34,9 +34,16 @@ qint64 JumpBackwardNode::getPriority() const { return 4; } -QString JumpBackwardNode::toString() const +QString JumpBackwardNode::toString(bool wl) const { - return QString("JumpBackwardNode"); + if(wl) + { + return QString("%1 [label=\"JumpBackwardNode\"]").arg(m_id); + } + else + { + return m_id; + } } void JumpBackwardNode::run(ExecutionNode* previous) { diff --git a/node/jumpbackwardnode.h b/node/jumpbackwardnode.h index 469c64a..a89d0d3 100644 --- a/node/jumpbackwardnode.h +++ b/node/jumpbackwardnode.h @@ -43,7 +43,7 @@ public: * @brief toString * @return */ - virtual QString toString() const; + virtual QString toString(bool) const; /** * @brief getPriority * @return diff --git a/node/keepdiceexecnode.cpp b/node/keepdiceexecnode.cpp index a225ac4..492e69c 100644 --- a/node/keepdiceexecnode.cpp +++ b/node/keepdiceexecnode.cpp @@ -62,9 +62,16 @@ void KeepDiceExecNode::setDiceKeepNumber(quint64 n) { m_numberOfDice = n; } -QString KeepDiceExecNode::toString() const +QString KeepDiceExecNode::toString(bool wl) const { - return QString("KeepDiceExecNode [label=\"KeepDiceExecNode %1\"]").arg(m_numberOfDice); + if(wl) + { + return QString("%1 [label=\"KeepDiceExecNode %1\"]").arg(m_id).arg(m_numberOfDice); + } + else + { + return m_id; + } } qint64 KeepDiceExecNode::getPriority() const { diff --git a/node/keepdiceexecnode.h b/node/keepdiceexecnode.h index 01f5028..f86daa5 100644 --- a/node/keepdiceexecnode.h +++ b/node/keepdiceexecnode.h @@ -34,7 +34,7 @@ public: virtual void run(ExecutionNode *previous); virtual void setDiceKeepNumber(quint64 ); - virtual QString toString()const; + virtual QString toString(bool)const; virtual qint64 getPriority() const; private: quint64 m_numberOfDice; diff --git a/node/listaliasnode.cpp b/node/listaliasnode.cpp index ddb8ac9..7af202c 100644 --- a/node/listaliasnode.cpp +++ b/node/listaliasnode.cpp @@ -58,14 +58,23 @@ QString ListAliasNode::buildList() const } return result; } -QString ListAliasNode::toString() const +QString ListAliasNode::toString(bool wl) const { - QStringList resultList; - foreach(DiceAlias* key, *m_aliasList) - { - resultList << "{" <getCommand() << key->getValue()<< "}"; - } - return QString("ListAliasNode [label=\"ListAliasNode %1\"]").arg(resultList.join(",")); + QStringList resultList; + foreach(DiceAlias* key, *m_aliasList) + { + resultList << "{" <getCommand() << key->getValue()<< "}"; + } + + if(wl) + { + return QString("%1 [label=\"ListAliasNode %2\"]").arg(m_id).arg(resultList.join(",")); + } + else + { + return m_id; + } + } qint64 ListAliasNode::getPriority() const diff --git a/node/listaliasnode.h b/node/listaliasnode.h index e8f8b0f..2f83a1b 100644 --- a/node/listaliasnode.h +++ b/node/listaliasnode.h @@ -42,7 +42,7 @@ public: * @brief toString * @return */ - virtual QString toString() const; + virtual QString toString(bool) const; /** * @brief buildList * @return diff --git a/node/listsetrollnode.cpp b/node/listsetrollnode.cpp index ce2f2ac..9f15d36 100644 --- a/node/listsetrollnode.cpp +++ b/node/listsetrollnode.cpp @@ -39,9 +39,17 @@ QStringList ListSetRollNode::getList() { return m_values; } -QString ListSetRollNode::toString() const +QString ListSetRollNode::toString(bool wl) const { - return QString("ListSetRollNode [label=\"ListSetRoll list:%1\"]").arg(m_values.join(',')); + if(wl) + { + return QString("%1 [label=\"ListSetRoll list:%2\"]").arg(m_id).arg(m_values.join(",")); + } + else + { + return m_id; + } + } qint64 ListSetRollNode::getPriority() const { diff --git a/node/numbernode.cpp b/node/numbernode.cpp index 55ee752..e2da54f 100644 --- a/node/numbernode.cpp +++ b/node/numbernode.cpp @@ -48,11 +48,11 @@ QString NumberNode::toString(bool withLabel) const { if(withLabel) { - return QString("NumberNode%2 [label=\"NumberNode %1\"]").arg(m_number).arg(m_number); + return QString("%1 [label=\"NumberNode %2\"]").arg(m_id).arg(m_number); } else { - return QString("NumberNode%1").arg(m_number); + return m_id; } } qint64 NumberNode::getPriority() const diff --git a/node/parenthesesnode.cpp b/node/parenthesesnode.cpp index 2876147..3398f0a 100644 --- a/node/parenthesesnode.cpp +++ b/node/parenthesesnode.cpp @@ -49,9 +49,16 @@ void ParenthesesNode::run(ExecutionNode* /*previous*/) m_nextNode->run(this); } } -QString ParenthesesNode::toString() const +QString ParenthesesNode::toString(bool b) const { - return "ParenthesesNode"; + if(wl) + { + return QString("%1 [label=\"ParenthesesNode\"]").arg(m_id); + } + else + { + return m_id; + } } qint64 ParenthesesNode::getPriority() const { diff --git a/node/parenthesesnode.h b/node/parenthesesnode.h index 999e7bd..fbb1caf 100644 --- a/node/parenthesesnode.h +++ b/node/parenthesesnode.h @@ -34,7 +34,7 @@ public: virtual void run(ExecutionNode* previous = NULL); void setInternelNode(ExecutionNode* node); - virtual QString toString()const; + virtual QString toString(bool)const; virtual qint64 getPriority() const; private: ExecutionNode* m_internalNode; diff --git a/node/rerolldicenode.cpp b/node/rerolldicenode.cpp index 7798f61..ce8f109 100644 --- a/node/rerolldicenode.cpp +++ b/node/rerolldicenode.cpp @@ -48,7 +48,15 @@ void RerollDiceNode::setValidator(Validator* val) } QString RerollDiceNode::toString(bool wl) const { - return QString("RerollDiceNode [label=\"RerollDiceNode validatior:%1\"").arg(m_validator->toString()); + if(wl) + { + return QString("%1 [label=\"RerollDiceNode validatior: %2\"]").arg(m_id).arg(m_validator->toString()); + } + else + { + return m_id; + } + //return QString("RerollDiceNode [label=\"RerollDiceNode validatior:%1\""); } void RerollDiceNode::setAddingMode(bool b) { diff --git a/node/scalaroperatornode.cpp b/node/scalaroperatornode.cpp index dead500..7b13f50 100644 --- a/node/scalaroperatornode.cpp +++ b/node/scalaroperatornode.cpp @@ -159,10 +159,14 @@ QString ScalarOperatorNode::toString(bool wl) const break; } -if(wl) - return QString("ScalarOperatorNode [label=\"ScalarOperatorNode %1\"").arg(op); -else - return QString("ScalarOperatorNode"); + if(wl) + { + return QString("%1 [label=\"ScalarOperatorNode %2\"]").arg(m_id).arg(op); + } + else + { + return m_id; + } } qint64 ScalarOperatorNode::getPriority() const { diff --git a/node/sortresult.cpp b/node/sortresult.cpp index 727810e..ffece63 100644 --- a/node/sortresult.cpp +++ b/node/sortresult.cpp @@ -112,10 +112,14 @@ void SortResultNode::setSortAscending(bool asc) } QString SortResultNode::toString(bool wl) const { -if(wl) - return QString("SortResultNode [label=\"SortResultNode %1\"").arg(m_ascending ? "Ascending":"Descending"); -else - return QString("SortResultNode"); + if(wl) + { + return QString("%1 [label=\"SortResultNode %2\"]").arg(m_id).arg(m_ascending ? "Ascending":"Descending"); + } + else + { + return m_id; + } } qint64 SortResultNode::getPriority() const diff --git a/node/startingnode.cpp b/node/startingnode.cpp index 15ea053..b57c630 100644 --- a/node/startingnode.cpp +++ b/node/startingnode.cpp @@ -15,13 +15,17 @@ void StartingNode::run(ExecutionNode*) } QString StartingNode::toString(bool withlabel) const { -if(withlabel) - return "StartingNode [shape=box]"; -else - return "StartingNode"; + if(withlabel) + { + return QString("%1 [label=\"StartingNode %2\"]").arg(m_id); + } + else + { + return m_id; + } } -} + qint64 StartingNode::getPriority() const { qint64 priority=0; -- cgit v1.2.3-70-g09d2 From 1dc11051931fd074b886a4e1fe0df5d747e87e20 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 11:58:30 +0200 Subject: add bool parameter --- node/listsetrollnode.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'node') diff --git a/node/listsetrollnode.h b/node/listsetrollnode.h index 4a11da2..5f381f5 100644 --- a/node/listsetrollnode.h +++ b/node/listsetrollnode.h @@ -37,7 +37,7 @@ public: ListSetRollNode(); virtual ~ListSetRollNode(); virtual void run(ExecutionNode* previous = NULL); - virtual QString toString()const; + virtual QString toString(bool)const; virtual qint64 getPriority() const; QStringList getList(); -- cgit v1.2.3-70-g09d2 From 831f75a83ca3e5734d3c110af584a0f3bf7430e7 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 12:25:21 +0200 Subject: add bool for toString() in result. --- node/executionnode.cpp | 16 ++++++++++------ result/diceresult.cpp | 11 +++++++++-- result/diceresult.h | 2 +- result/result.cpp | 19 ++++++++++--------- result/result.h | 3 ++- result/scalarresult.cpp | 11 +++++++++-- result/scalarresult.h | 2 +- result/stringresult.cpp | 11 +++++++++-- 8 files changed, 51 insertions(+), 24 deletions(-) (limited to 'node') diff --git a/node/executionnode.cpp b/node/executionnode.cpp index c6f3915..0d15825 100644 --- a/node/executionnode.cpp +++ b/node/executionnode.cpp @@ -9,7 +9,6 @@ ExecutionNode::ExecutionNode() } ExecutionNode::~ExecutionNode() { - if(NULL!=m_result) { delete m_result; @@ -55,19 +54,24 @@ ExecutionNode* ExecutionNode::getPreviousNode() const } void ExecutionNode::generateDotTree(QString& s) { - s.append(toString()); + s.append(toString(true)); + s.append(";\n"); + if(NULL!=m_nextNode) { + s.append(toString(false)); s.append(" -> "); - s.append(m_nextNode->toString()); - s.append(" [label=\"nextNode\"];\n"); + s.append(m_nextNode->toString(false)); + s.append("\n"); +// s.append(" [label=\"nextNode\"];\n"); m_nextNode->generateDotTree(s); } else { + s.append(toString(false)); s.append(" -> "); - s.append("NULL"); - s.append(" [label=\"nextNode\"];\n"); + s.append("NULL;\n;"); + // s.append(" [label=\"nextNode\"];\n"); m_result->generateDotTree(s); } diff --git a/result/diceresult.cpp b/result/diceresult.cpp index 95122f1..65d4a0b 100644 --- a/result/diceresult.cpp +++ b/result/diceresult.cpp @@ -82,12 +82,19 @@ qreal DiceResult::getScalarResult() return 0; } -QString DiceResult::toString() +QString DiceResult::toString(bool wl) { QStringList scalarSum; foreach(Die* die,m_diceValues) { scalarSum << QString::number(die->getValue()); } - return QString("DiceResult_Value_%1_dice_%2").arg(getScalarResult()).arg(scalarSum.join('_')); + if(wl) + { + return QString("%3 [label=\"DiceResult_Value_%1_dice_%2\"]").arg(getScalarResult()).arg(scalarSum.join('_')).arg(m_id); + } + else + { + return m_id; + } } diff --git a/result/diceresult.h b/result/diceresult.h index 07378d1..84a4621 100644 --- a/result/diceresult.h +++ b/result/diceresult.h @@ -65,7 +65,7 @@ public: * @brief toString * @return */ - virtual QString toString(); + virtual QString toString(bool wl); private: qreal getScalarResult(); diff --git a/result/result.cpp b/result/result.cpp index 257045c..6451e63 100644 --- a/result/result.cpp +++ b/result/result.cpp @@ -20,9 +20,10 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "result.h" +#include Result::Result() - : m_previous(NULL) + : m_previous(NULL),m_id(QUuid::createUuid().toString()) { } @@ -47,22 +48,22 @@ bool Result::hasResultOfType(RESULT_TYPE type) const } void Result::generateDotTree(QString& s) { - s.append(toString()); + s.append(toString(true)); + s.append(";\n"); + if(NULL!=m_previous) { + s.append(toString(false)); s.append(" -> "); - s.append(m_previous->toString()); - s.append(" [label=\"previousResult\"];\n"); + s.append(m_previous->toString(true)); + s.append("\n"); m_previous->generateDotTree(s); } { s.append(" -> "); - s.append("NULL"); + s.append("NULL;\n"); s.append(" [label=\"previousResult\"];\n"); } } -/*QString Result::toString() -{ - return QString(); -}*/ + diff --git a/result/result.h b/result/result.h index 3d635bc..7fd32da 100644 --- a/result/result.h +++ b/result/result.h @@ -77,11 +77,12 @@ public: * @brief toString * @return */ - virtual QString toString() = 0; + virtual QString toString(bool wl) = 0; protected: int m_resultTypes;/// @brief private: Result* m_previous;/// @brief + QString m_id; }; diff --git a/result/scalarresult.cpp b/result/scalarresult.cpp index a998608..9168938 100644 --- a/result/scalarresult.cpp +++ b/result/scalarresult.cpp @@ -36,7 +36,14 @@ QVariant ScalarResult::getResult(Result::RESULT_TYPE type) return m_value; } -QString ScalarResult::toString() +QString ScalarResult::toString(bool wl) { - return QString("ScalarResult_Value_%1").arg(m_value); + if(wl) + { + return QString("%2 [label=\"ScalarResult %1\"]").arg(m_value).arg(m_id); + } + else + { + return m_id; + } } diff --git a/result/scalarresult.h b/result/scalarresult.h index 8a0fa11..f441c9b 100644 --- a/result/scalarresult.h +++ b/result/scalarresult.h @@ -49,7 +49,7 @@ public: * @brief toString * @return */ - virtual QString toString(); + virtual QString toString(bool); private: qreal m_value; diff --git a/result/stringresult.cpp b/result/stringresult.cpp index 4dbd577..b7dc39d 100644 --- a/result/stringresult.cpp +++ b/result/stringresult.cpp @@ -31,7 +31,14 @@ QVariant StringResult::getResult(RESULT_TYPE type) return QVariant(); } -QString StringResult::toString() +QString StringResult::toString(bool wl) { - return QString("StringResult_value_%1").arg(getText().replace(" ","_")); + if(wl) + { + return QString("%2 [label=\"StringResult_value_%1\"]").arg(getText().replace(" ","_")).arg(m_id); + } + else + { + return m_id; + } } -- cgit v1.2.3-70-g09d2 From b7a58837e1ad1412a5fece212d4619bedc4a5d4c Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 12:29:05 +0200 Subject: fix compilation --- node/helpnode.cpp | 3 +-- result/stringresult.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'node') diff --git a/node/helpnode.cpp b/node/helpnode.cpp index d5fc2c9..376f48a 100644 --- a/node/helpnode.cpp +++ b/node/helpnode.cpp @@ -14,8 +14,7 @@ void HelpNode::run(ExecutionNode* previous) { if(previous->getResult() == NULL) { - txtResult->setText(toString()); - + txtResult->setText(tr("Rolisteam Dice Parser:\nFull documentation at: %1").arg(m_path)); } else { diff --git a/result/stringresult.h b/result/stringresult.h index 5a6b26c..37739a2 100644 --- a/result/stringresult.h +++ b/result/stringresult.h @@ -36,7 +36,7 @@ public: * @brief toString * @return */ - virtual QString toString(); + virtual QString toString(bool ); private: QString m_value; }; -- cgit v1.2.3-70-g09d2 From d4061b6d9660d8dfc0a478fb252b93ec3dfd0f1c Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 12:31:23 +0200 Subject: fix compilation --- node/helpnode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'node') diff --git a/node/helpnode.cpp b/node/helpnode.cpp index 376f48a..d4a5d4b 100644 --- a/node/helpnode.cpp +++ b/node/helpnode.cpp @@ -14,7 +14,7 @@ void HelpNode::run(ExecutionNode* previous) { if(previous->getResult() == NULL) { - txtResult->setText(tr("Rolisteam Dice Parser:\nFull documentation at: %1").arg(m_path)); + txtResult->setText(QObject::tr("Rolisteam Dice Parser:\nFull documentation at: %1").arg(m_path)); } else { -- cgit v1.2.3-70-g09d2 From d0aed2adeb87bfd969ec24444d3e27928bbea5ff Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 12:32:25 +0200 Subject: fix compilation --- node/parenthesesnode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'node') diff --git a/node/parenthesesnode.cpp b/node/parenthesesnode.cpp index 3398f0a..d859632 100644 --- a/node/parenthesesnode.cpp +++ b/node/parenthesesnode.cpp @@ -51,7 +51,7 @@ void ParenthesesNode::run(ExecutionNode* /*previous*/) } QString ParenthesesNode::toString(bool b) const { - if(wl) + if(b) { return QString("%1 [label=\"ParenthesesNode\"]").arg(m_id); } -- cgit v1.2.3-70-g09d2 From 0bbdc72494d7d3c769346a24d0f0aa9b7fe63fb9 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 12:36:03 +0200 Subject: fix compilation --- node/scalaroperatornode.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'node') diff --git a/node/scalaroperatornode.cpp b/node/scalaroperatornode.cpp index 7b13f50..4bd2347 100644 --- a/node/scalaroperatornode.cpp +++ b/node/scalaroperatornode.cpp @@ -181,27 +181,31 @@ qint64 ScalarOperatorNode::getPriority() const } void ScalarOperatorNode::generateDotTree(QString& s) { - s.append(toString()); + s.append(toString(true)); + s.append(";\n"); + if(NULL!=m_nextNode) { + s.append(toString(false)); s.append(" -> "); - s.append(m_nextNode->toString()); - s.append(" [label=\"nextNode\"];\n"); + s.append(m_nextNode->toString(false)); + s.append(";\n"); m_nextNode->generateDotTree(s); } else { + s.append(toString(false)); s.append(" -> "); - s.append("NULL"); - s.append(" [label=\"nextNode\"];\n"); + s.append("NULL"); + s.append(" [label=\"nextNode\"];\n"); } QString str; str.append("\n"); if(NULL!=m_internalNode) { - str.append(toString()); + str.append(toString(false)); str.append(" -> "); - str.append(m_internalNode->toString()); + str.append(m_internalNode->toString(false)); str.append(" [label=\"internalNode\"];\n"); m_internalNode->generateDotTree(str); } -- cgit v1.2.3-70-g09d2 From 784c00cc2e0d224723b2480b5a7776ccd26c90b3 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 12:52:50 +0200 Subject: improve the dot generation. --- node/executionnode.cpp | 11 ++++++++--- result/diceresult.cpp | 2 +- result/result.cpp | 3 ++- 3 files changed, 11 insertions(+), 5 deletions(-) (limited to 'node') diff --git a/node/executionnode.cpp b/node/executionnode.cpp index 0d15825..cdda93d 100644 --- a/node/executionnode.cpp +++ b/node/executionnode.cpp @@ -3,7 +3,7 @@ #include ExecutionNode::ExecutionNode() - : m_nextNode(NULL),m_result(NULL),m_previousNode(NULL),m_id(QUuid::createUuid().toString()) + : m_nextNode(NULL),m_result(NULL),m_previousNode(NULL),m_id(QString("\"%1\"").arg(QUuid::createUuid().toString()) { } @@ -62,7 +62,7 @@ void ExecutionNode::generateDotTree(QString& s) s.append(toString(false)); s.append(" -> "); s.append(m_nextNode->toString(false)); - s.append("\n"); + s.append(";\n"); // s.append(" [label=\"nextNode\"];\n"); m_nextNode->generateDotTree(s); } @@ -71,7 +71,12 @@ void ExecutionNode::generateDotTree(QString& s) s.append(toString(false)); s.append(" -> "); s.append("NULL;\n;"); - // s.append(" [label=\"nextNode\"];\n"); + + + s.append(toString(false)); + s.append(" ->"); + s.append(m_result->toString(false)); + s.append(" [label=\"Result\"];\n"); m_result->generateDotTree(s); } diff --git a/result/diceresult.cpp b/result/diceresult.cpp index 65d4a0b..6c46de0 100644 --- a/result/diceresult.cpp +++ b/result/diceresult.cpp @@ -91,7 +91,7 @@ QString DiceResult::toString(bool wl) } if(wl) { - return QString("%3 [label=\"DiceResult_Value_%1_dice_%2\"]").arg(getScalarResult()).arg(scalarSum.join('_')).arg(m_id); + return QString("%3 [label=\"DiceResult Value %1 dice %2\"]").arg(getScalarResult()).arg(scalarSum.join('_')).arg(m_id); } else { diff --git a/result/result.cpp b/result/result.cpp index 6451e63..401123a 100644 --- a/result/result.cpp +++ b/result/result.cpp @@ -60,8 +60,9 @@ void Result::generateDotTree(QString& s) m_previous->generateDotTree(s); } { + s.append(toString(false)); s.append(" -> "); - s.append("NULL;\n"); + s.append("NULL"); s.append(" [label=\"previousResult\"];\n"); } -- cgit v1.2.3-70-g09d2 From 594bede3485085f0211e60a3ab30050b651c884e Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 12:54:18 +0200 Subject: fix compilation --- node/executionnode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'node') diff --git a/node/executionnode.cpp b/node/executionnode.cpp index cdda93d..f759884 100644 --- a/node/executionnode.cpp +++ b/node/executionnode.cpp @@ -3,7 +3,7 @@ #include ExecutionNode::ExecutionNode() - : m_nextNode(NULL),m_result(NULL),m_previousNode(NULL),m_id(QString("\"%1\"").arg(QUuid::createUuid().toString()) + : m_nextNode(NULL),m_result(NULL),m_previousNode(NULL),m_id(QString("\"%1\"").arg(QUuid::createUuid().toString())) { } -- cgit v1.2.3-70-g09d2 From 065c8f53cebd098d11695eaec07c178d78737c8e Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 13:00:38 +0200 Subject: remove useless ; --- node/executionnode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'node') diff --git a/node/executionnode.cpp b/node/executionnode.cpp index f759884..abcb7cf 100644 --- a/node/executionnode.cpp +++ b/node/executionnode.cpp @@ -70,7 +70,7 @@ void ExecutionNode::generateDotTree(QString& s) { s.append(toString(false)); s.append(" -> "); - s.append("NULL;\n;"); + s.append("NULL;\n"); s.append(toString(false)); -- cgit v1.2.3-70-g09d2 From 4c96c3f33cbb0552275e4a87046ac0a8fa88162c Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 15:25:26 +0200 Subject: fix little issues --- node/dicerollernode.cpp | 7 ++----- node/keepdiceexecnode.cpp | 2 +- node/startingnode.cpp | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) (limited to 'node') diff --git a/node/dicerollernode.cpp b/node/dicerollernode.cpp index 213c8ec..fa73185 100644 --- a/node/dicerollernode.cpp +++ b/node/dicerollernode.cpp @@ -61,10 +61,7 @@ void DiceRollerNode::run(ExecutionNode* previous) m_nextNode->run(this); } } - } - - - + } } quint64 DiceRollerNode::getFaces() @@ -75,7 +72,7 @@ QString DiceRollerNode::toString(bool wl) const { if(wl) { - return QString("%1 [label=DiceRollerNode]").arg(m_id); + return QString("%1 [label=DiceRollerNode faces: %2]").arg(m_id).arg(m_faces); } else { diff --git a/node/keepdiceexecnode.cpp b/node/keepdiceexecnode.cpp index 492e69c..7407d30 100644 --- a/node/keepdiceexecnode.cpp +++ b/node/keepdiceexecnode.cpp @@ -66,7 +66,7 @@ QString KeepDiceExecNode::toString(bool wl) const { if(wl) { - return QString("%1 [label=\"KeepDiceExecNode %1\"]").arg(m_id).arg(m_numberOfDice); + return QString("%1 [label=\"KeepDiceExecNode %2\"]").arg(m_id).arg(m_numberOfDice); } else { diff --git a/node/startingnode.cpp b/node/startingnode.cpp index b57c630..42fba6f 100644 --- a/node/startingnode.cpp +++ b/node/startingnode.cpp @@ -17,7 +17,7 @@ QString StartingNode::toString(bool withlabel) const { if(withlabel) { - return QString("%1 [label=\"StartingNode %2\"]").arg(m_id); + return QString("%1 [label=\"StartingNode\"]").arg(m_id); } else { -- cgit v1.2.3-70-g09d2 From 4a7faef6ead8e92839f7d615bc510218cc8dd63f Mon Sep 17 00:00:00 2001 From: Renaud G Date: Thu, 20 Aug 2015 16:11:34 +0200 Subject: add comments --- node/dicerollernode.cpp | 25 +------------------------ node/dicerollernode.h | 36 ++++++++++++++++++++++-------------- 2 files changed, 23 insertions(+), 38 deletions(-) (limited to 'node') diff --git a/node/dicerollernode.cpp b/node/dicerollernode.cpp index fa73185..73a7218 100644 --- a/node/dicerollernode.cpp +++ b/node/dicerollernode.cpp @@ -8,30 +8,7 @@ #include -//DiceRoller::DiceRoller(QMutex* mutex,DiceResult* diceResult,int faces,int count) -// : m_mutex(mutex),m_sharedDiceResult(diceResult),m_faces(faces),m_diceCount(count) -//{ -//} - -//void DiceRoller::run() -//{ -// for(quint64 i=0; i < m_diceCount ; ++i) -// { -// Die* die = new Die(); -// die->setFaces(m_faces); -// die->roll(); -// m_mutex->lock(); -// m_sharedDiceResult->insertResult(die); -// m_mutex->unlock(); -// } -//} - - - -////////////////////////////////////////////////// -/// \brief DiceRollerNode::DiceRollerNode -////////////////////////////////////////////////// DiceRollerNode::DiceRollerNode(quint64 faces,qint64 offset) : m_faces(faces),m_diceResult(new DiceResult()),m_offset(offset) { @@ -72,7 +49,7 @@ QString DiceRollerNode::toString(bool wl) const { if(wl) { - return QString("%1 [label=DiceRollerNode faces: %2]").arg(m_id).arg(m_faces); + return QString("%1 [label=\"DiceRollerNode faces: %2\"]").arg(m_id).arg(m_faces); } else { diff --git a/node/dicerollernode.h b/node/dicerollernode.h index 402ef40..808676f 100644 --- a/node/dicerollernode.h +++ b/node/dicerollernode.h @@ -2,35 +2,43 @@ #define DICEROLLERNODE_H #include -#include -#include #include "executionnode.h" #include "result/diceresult.h" -//class DiceRoller : public QRunnable -//{ -//public: -// DiceRoller(QMutex* mutex,DiceResult* diceResult,int faces,int count); -// virtual void run (); -//private: -// QMutex* m_mutex; -// DiceResult* m_sharedDiceResult; -// int m_faces; -// quint64 m_diceCount; -//}; /** - * @brief The DiceRollerNode class + * @brief The DiceRollerNode class rolls dice of one kind. */ class DiceRollerNode : public ExecutionNode { public: + /** + * @brief DiceRollerNode builds an instance + * @param faces, number of faces of dices + * @param offset, first value of dice. + */ DiceRollerNode(quint64 faces, qint64 offset = 1); + /** + * @brief run - starts to roll dice. + */ virtual void run(ExecutionNode*); + /** + * @brief getFaces accessor + * @return the face count + */ quint64 getFaces(); + /** + * @brief toString + * @param wl + * @return use to generate dot tree; + */ virtual QString toString(bool wl)const; + /** + * @brief getPriority + * @return priority for dice roll: 4 (higher) + */ virtual qint64 getPriority() const; //private members private: -- cgit v1.2.3-70-g09d2