diff options
| author | 2021-06-22 21:34:19 +0200 | |
|---|---|---|
| committer | 2022-04-13 15:40:42 +0200 | |
| commit | 70c279ab847883046ef0a951e4d2ccbf6170d19a (patch) | |
| tree | 28bc40fdf84d2b5c3ff032de84ef6a55ef67ec01 | |
| parent | 2f67beb05264e0f74250852efb3133e074309f71 (diff) | |
| download | OneRoll-70c279ab847883046ef0a951e4d2ccbf6170d19a.tar.gz OneRoll-70c279ab847883046ef0a951e4d2ccbf6170d19a.zip | |
rename some member in dicealias
| -rw-r--r-- | CMakeLists.txt | 18 | ||||
| -rw-r--r-- | dicealias.cpp | 41 | ||||
| -rw-r--r-- | include/dicealias.h | 14 | ||||
| -rw-r--r-- | include/parsingtoolbox.h | 1 | ||||
| -rw-r--r-- | node/listaliasnode.cpp | 4 | ||||
| -rw-r--r-- | parsingtoolbox.cpp | 7 | ||||
| -rw-r--r-- | qmltypesregister.cpp | 7 | ||||
| -rw-r--r-- | tests/dice/tst_dice.cpp | 2 |
8 files changed, 59 insertions, 35 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 21b4596..5795e12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,7 @@ project(diceparser VERSION 1.9.0 DESCRIPTION "Parser of dice command") set(QT_REQUIRED_VERSION "5.12.0") find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Core Test Gui Svg) +find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG COMPONENTS Qml) enable_testing(true) include_directories(${CMAKE_CURRENT_SOURCE_DIR} result node) @@ -62,7 +63,6 @@ SET( dice_sources IF(STATIC_BUILD) add_library(diceparser_static STATIC ${dice_sources} ) target_include_directories(diceparser_static PRIVATE include) - SET_TARGET_PROPERTIES(diceparser_static PROPERTIES OUTPUT_NAME diceparser CLEAN_DIRECT_OUTPUT 1) target_link_libraries(diceparser_static PUBLIC Qt5::Core Qt5::Gui Qt5::Svg) install(TARGETS diceparser_static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) @@ -72,7 +72,7 @@ set(documentation README.md HelpMe.md CHANGELOG) add_library(diceparser_shared SHARED ${dice_sources} ${documentation}) -target_include_directories(diceparser_shared PRIVATE include) +target_include_directories(diceparser_shared PRIVATE include ./) SET_TARGET_PROPERTIES(diceparser_shared PROPERTIES OUTPUT_NAME diceparser CLEAN_DIRECT_OUTPUT 1) @@ -104,5 +104,15 @@ configure_file(diceparser.pc.in diceparser.pc @ONLY) install(FILES ${CMAKE_BINARY_DIR}/diceparser.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig) - - +if(Qt5Qml_FOUND) +set(dice_header_qobject qmltypesregister.h diceroller.h) +set(dice_source_qobject qmltypesregister.cpp diceroller.cpp) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_INCLUDE_CURRENT_DIR ON) +add_library(diceparser_qobject SHARED ${dice_header_qobject} ${dice_source_qobject}) +target_link_libraries(diceparser_qobject PUBLIC Qt5::Core Qt5::Gui Qt5::Svg Qt5::Qml PRIVATE diceparser_shared) +message("Messages diceparser ${CMAKE_CURRENT_SOURCE_DIR}/include") +target_include_directories(diceparser_qobject PRIVATE include ./ ${CMAKE_CURRENT_SOURCE_DIR}/include) +endif() diff --git a/dicealias.cpp b/dicealias.cpp index e6ee180..b0402a3 100644 --- a/dicealias.cpp +++ b/dicealias.cpp @@ -24,7 +24,7 @@ #include <QDebug> -QString makeReplament(const QString& pattern, const QString& replacement, QString cmd) +QString makeReplament(const QString& pattern, const QString& command, QString cmd) { auto hasPattern= cmd.contains(pattern); if(hasPattern) @@ -60,7 +60,7 @@ QString makeReplament(const QString& pattern, const QString& replacement, QStrin if(!hasQuote && !hasVariable) { - cmd.replace(pattern, replacement); + cmd.replace(pattern, command); } else { @@ -120,15 +120,15 @@ QString makeReplament(const QString& pattern, const QString& replacement, QStrin // TODO to be replace by C++14 when it is ready for(auto i= patternPosList.rbegin(); i != patternPosList.rend(); ++i) { - cmd.replace(*i, 1, replacement); + cmd.replace(*i, 1, command); } } } return cmd; } -DiceAlias::DiceAlias(QString cmd, QString key, bool isReplace, bool isEnable) - : m_command(cmd), m_value(key), m_isEnable(isEnable) +DiceAlias::DiceAlias(QString pattern, QString command, QString comment, bool isReplace, bool isEnable) + : m_pattern(pattern), m_command(command), m_comment(comment), m_isEnable(isEnable) { if(isReplace) { @@ -140,13 +140,16 @@ DiceAlias::DiceAlias(QString cmd, QString key, bool isReplace, bool isEnable) } } -DiceAlias::~DiceAlias() {} +DiceAlias::~DiceAlias() +{ + qDebug() << "destructeur of alias!" << this; +} DiceAlias::DiceAlias(const DiceAlias& alias) { - m_command= alias.getCommand(); - m_comment= alias.getComment(); - m_value= alias.getValue(); + m_command= alias.command(); + m_comment= alias.comment(); + m_pattern= alias.pattern(); m_isEnable= alias.isEnable(); m_type= alias.isReplace() ? REPLACE : REGEXP; } @@ -158,41 +161,41 @@ bool DiceAlias::resolved(QString& str) if((m_type == REPLACE) && (str.contains(m_command))) { - str= makeReplament(m_command, m_value, str); + str= makeReplament(m_pattern, m_command, str); // str.replace(m_command,m_value); return true; } else if(m_type == REGEXP) { QRegularExpression exp(m_command); - str.replace(exp, m_value); + str.replace(exp, m_pattern); return true; } return false; } -void DiceAlias::setCommand(QString key) +void DiceAlias::setCommand(QString command) { - m_command= key; + m_command= command; } -void DiceAlias::setValue(QString value) +void DiceAlias::setPattern(const QString& pattern) { - m_value= value; + m_pattern= pattern; } void DiceAlias::setType(RESOLUTION_TYPE type) { m_type= type; } -QString DiceAlias::getCommand() const +QString DiceAlias::command() const { return m_command; } -QString DiceAlias::getValue() const +QString DiceAlias::pattern() const { - return m_value; + return m_pattern; } bool DiceAlias::isReplace() const @@ -222,7 +225,7 @@ void DiceAlias::setEnable(bool b) m_isEnable= b; } -QString DiceAlias::getComment() const +QString DiceAlias::comment() const { return m_comment; } diff --git a/include/dicealias.h b/include/dicealias.h index 6825cdf..c390d21 100644 --- a/include/dicealias.h +++ b/include/dicealias.h @@ -41,7 +41,7 @@ public: * @param key * @param isReplace */ - DiceAlias(QString pattern, QString remplacement, bool isReplace= true, bool isEnable= true); + DiceAlias(QString pattern, QString command, QString comment= QString{}, bool isReplace= true, bool isEnable= true); DiceAlias(const DiceAlias& alias); /** * @brief ~DiceAlias @@ -57,12 +57,12 @@ public: * @brief setCommand * @param key */ - void setCommand(QString key); + void setPattern(const QString& pattern); /** * @brief setValue * @param value */ - void setValue(QString value); + void setCommand(QString command); /** * @brief setType */ @@ -72,12 +72,12 @@ public: * @brief getCommand * @return */ - QString getCommand() const; + QString pattern() const; /** * @brief getValue * @return */ - QString getValue() const; + QString command() const; /** * @brief isReplace * @return @@ -102,7 +102,7 @@ public: * @brief getComment * @return */ - QString getComment() const; + QString comment() const; /** * @brief setComment * @param comment @@ -110,8 +110,8 @@ public: void setComment(const QString& comment); private: + QString m_pattern; QString m_command; - QString m_value; QString m_comment; RESOLUTION_TYPE m_type; bool m_isEnable; diff --git a/include/parsingtoolbox.h b/include/parsingtoolbox.h index 89081ed..08e876a 100644 --- a/include/parsingtoolbox.h +++ b/include/parsingtoolbox.h @@ -243,6 +243,7 @@ public: void insertAlias(DiceAlias* dice, int i); const QList<DiceAlias*>& getAliases() const; QList<DiceAlias*>* aliases(); + void setAliases(const QList<DiceAlias*> list); void cleanUpAliases(); static bool readStringResultParameter(QString& str); diff --git a/node/listaliasnode.cpp b/node/listaliasnode.cpp index a8e4125..c3f6d31 100644 --- a/node/listaliasnode.cpp +++ b/node/listaliasnode.cpp @@ -48,7 +48,7 @@ QString ListAliasNode::buildList() const QString result(QObject::tr("List of Alias:\n")); for(auto& key : m_aliasList) { - result+= QString("%1 : %2 # %3\n").arg(key->getCommand(), key->getValue(), key->getComment()); + result+= QString("%1 : %2 # %3\n").arg(key->pattern(), key->command(), key->comment()); } return result; } @@ -57,7 +57,7 @@ QString ListAliasNode::toString(bool wl) const QStringList resultList; for(auto& key : m_aliasList) { - resultList << "{" << key->getCommand() << key->getValue() << "}"; + resultList << "{" << key->pattern() << key->command() << "}"; } if(wl) diff --git a/parsingtoolbox.cpp b/parsingtoolbox.cpp index ca6e8a4..e5bb579 100644 --- a/parsingtoolbox.cpp +++ b/parsingtoolbox.cpp @@ -2329,6 +2329,13 @@ QList<DiceAlias*>* ParsingToolBox::aliases() return &m_aliasList; } +void ParsingToolBox::setAliases(const QList<DiceAlias*> list) +{ + qDeleteAll(m_aliasList); + m_aliasList.clear(); + m_aliasList= list; +} + std::vector<ExecutionNode*> ParsingToolBox::readInstructionList(QString& str, bool global) { if(str.isEmpty()) diff --git a/qmltypesregister.cpp b/qmltypesregister.cpp index 74893c9..cc207e9 100644 --- a/qmltypesregister.cpp +++ b/qmltypesregister.cpp @@ -22,14 +22,17 @@ #include <QQmlEngine> #include "diceroller.h" -#ifndef UNIT_TEST +#if !defined(UNIT_TEST) && defined(RCSE) #include "field.h" #endif void registerQmlTypes() { + auto p= new DiceRoller; + // Q_UNUSED(p) qmlRegisterType<DiceRoller>("Rolisteam", 1, 0, "DiceRoller"); -#ifndef UNIT_TEST +#if !defined(UNIT_TEST) && defined(RCSE) qmlRegisterType<FieldController>("Rolisteam", 1, 0, "Field"); #endif + delete p; } diff --git a/tests/dice/tst_dice.cpp b/tests/dice/tst_dice.cpp index c5131ed..c3168f4 100644 --- a/tests/dice/tst_dice.cpp +++ b/tests/dice/tst_dice.cpp @@ -520,7 +520,7 @@ void TestDice::testAlias() { m_parsingToolBox->insertAlias(new DiceAlias("!", "3d6c"), 0); m_parsingToolBox->insertAlias(new DiceAlias("g", "d10k"), 1); - m_parsingToolBox->insertAlias(new DiceAlias("(.*)C(.*)", QStringLiteral("\\1d10e10c[>=\\2]"), false), 2); + m_parsingToolBox->insertAlias(new DiceAlias("(.*)C(.*)", QStringLiteral("\\1d10e10c[>=\\2]"), QString(), false), 2); QFETCH(QString, cmd); QFETCH(QString, expected); |