aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/node
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2015-05-05 07:03:46 +0200
committerRenaud G <renaud@rolisteam.org>2015-05-05 07:03:46 +0200
commite844799045b0b3a4d8a968e011c96c10003d4256 (patch)
tree1e0d159489152769c87295e5c33e574d25ebc6a6 /node
parent590fc6528b09bf1abbd90caf31053cd5ef6b439b (diff)
parent6dbf254b7d5b19b77eb4716b24a1768f48b11248 (diff)
downloadOneRoll-e844799045b0b3a4d8a968e011c96c10003d4256.tar.gz
OneRoll-e844799045b0b3a4d8a968e011c96c10003d4256.zip
Merge branch 'master' of github.com:obiwankennedy/DiceParser
Diffstat (limited to 'node')
-rw-r--r--node/helpnode.cpp2
-rw-r--r--node/jumpbackwardnode.cpp20
-rw-r--r--node/jumpbackwardnode.h23
-rw-r--r--node/keepdiceexecnode.cpp20
-rw-r--r--node/keepdiceexecnode.h25
-rw-r--r--node/listaliasnode.cpp20
-rw-r--r--node/listaliasnode.h23
-rw-r--r--node/listsetrollnode.cpp20
-rw-r--r--node/listsetrollnode.h24
-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
16 files changed, 348 insertions, 8 deletions
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:
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;
};