aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2016-01-10 17:55:32 +0100
committerRenaud G <renaud@rolisteam.org>2016-01-10 17:55:32 +0100
commit7df15a3d41d87bbed9155a5cff2fda70acbf2f0e (patch)
tree12acda80f00901f06ec72e77a2ac3aab9e03f9b2
parent20812f196cfba490952d2e148b4e321c10cbad7e (diff)
parentdb15e41502743d1124062eddb8d2bb3617e2593c (diff)
downloadOneRoll-7df15a3d41d87bbed9155a5cff2fda70acbf2f0e.tar.gz
OneRoll-7df15a3d41d87bbed9155a5cff2fda70acbf2f0e.zip
merge MergeOp into master
-rw-r--r--booleancondition.cpp14
-rw-r--r--compositevalidator.cpp1
-rw-r--r--dicealias.cpp25
-rw-r--r--dicealias.h20
-rw-r--r--diceparser.cpp66
-rw-r--r--diceparser.h2
-rw-r--r--die.cpp6
-rw-r--r--die.h6
-rw-r--r--node/scalaroperatornode.cpp4
-rw-r--r--node/scalaroperatornode.h6
-rw-r--r--parsingtoolbox.cpp43
-rw-r--r--range.cpp6
-rw-r--r--range.h2
-rw-r--r--result/diceresult.cpp23
-rw-r--r--result/result.cpp2
-rw-r--r--result/result.h2
16 files changed, 112 insertions, 116 deletions
diff --git a/booleancondition.cpp b/booleancondition.cpp
index c09166e..40a3804 100644
--- a/booleancondition.cpp
+++ b/booleancondition.cpp
@@ -83,26 +83,26 @@ void BooleanCondition::setValue(qint64 v)
}
QString BooleanCondition::toString()
{
- QString str="";
+ QString str(QStringLiteral(""));
switch (m_operator)
{
case Equal:
- str.append("=");
+ str.append(QStringLiteral("="));
break;
case GreaterThan:
- str.append(">");
+ str.append(QStringLiteral(">"));
break;
case LesserThan:
- str.append("<");
+ str.append(QStringLiteral("<"));
break;
case GreaterOrEqual:
- str.append(">=");
+ str.append(QStringLiteral(">="));
break;
case LesserOrEqual:
- str.append("<=");
+ str.append(QStringLiteral("<="));
break;
}
- return QString("[%1%2]").arg(str).arg(m_value);
+ return QStringLiteral("[%1%2]").arg(str).arg(m_value);
}
quint64 BooleanCondition::getValidRangeSize(quint64 faces) const
{
diff --git a/compositevalidator.cpp b/compositevalidator.cpp
index cc52fdd..167c73b 100644
--- a/compositevalidator.cpp
+++ b/compositevalidator.cpp
@@ -23,6 +23,7 @@
CompositeValidator::CompositeValidator()
+ : m_operators(NULL),m_validatorList(NULL)
{
}
qint64 CompositeValidator::hasValid(Die* b,bool recursive,bool unhighlight) const
diff --git a/dicealias.cpp b/dicealias.cpp
index f9c366c..59e8d69 100644
--- a/dicealias.cpp
+++ b/dicealias.cpp
@@ -22,8 +22,10 @@
#include "dicealias.h"
#include <QRegularExpression>
-DiceAlias::DiceAlias(QString cmd, QString key, bool isReplace)
- : m_command(cmd),m_value(key)
+#include <QDebug>
+
+DiceAlias::DiceAlias(QString cmd, QString key, bool isReplace,bool isEnable)
+ : m_command(cmd),m_value(key),m_isEnable(isEnable)
{
if(isReplace)
{
@@ -42,6 +44,9 @@ DiceAlias::~DiceAlias()
bool DiceAlias::resolved(QString & str)
{
+ if(!m_isEnable)
+ return false;
+
if((m_type == REPLACE)&&(str.contains(m_command)))
{
str.replace(m_command,m_value);
@@ -70,17 +75,17 @@ void DiceAlias::setType(RESOLUTION_TYPE type)
{
m_type = type;
}
-QString DiceAlias::getCommand()
+QString DiceAlias::getCommand() const
{
return m_command;
}
-QString DiceAlias::getValue()
+QString DiceAlias::getValue() const
{
return m_value;
}
-bool DiceAlias::isReplace()
+bool DiceAlias::isReplace() const
{
return (m_type == REPLACE) ? true : false;
}
@@ -97,3 +102,13 @@ void DiceAlias::setReplace(bool b)
m_type = REGEXP;
}
}
+
+bool DiceAlias::isEnable() const
+{
+ return m_isEnable;
+}
+
+void DiceAlias::setEnable(bool b)
+{
+ m_isEnable = b;
+}
diff --git a/dicealias.h b/dicealias.h
index 5acca46..189b0f9 100644
--- a/dicealias.h
+++ b/dicealias.h
@@ -37,7 +37,7 @@ public:
* @param key
* @param isReplace
*/
- DiceAlias(QString cmd, QString key, bool isReplace = true);
+ DiceAlias(QString cmd, QString key, bool isReplace = true, bool isEnable = true);
/**
* @brief ~DiceAlias
*/
@@ -67,25 +67,37 @@ public:
* @brief getCommand
* @return
*/
- QString getCommand();
+ QString getCommand() const;
/**
* @brief getValue
* @return
*/
- QString getValue();
+ QString getValue() const;
/**
* @brief isReplace
* @return
*/
- bool isReplace();
+ bool isReplace() const;
/**
* @brief setReplace
*/
void setReplace(bool);
+
+ /**
+ * @brief isEnable
+ * @return
+ */
+ bool isEnable() const;
+ /**
+ * @brief setEnable
+ * @param b
+ */
+ void setEnable(bool b);
private:
QString m_command;
QString m_value;
RESOLUTION_TYPE m_type;
+ bool m_isEnable;
};
diff --git a/diceparser.cpp b/diceparser.cpp
index 9bb4309..7fcf267 100644
--- a/diceparser.cpp
+++ b/diceparser.cpp
@@ -49,18 +49,17 @@ DiceParser::DiceParser()
m_parsingToolbox = new ParsingToolBox();
m_mapDiceOp = new QMap<QString,DiceOperator>();
- m_mapDiceOp->insert("D",D);
- m_mapDiceOp->insert("L",L);
+ m_mapDiceOp->insert(QStringLiteral("D"),D);
+ m_mapDiceOp->insert(QStringLiteral("L"),L);
m_OptionOp = new QMap<QString,OptionOperator>();
- m_OptionOp->insert(QObject::tr("k"),Keep);
- m_OptionOp->insert(QObject::tr("K"),KeepAndExplose);
- m_OptionOp->insert(QObject::tr("s"),Sort);
- m_OptionOp->insert(QObject::tr("c"),Count);
- m_OptionOp->insert(QObject::tr("r"),Reroll);
- m_OptionOp->insert(QObject::tr("e"),Explosing);
- m_OptionOp->insert(QObject::tr("a"),RerollAndAdd);
- m_OptionOp->insert(QObject::tr("m"),Merge);
+ m_OptionOp->insert(QStringLiteral("k"),Keep);
+ m_OptionOp->insert(QStringLiteral("K"),KeepAndExplose);
+ m_OptionOp->insert(QStringLiteral("s"),Sort);
+ m_OptionOp->insert(QStringLiteral("c"),Count);
+ m_OptionOp->insert(QStringLiteral("r"),Reroll);
+ m_OptionOp->insert(QStringLiteral("e"),Explosing);
+ m_OptionOp->insert(QStringLiteral("a"),RerollAndAdd);
//m_OptionOp->insert(QObject::tr("@"),JumpBackward);
@@ -71,11 +70,11 @@ DiceParser::DiceParser()
m_aliasList->append(new DiceAlias("(.*)wod(.*)","\\1d10e[=10]c[>=\\2]-@c[=1]",false));*/
m_nodeActionMap = new QMap<QString,NodeAction>();
- m_nodeActionMap->insert("@",JumpBackward);
+ m_nodeActionMap->insert(QStringLiteral("@"),JumpBackward);
m_commandList = new QStringList();
- m_commandList->append("help");
- m_commandList->append("la");
+ m_commandList->append(QStringLiteral("help"));
+ m_commandList->append(QStringLiteral("la"));
}
DiceParser::~DiceParser()
@@ -116,7 +115,6 @@ DiceParser::~DiceParser()
m_start = NULL;
}
}
-
ExecutionNode* DiceParser::getLatestNode(ExecutionNode* node)
{
ExecutionNode* next = node;
@@ -130,7 +128,10 @@ QString DiceParser::convertAlias(QString str)
{
foreach(DiceAlias* cmd, *m_aliasList)
{
- cmd->resolved(str);
+ if(cmd->isEnable())
+ {
+ cmd->resolved(str);
+ }
}
return str;
}
@@ -289,8 +290,8 @@ QString DiceParser::displayResult()
QTextStream stream(&str);
Result* result=next->getResult();
- QString totalValue("you got %1 ;");
- QString dieValue("D%1 : {%2} ");
+ QString totalValue("you got %1 ;");
+ QString dieValue("D%1 : {%2} ");
bool scalarDone=false;
while(NULL!=result)
@@ -314,22 +315,22 @@ QString DiceParser::displayResult()
{
if(!die->hasBeenDisplayed())
{
- resulStr+=QString("%1").arg(die->getValue());
+ resulStr+=QStringLiteral("%1").arg(die->getValue());
die->displayed();
face = die->getFaces();
if(die->hasChildrenValue())
{
- resulStr+=" [";
+ resulStr+=QStringLiteral(" [");
foreach(qint64 i, die->getListValue())
{
- resulStr+=QString("%1 ").arg(i);
+ resulStr+=QStringLiteral("%1 ").arg(i);
}
resulStr.remove(resulStr.size()-1,1);
- resulStr+="]";
+ resulStr+=QStringLiteral("]");
}
- resulStr+=", ";
+ resulStr+=QStringLiteral(", ");
}
}
resulStr.remove(resulStr.size()-2,2);
@@ -354,7 +355,7 @@ QString DiceParser::displayResult()
out << endl;
- return QString("%1, you rolled:%3").arg(str.simplified()).arg(m_command) ;
+ return QStringLiteral("%1, you rolled:%3").arg(str.simplified()).arg(m_command) ;
// qDebug() << "result count:" << resulCount;
}
@@ -503,7 +504,7 @@ void DiceParser::getLastDiceResult(ExportedDiceResult& diceValues,bool& homogene
result = result->getPrevious();
}
}
-QString DiceParser::getDiceCommand()
+QString DiceParser::getDiceCommand() const
{
return m_command;
}
@@ -657,14 +658,14 @@ bool DiceParser::readCommand(QString& str,ExecutionNode* & node)
{
if(m_commandList->contains(str))
{
- if(str=="help")
+ if(str== QLatin1String("help"))
{
HelpNode* help = new HelpNode();
help->setHelpPath(m_helpPath);
node = help;
}
- else if(str=="la")
+ else if(str== QLatin1String("la"))
{
node = new ListAliasNode(m_aliasList);
}
@@ -705,7 +706,6 @@ bool DiceParser::readInstructionOperator(QChar c)
return true;
}
return false;
-
}
bool DiceParser::readOperator(QString& str,ExecutionNode* previous)
@@ -916,7 +916,7 @@ bool DiceParser::readOption(QString& str,ExecutionNode* previous, bool hasDice)/
}
else
{
- m_errorMap.insert(ExecutionNode::BAD_SYNTAXE,QObject::tr("Validator is missing after the %1 operator. Please, change it").arg(m_OptionOp->value(tmp)==Reroll?"r":"a"));
+ m_errorMap.insert(ExecutionNode::BAD_SYNTAXE,QObject::tr("Validator is missing after the %1 operator. Please, change it").arg(m_OptionOp->value(tmp)==Reroll?QStringLiteral("r"):QStringLiteral("a")));
}
}
@@ -966,12 +966,12 @@ QMap<ExecutionNode::ERROR_CODE,QString> DiceParser::getErrorMap()
QString DiceParser::humanReadableError()
{
QMapIterator<ExecutionNode::ERROR_CODE,QString> i(m_errorMap);
- QString str="";
+ QString str("");
while (i.hasNext())
{
i.next();
str.append(i.value());
- str.append("\n");
+ str.append(QStringLiteral("\n"));
}
///list
@@ -980,7 +980,7 @@ QString DiceParser::humanReadableError()
{
j.next();
str.append(j.value());
- str.append("\n");
+ str.append(QStringLiteral("\n"));
}
return str;
}
@@ -1001,9 +1001,9 @@ bool DiceParser::readOperand(QString& str,ExecutionNode* & node)
}
void DiceParser::writeDownDotTree(QString filepath)
{
- QString str("digraph ExecutionTree {\n");
+ QString str(QStringLiteral("digraph ExecutionTree {\n"));
m_start->generateDotTree(str);
- str.append("}\n");
+ str.append(QStringLiteral("}\n"));
QFile file(filepath);
diff --git a/diceparser.h b/diceparser.h
index 045ec12..bc92034 100644
--- a/diceparser.h
+++ b/diceparser.h
@@ -150,7 +150,7 @@ public:
* @brief getDiceCommand
* @return
*/
- QString getDiceCommand();
+ QString getDiceCommand() const;
/**
* @brief hasStringResult
* @return
diff --git a/die.cpp b/die.cpp
index 1b4b246..1eb94e0 100644
--- a/die.cpp
+++ b/die.cpp
@@ -110,7 +110,7 @@ void Die::roll(bool adding)
}
}
-quint64 Die::getFaces()
+quint64 Die::getFaces() const
{
return m_faces;
}
@@ -128,7 +128,7 @@ qint64 Die::getLastRolledValue()
else
return 0;
}
-bool Die::hasBeenDisplayed()
+bool Die::hasBeenDisplayed() const
{
return m_displayStatus;
}
@@ -141,7 +141,7 @@ void Die::setHighlighted(bool a)
m_highlighted = a;
}
-bool Die::isHighlighted()
+bool Die::isHighlighted() const
{
return m_highlighted;
}
diff --git a/die.h b/die.h
index a07b110..3ae90dd 100644
--- a/die.h
+++ b/die.h
@@ -99,12 +99,12 @@ public:
* @brief getFaces
* @return
*/
- quint64 getFaces();
+ quint64 getFaces() const;
/**
* @brief hasBeenDisplayed
* @return
*/
- bool hasBeenDisplayed();
+ bool hasBeenDisplayed() const;
/**
* @brief displayed
*/
@@ -117,7 +117,7 @@ public:
* @brief isHighlighted
* @return
*/
- bool isHighlighted();
+ bool isHighlighted() const;
/**
* @brief setBase
diff --git a/node/scalaroperatornode.cpp b/node/scalaroperatornode.cpp
index f69cb01..67fda8d 100644
--- a/node/scalaroperatornode.cpp
+++ b/node/scalaroperatornode.cpp
@@ -109,7 +109,6 @@ bool ScalarOperatorNode::setOperatorChar(QChar c)
return false;
}
-
void ScalarOperatorNode::setInternalNode(ExecutionNode* node)
{
m_internalNode = node;
@@ -118,12 +117,10 @@ qint64 ScalarOperatorNode::add(qint64 a,qint64 b)
{
return a+b;
}
-
qint64 ScalarOperatorNode::substract(qint64 a,qint64 b)
{
return a-b;
}
-
qreal ScalarOperatorNode::divide(qint64 a,qint64 b)
{
if(b==0)
@@ -133,7 +130,6 @@ qreal ScalarOperatorNode::divide(qint64 a,qint64 b)
}
return (qreal)a/b;
}
-
qint64 ScalarOperatorNode::multiple(qint64 a,qint64 b)
{
return a*b;
diff --git a/node/scalaroperatornode.h b/node/scalaroperatornode.h
index ea0f7e1..ca6f3ac 100644
--- a/node/scalaroperatornode.h
+++ b/node/scalaroperatornode.h
@@ -53,10 +53,10 @@ public:
virtual QMap<ExecutionNode::ERROR_CODE,QString> getExecutionErrorMap();
private:
- qint64 add(qint64,qint64);
- qint64 substract(qint64,qint64);
+ static qint64 add(qint64,qint64);
+ static qint64 substract(qint64,qint64);
qreal divide(qint64,qint64);
- qint64 multiple(qint64,qint64);
+ static qint64 multiple(qint64,qint64);
private:
ScalarOperator m_operator;
diff --git a/parsingtoolbox.cpp b/parsingtoolbox.cpp
index d511e44..495ae6e 100644
--- a/parsingtoolbox.cpp
+++ b/parsingtoolbox.cpp
@@ -80,10 +80,6 @@ ParsingToolBox::~ParsingToolBox()
Validator* ParsingToolBox::readValidator(QString& str)
{
Validator* returnVal=NULL;
-
- bool isOk = true;
-
-
BooleanCondition::LogicOperator myLogicOp = BooleanCondition::Equal;
bool hasReadLogicOperator = readLogicOperator(str,myLogicOp);
qint64 value=0;
@@ -96,41 +92,18 @@ Validator* ParsingToolBox::readValidator(QString& str)
qint64 end=0;
if(readNumber(str,end))
{
- /* if(expectSquareBrasket)
- {
- if(str.startsWith("]"))
- {
- str=str.remove(0,1);
- isOk=true;
- }
- else
- {
- isOk=false;
- }
- }*/
- if(isOk)
- {
- str=str.remove(0,1);
- Range* range = new Range();
- range->setValue(value,end);
- returnVal = range;
- }
+ str=str.remove(0,1);
+ Range* range = new Range();
+ range->setValue(value,end);
+ returnVal = range;
}
}
else
{
- /* if((expectSquareBrasket)&&(str.startsWith("]")))
- {
- str=str.remove(0,1);
- isOk=true;
- }*/
- //if(isOk)
- {
- BooleanCondition* condition = new BooleanCondition();
- condition->setValue(value);
- condition->setOperator(myLogicOp);
- returnVal = condition;
- }
+ BooleanCondition* condition = new BooleanCondition();
+ condition->setValue(value);
+ condition->setOperator(myLogicOp);
+ returnVal = condition;
}
}
return returnVal;
diff --git a/range.cpp b/range.cpp
index 482bcff..337cdc1 100644
--- a/range.cpp
+++ b/range.cpp
@@ -61,7 +61,7 @@ qint64 Range::hasValid(Die* m,bool recursive, bool unhighlight) const
}
QString Range::toString()
{
- return QString("[%1-%2]").arg(m_start).arg(m_end);
+ return QStringLiteral("[%1-%2]").arg(m_start).arg(m_end);
}
quint64 Range::getValidRangeSize(quint64 faces) const
{
@@ -79,9 +79,9 @@ void Range::setEnd(qint64 end)
m_hasEnd = true;
}
-bool Range::isFullyDefined()
+bool Range::isFullyDefined() const
{
- return (m_hasEnd & m_hasStart);
+ return (m_hasEnd && m_hasStart);
}
qint64 Range::getStart() const
{
diff --git a/range.h b/range.h
index f9849ce..75fc69a 100644
--- a/range.h
+++ b/range.h
@@ -40,7 +40,7 @@ public:
virtual QString toString();
virtual quint64 getValidRangeSize(quint64 faces) const;
- bool isFullyDefined();
+ bool isFullyDefined() const;
qint64 getStart() const;
qint64 getEnd() const;
diff --git a/result/diceresult.cpp b/result/diceresult.cpp
index 26b8ef8..37db727 100644
--- a/result/diceresult.cpp
+++ b/result/diceresult.cpp
@@ -56,19 +56,18 @@ DiceResult::~DiceResult()
}
QVariant DiceResult::getResult(RESULT_TYPE type)
{
-
switch (type)
{
- case SCALAR:
- return getScalarResult();
- break;
- case DICE_LIST:
- {
- return QVariant();
- break;
- }
- default:
- break;
+ case SCALAR:
+ {
+ return getScalarResult();
+ }
+ case DICE_LIST:
+ {
+ return QVariant();
+ }
+ default:
+ break;
}
return QVariant();
@@ -104,7 +103,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 QStringLiteral("%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 7b6633c..163d539 100644
--- a/result/result.cpp
+++ b/result/result.cpp
@@ -37,7 +37,7 @@ void Result::setPrevious(Result* p)
m_previous = p;
}
-bool Result::isStringResult()
+bool Result::isStringResult() const
{
return false;
}
diff --git a/result/result.h b/result/result.h
index 3f16535..2a5b7f9 100644
--- a/result/result.h
+++ b/result/result.h
@@ -62,7 +62,7 @@ public:
* @brief isStringResult
* @return
*/
- bool isStringResult();
+ virtual bool isStringResult() const;
/**
* @brief getStringResult