aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/diceparser.cpp
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 /diceparser.cpp
parent11df3a32160259768d58ff26b24b28d9d68571ca (diff)
downloadOneRoll-26e813ad2e4fa13f4b2873df99cb8e3be380c875.tar.gz
OneRoll-26e813ad2e4fa13f4b2873df99cb8e3be380c875.zip
add method to get all string results
Diffstat (limited to 'diceparser.cpp')
-rw-r--r--diceparser.cpp23
1 files changed, 23 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();