aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/parsingtoolbox.h
diff options
context:
space:
mode:
Diffstat (limited to 'parsingtoolbox.h')
-rw-r--r--parsingtoolbox.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/parsingtoolbox.h b/parsingtoolbox.h
index d7d5943..4b50b6d 100644
--- a/parsingtoolbox.h
+++ b/parsingtoolbox.h
@@ -34,6 +34,32 @@
#include "operationcondition.h"
#include "range.h"
+class SubtituteInfo
+{
+public:
+ SubtituteInfo();
+
+ bool isValid() const;
+
+ int length() const;
+ void setLength(int length);
+
+ int resultIndex() const;
+ void setResultIndex(int valueIndex);
+
+ int position() const;
+ void setPosition(int position);
+
+ int digitNumber() const;
+ void setDigitNumber(int digitNumber);
+
+private:
+ int m_length= 2;
+ int m_digitNumber= 0;
+ int m_resultIndex= -1;
+ int m_position= -1;
+};
+
/**
* @brief The ParsingToolBox is gathering many useful methods for dice parsing.
* Its goal is to make the diceparser a bit lighter.
@@ -200,6 +226,12 @@ public:
static bool readOperand(QString& str, ExecutionNode*& node);
static int findClosingCharacterIndexOf(QChar open, QChar closing, const QString& str, int offset);
+ static QString replaceVariableToValue(const QString& source, QStringList values);
+
+ static SubtituteInfo readVariableFromString(const QString& source, int& start);
+
+ static void readSubtitutionParameters(SubtituteInfo& info, QString& rest);
+
private:
QMap<QString, BooleanCondition::LogicOperator>* m_logicOp;
QMap<QString, CompositeValidator::LogicOperation>* m_logicOperation;