aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2015-08-27 01:29:13 +0200
committerRenaud G <renaud@rolisteam.org>2015-08-27 01:29:13 +0200
commit26e813ad2e4fa13f4b2873df99cb8e3be380c875 (patch)
tree6c10dce6b0f5d2422de9225e51bad687c6d8cdb7
parent11df3a32160259768d58ff26b24b28d9d68571ca (diff)
downloadOneRoll-26e813ad2e4fa13f4b2873df99cb8e3be380c875.tar.gz
OneRoll-26e813ad2e4fa13f4b2873df99cb8e3be380c875.zip
add method to get all string results
-rw-r--r--diceparser.cpp23
-rw-r--r--diceparser.h5
2 files changed, 28 insertions, 0 deletions
diff --git a/diceparser.cpp b/diceparser.cpp
index 3831400..8c910a2 100644
--- a/diceparser.cpp
+++ b/diceparser.cpp
@@ -393,6 +393,29 @@ QString DiceParser::getStringResult()
}
return str;
}
+QStringList DiceParser::getAllStringResult(bool& hasAlias)
+{
+ ExecutionNode* next = getLeafNode();
+ Result* result=next->getResult();
+ QStringList stringListResult;
+
+ while(NULL!=result)
+ {
+ if(result->hasResultOfType(Result::STRING))
+ {
+ StringResult* stringResult = dynamic_cast<StringResult*>(result);
+ if(NULL!=stringResult)
+ {
+ stringListResult << stringResult->getText();
+ hasAlias = stringResult->hasHighLight();
+ }
+ }
+ result = result->getPrevious();
+ }
+
+ return stringListResult;
+}
+
void DiceParser::getLastDiceResult(ExportedDiceResult& diceValues)
{
ExecutionNode* next = getLeafNode();
diff --git a/diceparser.h b/diceparser.h
index 3eb55f1..6cc6d47 100644
--- a/diceparser.h
+++ b/diceparser.h
@@ -191,6 +191,11 @@ public:
* @param l the path.
*/
void setPathToHelp(QString l);
+ /**
+ * @brief getAllStringResult
+ * @return
+ */
+ QStringList getAllStringResult(bool& hasAlias);
private:
/**