diff options
| -rw-r--r-- | booleancondition.h | 5 | ||||
| -rw-r--r-- | cli/main.cpp | 46 | ||||
| -rw-r--r-- | node/helpnode.cpp | 2 | ||||
| -rw-r--r-- | node/jumpbackwardnode.cpp | 20 | ||||
| -rw-r--r-- | node/jumpbackwardnode.h | 23 | ||||
| -rw-r--r-- | node/keepdiceexecnode.cpp | 20 | ||||
| -rw-r--r-- | node/keepdiceexecnode.h | 25 | ||||
| -rw-r--r-- | node/listaliasnode.cpp | 20 | ||||
| -rw-r--r-- | node/listaliasnode.h | 23 | ||||
| -rw-r--r-- | node/listsetrollnode.cpp | 20 | ||||
| -rw-r--r-- | node/listsetrollnode.h | 24 |
11 files changed, 214 insertions, 14 deletions
diff --git a/booleancondition.h b/booleancondition.h index 8de8854..cb37b9e 100644 --- a/booleancondition.h +++ b/booleancondition.h @@ -24,7 +24,10 @@ #include <Qt> #include "validator.h" - +/** + * @brief The BooleanCondition class is a Validator class checking validity from logic expression. + * It manages many operators (see : @ref LogicOperator). + */ class BooleanCondition : public Validator { public: diff --git a/cli/main.cpp b/cli/main.cpp index 94fcc00..2c4ddfa 100644 --- a/cli/main.cpp +++ b/cli/main.cpp @@ -24,7 +24,10 @@ #include "diceparser.h" #include <QCommandLineParser> #include <QCommandLineOption> -#include <QDebug> +#include <QTextStream> + + +QTextStream out(stdout, QIODevice::WriteOnly); QString diceToText(ExportedDiceResult& dice) { @@ -93,7 +96,7 @@ void startDiceParsing(QString& cmd,QString& treeFile,bool highlight) parser->Start(); if(!parser->getErrorMap().isEmpty()) { - qDebug() << "Error" << parser->humanReadableError(); + out << "Error" << parser->humanReadableError()<< "\n"; return; } @@ -116,9 +119,9 @@ void startDiceParsing(QString& cmd,QString& treeFile,bool highlight) if(parser->hasStringResult()) { - str = parser->getStringResult().replace("\n","<br/>"); + str = parser->getStringResult(); } - qDebug() << str; + out << str << "\n"; } else { @@ -127,18 +130,35 @@ void startDiceParsing(QString& cmd,QString& treeFile,bool highlight) } else { - qDebug() << parser->humanReadableError(); + out << parser->humanReadableError()<< "\n";; } } - +void usage() +{ + QString help = "Usage: ./dice [options]\n\ +\n\ +Options:\n\ + -c, --color-off Disable color to highlight result\n\ + -v, --version Show the version and quit.\n\ + --reset-settings Erase the settings and use the default\n\ + parameters\n\ + -d, --dot-file <dotfile> Instead of rolling dice, generate the\n\ + execution tree and write it in <dotfile>\n\ + -t, --translation <translationfile> path to the translation file:\n\ + <translationfile>\n\ + -h, --help Display this help\n\ +"; + + out << help; +} int main(int argc, char *argv[]) { - //QCoreApplication app(argc,argv); - //QCoreApplication::setApplicationName("dice"); - //QCoreApplication::setApplicationVersion("1.0"); + QCoreApplication app(argc,argv); + QCoreApplication::setApplicationName("dice"); + QCoreApplication::setApplicationVersion("1.0"); QStringList commands; @@ -157,7 +177,7 @@ int main(int argc, char *argv[]) if(!optionParser.addOption(color)) { - qDebug()<< optionParser.errorText(); + out << optionParser.errorText() << "\n"; } optionParser.addOption(version); @@ -184,6 +204,8 @@ int main(int argc, char *argv[]) } else if(optionParser.isSet(version)) { + out << "Rolisteam DiceParser v1.0.0"<< "\n"; + out << "More Details: www.rolisteam.org"<< "\n"; return 0; } else if(optionParser.isSet(reset)) @@ -212,6 +234,10 @@ int main(int argc, char *argv[]) if(!cmd.isEmpty()) { startDiceParsing(cmd,dotFileStr,colorb); + if(cmd=="help") + { + usage(); + } } /*commands<< "10d10c[>6]+@c[=10]" diff --git a/node/helpnode.cpp b/node/helpnode.cpp index f31fac1..ffe5f55 100644 --- a/node/helpnode.cpp +++ b/node/helpnode.cpp @@ -30,7 +30,7 @@ void HelpNode::run(ExecutionNode* previous) } QString HelpNode::toString()const { - return QObject::tr("Rolisteam Dice Parser: Full documentation at: <a href=\"https://github.com/obiwankennedy/DiceParser/blob/master/HelpMe.md\">https://github.com/obiwankennedy/DiceParser/blob/master/HelpMe.md</a> \n"); + return QObject::tr("Rolisteam Dice Parser:\nFull documentation at: https://github.com/obiwankennedy/DiceParser/blob/master/HelpMe.md \n"); } qint64 HelpNode::getPriority() const diff --git a/node/jumpbackwardnode.cpp b/node/jumpbackwardnode.cpp index d800394..be759ce 100644 --- a/node/jumpbackwardnode.cpp +++ b/node/jumpbackwardnode.cpp @@ -1,3 +1,23 @@ +/************************************************************************* + * Copyright (C) 2009 by Renaud Guezennec * + * * + * http://www.rolisteam.org/ * + * * + * rolisteam is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published * + * by the Free Software Foundation; either version 2 of the License, * + * or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + *************************************************************************/ #include "jumpbackwardnode.h" #include <QDebug> diff --git a/node/jumpbackwardnode.h b/node/jumpbackwardnode.h index c6c1e4d..469c64a 100644 --- a/node/jumpbackwardnode.h +++ b/node/jumpbackwardnode.h @@ -1,8 +1,31 @@ +/************************************************************************* + * Copyright (C) 2009 by Renaud Guezennec * + * * + * http://www.rolisteam.org/ * + * * + * rolisteam is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published * + * by the Free Software Foundation; either version 2 of the License, * + * or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + *************************************************************************/ #ifndef JUMPBACKWARDNODE_H #define JUMPBACKWARDNODE_H #include "executionnode.h" #include "result/diceresult.h" +/** + * @brief The JumpBackwardNode class is dedicated to change the previous dice of one dice option. + */ class JumpBackwardNode : public ExecutionNode { public: diff --git a/node/keepdiceexecnode.cpp b/node/keepdiceexecnode.cpp index e8cfac8..859f733 100644 --- a/node/keepdiceexecnode.cpp +++ b/node/keepdiceexecnode.cpp @@ -1,3 +1,23 @@ +/************************************************************************* + * Copyright (C) 2009 by Renaud Guezennec * + * * + * http://www.rolisteam.org/ * + * * + * rolisteam is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published * + * by the Free Software Foundation; either version 2 of the License, * + * or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + *************************************************************************/ #include <QList> diff --git a/node/keepdiceexecnode.h b/node/keepdiceexecnode.h index 96e66c4..01f5028 100644 --- a/node/keepdiceexecnode.h +++ b/node/keepdiceexecnode.h @@ -1,9 +1,32 @@ +/************************************************************************* + * Copyright (C) 2009 by Renaud Guezennec * + * * + * http://www.rolisteam.org/ * + * * + * rolisteam is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published * + * by the Free Software Foundation; either version 2 of the License, * + * or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + *************************************************************************/ #ifndef KEEPDICEEXECNODE_H #define KEEPDICEEXECNODE_H #include "executionnode.h" #include "result/diceresult.h" - +/** + * @brief The KeepDiceExecNode class splits the dice result to get the m_numberOfDice dice from the beginning of the dice result. + * Usually the pervious node of an KeepDiceExecNode is an SortNode. + */ class KeepDiceExecNode : public ExecutionNode { public: diff --git a/node/listaliasnode.cpp b/node/listaliasnode.cpp index b85d4c9..4fd4ab0 100644 --- a/node/listaliasnode.cpp +++ b/node/listaliasnode.cpp @@ -1,3 +1,23 @@ +/************************************************************************* + * Copyright (C) 2009 by Renaud Guezennec * + * * + * http://www.rolisteam.org/ * + * * + * rolisteam is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published * + * by the Free Software Foundation; either version 2 of the License, * + * or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + *************************************************************************/ #include "listaliasnode.h" ListAliasNode::ListAliasNode(QList<DiceAlias*>* apAlias) diff --git a/node/listaliasnode.h b/node/listaliasnode.h index ea70fe7..e08d073 100644 --- a/node/listaliasnode.h +++ b/node/listaliasnode.h @@ -1,3 +1,23 @@ +/************************************************************************* + * Copyright (C) 2009 by Renaud Guezennec * + * * + * http://www.rolisteam.org/ * + * * + * rolisteam is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published * + * by the Free Software Foundation; either version 2 of the License, * + * or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + *************************************************************************/ #ifndef LISTALIASNODE_H #define LISTALIASNODE_H @@ -5,6 +25,9 @@ #include "result/stringresult.h" #include "dicealias.h" +/** + * @brief The ListAliasNode class is dedicated to display the list of the current aliases. + */ class ListAliasNode : public ExecutionNode { public: diff --git a/node/listsetrollnode.cpp b/node/listsetrollnode.cpp index 777f7b0..6512df5 100644 --- a/node/listsetrollnode.cpp +++ b/node/listsetrollnode.cpp @@ -1,3 +1,23 @@ +/************************************************************************* + * Copyright (C) 2009 by Renaud Guezennec * + * * + * http://www.rolisteam.org/ * + * * + * rolisteam is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published * + * by the Free Software Foundation; either version 2 of the License, * + * or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + *************************************************************************/ #include "listsetrollnode.h" #include "die.h" diff --git a/node/listsetrollnode.h b/node/listsetrollnode.h index c7925b8..3102ade 100644 --- a/node/listsetrollnode.h +++ b/node/listsetrollnode.h @@ -1,3 +1,23 @@ +/************************************************************************* + * Copyright (C) 2009 by Renaud Guezennec * + * * + * http://www.rolisteam.org/ * + * * + * rolisteam is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published * + * by the Free Software Foundation; either version 2 of the License, * + * or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + *************************************************************************/ #ifndef LISTSETROLLNODE_H #define LISTSETROLLNODE_H @@ -7,7 +27,9 @@ #include "executionnode.h" #include "result/diceresult.h" #include "result/stringresult.h" - +/** + * @brief The ListSetRollNode class is dedicated to pick up item from list. + */ class ListSetRollNode : public ExecutionNode { public: |