diff options
| author | 2015-04-24 21:35:17 +0200 | |
|---|---|---|
| committer | 2015-04-24 21:35:17 +0200 | |
| commit | 8beb664172cf2c15abb4e12938b8978506471c02 (patch) | |
| tree | f033c9df5436abe8848a8b4d69353229028c02bd /dicealias.cpp | |
| parent | 67fd3b480f543f2f18bd632ea85d829ba2102a20 (diff) | |
| parent | edfcca8d1a630ca7ca79133bd0b03af14fef6363 (diff) | |
| download | OneRoll-8beb664172cf2c15abb4e12938b8978506471c02.tar.gz OneRoll-8beb664172cf2c15abb4e12938b8978506471c02.zip | |
Merge branch 'master' of github.com:obiwankennedy/DiceParser
Conflicts:
parsingtoolbox.cpp
Diffstat (limited to 'dicealias.cpp')
| -rw-r--r-- | dicealias.cpp | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/dicealias.cpp b/dicealias.cpp new file mode 100644 index 0000000..f9c366c --- /dev/null +++ b/dicealias.cpp @@ -0,0 +1,99 @@ +/*************************************************************************** +* Copyright (C) 2014 by Renaud Guezennec * +* http://renaudguezennec.homelinux.org/accueil,3.html * +* * +* This file is part of DiceParser * +* * +* DiceParser is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ +#include "dicealias.h" +#include <QRegularExpression> + +DiceAlias::DiceAlias(QString cmd, QString key, bool isReplace) + : m_command(cmd),m_value(key) +{ + if(isReplace) + { + m_type = REPLACE; + } + else + { + m_type = REGEXP; + } +} + +DiceAlias::~DiceAlias() +{ + +} + +bool DiceAlias::resolved(QString & str) +{ + if((m_type == REPLACE)&&(str.contains(m_command))) + { + str.replace(m_command,m_value); + return true; + } + else if(m_type == REGEXP) + { + QRegularExpression exp(m_command); + str.replace(exp,m_value); + return true; + } + return false; +} + +void DiceAlias::setCommand(QString key) +{ + m_command = key; +} + +void DiceAlias::setValue(QString value) +{ + m_value = value; +} + +void DiceAlias::setType(RESOLUTION_TYPE type) +{ + m_type = type; +} +QString DiceAlias::getCommand() +{ + return m_command; +} + +QString DiceAlias::getValue() +{ + return m_value; +} + +bool DiceAlias::isReplace() +{ + return (m_type == REPLACE) ? true : false; +} + + +void DiceAlias::setReplace(bool b) +{ + if(b) + { + m_type= REPLACE; + } + else + { + m_type = REGEXP; + } +} |