From 10d0da1c22c94b5361c0a6c76e008c328671ad81 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Sat, 23 Mar 2019 11:28:22 +0100 Subject: Add new way to replace pattern in string result. --- parsingtoolbox.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'parsingtoolbox.h') 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* m_logicOp; QMap* m_logicOperation; -- cgit v1.2.3-70-g09d2