aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--diceparser.h2
-rw-r--r--node/numbernode.cpp21
-rw-r--r--node/numbernode.h24
-rw-r--r--node/parenthesesnode.cpp21
-rw-r--r--node/parenthesesnode.h26
-rw-r--r--node/sortresult.cpp23
-rw-r--r--node/sortresult.h45
-rw-r--r--node/startingnode.h19
-rw-r--r--parsingtoolbox.h3
-rw-r--r--range.h3
-rw-r--r--result/scalarresult.h22
-rw-r--r--validator.h25
12 files changed, 221 insertions, 13 deletions
diff --git a/diceparser.h b/diceparser.h
index 93c5c2e..717630e 100644
--- a/diceparser.h
+++ b/diceparser.h
@@ -41,7 +41,7 @@ typedef QMap<int,ListDiceResult > ExportedDiceResult;
class ExploseDiceNode;
/**
- * @mainpage DiceParser
+ * @page DiceParser
*
* The grammar is something like this:
*
diff --git a/node/numbernode.cpp b/node/numbernode.cpp
index 51a859f..ba063db 100644
--- a/node/numbernode.cpp
+++ b/node/numbernode.cpp
@@ -1,3 +1,24 @@
+/***************************************************************************
+* Copyright (C) 2014 by Renaud Guezennec *
+* http://renaudguezennec.homelinux.org/accueil,3.html *
+* *
+* This file is part of DiceParser *
+* *
+* DiceParser 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 "numbernode.h"
NumberNode::NumberNode()
diff --git a/node/numbernode.h b/node/numbernode.h
index f653595..3c43a51 100644
--- a/node/numbernode.h
+++ b/node/numbernode.h
@@ -1,9 +1,33 @@
+/***************************************************************************
+* Copyright (C) 2014 by Renaud Guezennec *
+* http://renaudguezennec.homelinux.org/accueil,3.html *
+* *
+* This file is part of DiceParser *
+* *
+* DiceParser 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 NUMBERNODE_H
#define NUMBERNODE_H
#include "node/executionnode.h"
#include "result/scalarresult.h"
+/**
+ * @brief The NumberNode class is an ExecutionNode. It is dedicated to store number.
+ */
class NumberNode : public ExecutionNode
{
public:
diff --git a/node/parenthesesnode.cpp b/node/parenthesesnode.cpp
index f76d33c..2876147 100644
--- a/node/parenthesesnode.cpp
+++ b/node/parenthesesnode.cpp
@@ -1,3 +1,24 @@
+/***************************************************************************
+* Copyright (C) 2014 by Renaud Guezennec *
+* http://renaudguezennec.homelinux.org/accueil,3.html *
+* *
+* This file is part of DiceParser *
+* *
+* DiceParser 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 "parenthesesnode.h"
ParenthesesNode::ParenthesesNode()
diff --git a/node/parenthesesnode.h b/node/parenthesesnode.h
index 9df3cdc..999e7bd 100644
--- a/node/parenthesesnode.h
+++ b/node/parenthesesnode.h
@@ -1,8 +1,32 @@
+/***************************************************************************
+* Copyright (C) 2014 by Renaud Guezennec *
+* http://renaudguezennec.homelinux.org/accueil,3.html *
+* *
+* This file is part of DiceParser *
+* *
+* DiceParser 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 PARENTHESESNODE_H
#define PARENTHESESNODE_H
#include "executionnode.h"
-
+/**
+ * @brief The ParenthesesNode class is an ExecutionNode. It is dedicated to manage expression which was inside ParenthesesNode.
+ * It is acting just like an StartingNode by for an internal execution tree.
+ */
class ParenthesesNode : public ExecutionNode
{
public:
diff --git a/node/sortresult.cpp b/node/sortresult.cpp
index deaf794..b3e6b49 100644
--- a/node/sortresult.cpp
+++ b/node/sortresult.cpp
@@ -1,3 +1,24 @@
+/***************************************************************************
+* Copyright (C) 2014 by Renaud Guezennec *
+* http://renaudguezennec.homelinux.org/accueil,3.html *
+* *
+* This file is part of DiceParser *
+* *
+* DiceParser 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 "sortresult.h"
#include <QDebug>
@@ -25,7 +46,7 @@ void SortResultNode::run(ExecutionNode* node)
QList<Die*> diceList2=m_diceResult->getResultList();
- // Dichotomic sorting
+ // half-interval search sorting
for(int i = 0; i<diceList.size();++i)
{
Die* tmp1 = diceList[i];
diff --git a/node/sortresult.h b/node/sortresult.h
index 8ce03a2..d505e4b 100644
--- a/node/sortresult.h
+++ b/node/sortresult.h
@@ -1,18 +1,59 @@
+/***************************************************************************
+* Copyright (C) 2014 by Renaud Guezennec *
+* http://renaudguezennec.homelinux.org/accueil,3.html *
+* *
+* This file is part of DiceParser *
+* *
+* DiceParser 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 SORTRESULT_H
#define SORTRESULT_H
#include "executionnode.h"
#include "result/diceresult.h"
-
+/**
+ * @brief The SortResultNode class is an ExecutionNode, and it is dedicated to sort dice list.
+ * The sort is made by hand, using half-interval search algorithm.
+ */
class SortResultNode : public ExecutionNode
{
public:
+ /**
+ * @brief SortResultNode
+ */
SortResultNode();
+ /**
+ * @brief run
+ */
virtual void run(ExecutionNode*);
-
+ /**
+ * @brief setSortAscending
+ * @param asc
+ */
void setSortAscending(bool asc);
+ /**
+ * @brief toString
+ * @return
+ */
virtual QString toString()const;
+ /**
+ * @brief getPriority
+ * @return
+ */
virtual qint64 getPriority() const;
private:
diff --git a/node/startingnode.h b/node/startingnode.h
index ccb7c87..ebe28c0 100644
--- a/node/startingnode.h
+++ b/node/startingnode.h
@@ -3,13 +3,30 @@
#include "executionnode.h"
+/**
+ * @brief The StartingNode class is an ExecutionNode, StartingNode is dedicated to be the first node
+ * in the execution tree.
+ */
class StartingNode : public ExecutionNode
{
public:
+ /**
+ * @brief StartingNode
+ */
StartingNode();
-
+ /**
+ * @brief run
+ */
virtual void run(ExecutionNode*);
+ /**
+ * @brief toString
+ * @return
+ */
virtual QString toString()const;
+ /**
+ * @brief getPriority
+ * @return
+ */
virtual qint64 getPriority() const;
};
diff --git a/parsingtoolbox.h b/parsingtoolbox.h
index d7fdc31..8958550 100644
--- a/parsingtoolbox.h
+++ b/parsingtoolbox.h
@@ -30,7 +30,8 @@
#include "range.h"
/**
- * @brief The ParsingToolBox class - gathering tools
+ * @brief The ParsingToolBox is gathering many useful methods for dice parsing.
+ * Its goal is to make the diceparser a bit lighter.
*/
class ParsingToolBox
{
diff --git a/range.h b/range.h
index 3573174..e50a48e 100644
--- a/range.h
+++ b/range.h
@@ -25,6 +25,9 @@
#include <Qt>
#include "validator.h"
+/**
+ * @brief The Range class is validator class to check validity between two values.
+ */
class Range : public Validator
{
public:
diff --git a/result/scalarresult.h b/result/scalarresult.h
index 4d64a90..8a0fa11 100644
--- a/result/scalarresult.h
+++ b/result/scalarresult.h
@@ -25,16 +25,30 @@
#include "result.h"
#include <Qt>
-
+/**
+ * @brief The ScalarResult class is used to store scalar result by many ExecutionNode.
+ */
class ScalarResult : public Result
{
public:
+ /**
+ * @brief ScalarResult
+ */
ScalarResult();
-
+ /**
+ * @brief getResult
+ * @return
+ */
virtual QVariant getResult(Result::RESULT_TYPE);
-
+ /**
+ * @brief setValue
+ * @param i
+ */
void setValue(qreal i);
-
+ /**
+ * @brief toString
+ * @return
+ */
virtual QString toString();
private:
diff --git a/validator.h b/validator.h
index d18a691..6dd8292 100644
--- a/validator.h
+++ b/validator.h
@@ -25,14 +25,35 @@
#include <Qt>
#include "die.h"
#include <QString>
-
+/**
+ * @brief The Validator class is an abstract class for checking the validity of dice for some
+ * operator.
+ */
class Validator
{
public:
+ /**
+ * @brief Validator
+ */
Validator();
+ /**
+ * @brief hasValid
+ * @param b
+ * @param recursive
+ * @param unlight
+ * @return
+ */
virtual qint64 hasValid(Die* b,bool recursive,bool unlight = false) const = 0 ;
-
+ /**
+ * @brief toString
+ * @return
+ */
virtual QString toString()=0;
+ /**
+ * @brief getValidRangeSize
+ * @param faces
+ * @return
+ */
virtual quint8 getValidRangeSize(quint64 faces) const = 0 ;
};