From 07c5f6ec23fcf9237a24e71adcfacabce677f818 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Fri, 29 Apr 2022 10:48:09 +0200 Subject: Change file organization. --- include/diceparser/dicealias.h | 122 --------- include/diceparser/diceparser.h | 130 ---------- include/diceparser/diceparser_global.h | 11 - include/diceparser/diceparserhelper.h | 96 ------- include/diceparser/highlightdice.h | 68 ----- include/diceparser/parsingtoolbox.h | 284 --------------------- .../diceparser_qobject/diceparser_qobject_global.h | 11 - include/diceparser_qobject/diceroller.h | 74 ------ include/diceparser_qobject/qmltypesregister.h | 27 -- 9 files changed, 823 deletions(-) delete mode 100644 include/diceparser/dicealias.h delete mode 100644 include/diceparser/diceparser.h delete mode 100644 include/diceparser/diceparser_global.h delete mode 100644 include/diceparser/diceparserhelper.h delete mode 100644 include/diceparser/highlightdice.h delete mode 100644 include/diceparser/parsingtoolbox.h delete mode 100644 include/diceparser_qobject/diceparser_qobject_global.h delete mode 100644 include/diceparser_qobject/diceroller.h delete mode 100644 include/diceparser_qobject/qmltypesregister.h (limited to 'include') diff --git a/include/diceparser/dicealias.h b/include/diceparser/dicealias.h deleted file mode 100644 index 05d5a0b..0000000 --- a/include/diceparser/dicealias.h +++ /dev/null @@ -1,122 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2014 by Renaud Guezennec * - * https://rolisteam.org/contact * - * * - * 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. * - ***************************************************************************/ -#ifndef DICEALIAS_H -#define DICEALIAS_H - -#include - -#include -/** - * @brief The DiceAlias class is dedicated to store aliases, alias is mainly two QString. The Alias and its replacement. - * The replacement can be a simple QString or a RegExp. - */ -class DICEPARSER_EXPORT DiceAlias -{ -public: - enum RESOLUTION_TYPE - { - REPLACE, - REGEXP - }; - /** - * @brief DiceAlias - * @param cmd - * @param key - * @param isReplace - */ - DiceAlias(QString pattern, QString command, QString comment= QString{}, bool isReplace= true, bool isEnable= true); - DiceAlias(const DiceAlias& alias); - /** - * @brief ~DiceAlias - */ - virtual ~DiceAlias(); - /** - * @brief resolved - * @param str - * @return - */ - bool resolved(QString& str); - /** - * @brief setCommand - * @param key - */ - void setPattern(const QString& pattern); - /** - * @brief setValue - * @param value - */ - void setCommand(QString command); - /** - * @brief setType - */ - void setType(RESOLUTION_TYPE); - - /** - * @brief getCommand - * @return - */ - QString pattern() const; - /** - * @brief getValue - * @return - */ - QString command() const; - /** - * @brief isReplace - * @return - */ - bool isReplace() const; - /** - * @brief setReplace - */ - void setReplace(bool); - - /** - * @brief isEnable - * @return - */ - bool isEnable() const; - /** - * @brief setEnable - * @param b - */ - void setEnable(bool b); - /** - * @brief getComment - * @return - */ - QString comment() const; - /** - * @brief setComment - * @param comment - */ - void setComment(const QString& comment); - -private: - QString m_pattern; - QString m_command; - QString m_comment; - RESOLUTION_TYPE m_type; - bool m_isEnable; -}; - -#endif // DICEALIAS_H diff --git a/include/diceparser/diceparser.h b/include/diceparser/diceparser.h deleted file mode 100644 index bf2d570..0000000 --- a/include/diceparser/diceparser.h +++ /dev/null @@ -1,130 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2014 by Renaud Guezennec * - * https://rolisteam.org/contact * - * * - * 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. * - ***************************************************************************/ -#ifndef DICEPARSER_H -#define DICEPARSER_H - -#include -#include -#include -#include -#include -#include - -#include - -#include -#include - -class ExplodeDiceNode; -class ParsingToolBox; -class DiceRollerNode; -class DiceAlias; -class ExecutionNode; -/** - * @page DiceParser Dice Parser - * - * @section Intro Introduction - * Diceparser is the software component dedicated to compute dice command in rolisteam.
- * - * @section grammar The Grammar - * - * The grammar is described in Readme.md - */ - -/** - * @brief The DiceParser class facade class, it receives a command and return a DiceResult class (not yet implemented). - */ -class DICEPARSER_EXPORT DiceParser -{ -public: - /** - * @brief DiceParser default constructor - */ - DiceParser(); - /** - * @brief ~DiceParser - */ - virtual ~DiceParser(); - - // Command process methods - /** - * @brief parseLine, method to call for starting the dice roll. It will parse the command and run the execution - * tree. - * @param str dice command - * @return bool every thing is fine or not - */ - bool parseLine(QString str, bool allowAlias= true); - void start(); - void cleanAll(); - - // debug - void writeDownDotTree(QString filepath); - - // control methods - bool hasIntegerResultNotInFirst() const; - bool hasDiceResult() const; - bool hasStringResult() const; - bool hasSeparator() const; - - // alias management - const QList& constAliases() const; - QList* aliases() const; - void cleanAliases(); - void insertAlias(DiceAlias*, int); - QString convertAlias(const QString& cmd) const; - - QStringList allFirstResultAsString(bool& hasAlias); - QStringList getAllDiceResult(bool& hasAlias); - - // Accessors - int startNodeCount() const; - QList scalarResultsFromEachInstruction() const; - QStringList stringResultFromEachInstruction(bool& hasAlias) const; - void diceResultFromEachInstruction(QList& resultList) const; - QString finalStringResult(std::function colorize) const; - - QString diceCommand() const; - QMap errorMap() const; - QString comment() const; - QString humanReadableWarning() const; - QString humanReadableError() const; - QString resultAsJSon(std::function colorize, - bool removeUnhighligthed= false) const; - - // QStringList stringResult() const; - // QStringList allDiceResult(bool& hasAlias) const; - // void lastDiceResult(QList& diceValues, bool& homogeneous) const; - - // setters - void setPathToHelp(QString l); - void setVariableDictionary(const QHash& variables); - void setComment(const QString& comment); - -private: - bool readBlocInstruction(QString& str, ExecutionNode*& resultnode); - -private: - std::unique_ptr m_parsingToolbox; - QString m_command; -}; - -#endif // DICEPARSER_H diff --git a/include/diceparser/diceparser_global.h b/include/diceparser/diceparser_global.h deleted file mode 100644 index 47829cc..0000000 --- a/include/diceparser/diceparser_global.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef DICEPARSER_GLOBAL_H -#define DICEPARSER_GLOBAL_H - -#include - -#if defined(DICEPARSER_LIBRARY) -#define DICEPARSER_EXPORT Q_DECL_EXPORT -#else -#define DICEPARSER_EXPORT Q_DECL_IMPORT -#endif -#endif // DICEPARSER_GLOBAL_H diff --git a/include/diceparser/diceparserhelper.h b/include/diceparser/diceparserhelper.h deleted file mode 100644 index 6190df2..0000000 --- a/include/diceparser/diceparserhelper.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef DICEPARSERHELPER_H -#define DICEPARSERHELPER_H - -class ValidatorList; -class ExecutionNode; - -#include - -namespace Dice -{ -enum class CONDITION_STATE : int -{ - ERROR_STATE, - ALWAYSTRUE, - UNREACHABLE, - REACHABLE -}; - -enum class ERROR_CODE : int -{ - NO_DICE_ERROR, - DIE_RESULT_EXPECTED, - BAD_SYNTAXE, - ENDLESS_LOOP_ERROR, - DIVIDE_BY_ZERO, - NOTHING_UNDERSTOOD, - NO_DICE_TO_ROLL, - TOO_MANY_DICE, - NO_VARIBALE, - INVALID_INDEX, - UNEXPECTED_CHARACTER, - NO_PREVIOUS_ERROR, - NO_VALID_RESULT, - SCALAR_RESULT_EXPECTED -}; - -/** - * @brief The RESULT_TYPE enum or combinaison - */ -enum class RESULT_TYPE : int -{ - NONE= 0, - SCALAR= 1, - STRING= 2, - DICE_LIST= 4 -}; -/** - * @brief The ConditionType enum defines compare method - */ -enum ConditionType -{ - OnEach, - OnEachValue, - OneOfThem, - AllOfThem, - OnScalar -}; - -enum class CompareOperator -{ - Equal, - GreaterThan, - LesserThan, - GreaterOrEqual, - LesserOrEqual, - Different -}; -enum class ArithmeticOperator -{ - PLUS, - MINUS, - DIVIDE, - MULTIPLICATION, - INTEGER_DIVIDE, - POW -}; -enum class LogicOperation -{ - OR, - EXCLUSIVE_OR, - AND, - NONE -}; - -enum class ConditionOperator -{ - Modulo -}; - -struct DICEPARSER_EXPORT CaseInfo -{ - ValidatorList* validatorList; - ExecutionNode* node; -}; -} // namespace Dice -#endif // DICEPARSERHELPER_H diff --git a/include/diceparser/highlightdice.h b/include/diceparser/highlightdice.h deleted file mode 100644 index a3928a1..0000000 --- a/include/diceparser/highlightdice.h +++ /dev/null @@ -1,68 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2016 by Renaud Guezennec * - * http:://www.rolisteam.org/contact * - * * - * rolisteam 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. * - ***************************************************************************/ -#ifndef HighLightDice_H -#define HighLightDice_H - -#include -#include -#include - -#include - -class DICEPARSER_EXPORT HighLightDice -{ -public: - HighLightDice(QList result, bool isHighlighted, QString color, bool displayed, quint64 faces, - const QString& uuid); - virtual ~HighLightDice(); - - QList result() const; - void setResult(const QList& result); - - bool isHighlighted() const; - void setHighlight(bool hasHighlight); - - QString color() const; - void setColor(const QString& color); - - bool displayed() const; - void setDisplayed(bool displayed); - - quint64 faces() const; - void setFaces(const quint64& faces); - - QString getResultString() const; - - QString uuid() const; - void setUuid(const QString& uuid); - -private: - QList m_result; - bool m_hasHighlight= true; - QString m_color; - bool m_displayed= false; - quint64 m_faces; - QString m_uuid; -}; - -typedef QList ListDiceResult; -typedef QMap> ExportedDiceResult; - -#endif // HighLightDice_H diff --git a/include/diceparser/parsingtoolbox.h b/include/diceparser/parsingtoolbox.h deleted file mode 100644 index 69f433a..0000000 --- a/include/diceparser/parsingtoolbox.h +++ /dev/null @@ -1,284 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2014 by Renaud Guezennec * - * https://rolisteam.org/contact * - * * - * 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. * - ***************************************************************************/ -#ifndef PARSINGTOOLBOX_H -#define PARSINGTOOLBOX_H - -#include -#include -#include -#include -#include -#include -#include - -#include "diceparserhelper.h" -#include "highlightdice.h" -//#include "dicerollernode.h" -//#include "executionnode.h" -//#include "node/ifnode.h" -//#include "node/paintnode.h" -//#include "node/scalaroperatornode.h" -//#include "operationcondition.h" -//#include "range.h" -//#include "validatorlist.h" - -#include -class Range; -class RepeaterNode; -class DiceAlias; -class ExplodeDiceNode; -class SwitchCaseNode; -class ReplaceValueNode; -class PainterNode; -class ValidatorList; -class Validator; -class DiceRollerNode; -class ExecutionNode; -class DICEPARSER_EXPORT 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); - - int subIndex() const; - void setSubIndex(int subindex); - -private: - int m_length= 2; - int m_digitNumber= 0; - int m_resultIndex= -1; - int m_position= -1; - int m_subIndex= -1; -}; - -/** - * @brief The ParsingToolBox is gathering many useful methods for dice parsing. - * Its goal is to make the diceparser a bit lighter. - */ -class DICEPARSER_EXPORT ParsingToolBox -{ -public: - enum LIST_OPERATOR - { - NONE= 0x00, - UNIQUE= 0x01, - NOCOMMA= 0x02, - UniqueAndNoComma= 0x03 - }; - - enum Function - { - REPEAT - }; - enum OptionOperator - { - KeepAndExplode, // K - Keep, // k - Reroll, // r - RerollUntil, // R - Explode, // e - Sort, // s - Count, // c - RerollAndAdd, // a - Merge, // m - ifOperator, // i - Painter, // p - Filter, // f - Split, // y - Group, // g - Occurences, // o - Unique, // u - Bind, // b - AllSameExplode, // t - SwitchCaseOption, // S - TransformOption // T - }; - enum DiceOperator - { - D, - L - }; - enum NodeAction - { - JumpBackward - }; - ParsingToolBox(); - ParsingToolBox(const ParsingToolBox& data); - virtual ~ParsingToolBox(); - void clearUp(); - - // Build execution tree - DiceRollerNode* getDiceRollerNode(ExecutionNode* previous); - DiceRollerNode* addRollDiceNode(qint64 faces, ExecutionNode*); - ExplodeDiceNode* addExplodeDiceNode(qint64 faces, ExecutionNode* previous); - Dice::CONDITION_STATE isValidValidator(ExecutionNode* previous, ValidatorList* val); - ExecutionNode* addSort(ExecutionNode* e, bool b); - - // parsing tools - static bool readAscending(QString& str); - static bool readStopAtFirst(QString& str); - bool readLogicOperator(QString& str, Dice::CompareOperator& op); - Validator* readValidator(QString& str, bool hasSquare= false); - ValidatorList* readValidatorList(QString& str); - static bool readNumber(QString& str, qint64& myNumber); - static bool readString(QString& str, QString& strresult); - static bool readVariable(QString& str, qint64& myNumber, QString& reasonFail); - static bool readOpenParentheses(QString& str); - static bool readCloseParentheses(QString& str); - - static bool readDynamicVariable(QString& str, qint64& index); - bool readList(QString& str, QStringList& list, QList& ranges); - bool readDiceRange(QString& str, qint64& start, qint64& end); - static LIST_OPERATOR readListOperator(QString& str); - void readProbability(QStringList& str, QList& ranges); - bool readLogicOperation(QString& str, Dice::LogicOperation& op); - bool readDiceLogicOperator(QString& str, Dice::ConditionOperator& op); - bool readArithmeticOperator(QString& str, Dice::ArithmeticOperator& op); - std::vector readInstructionList(QString& str, bool startNode); - static Dice::ConditionType readConditionType(QString& str); - bool readComment(QString& str, QString&, QString&); - bool readOperand(QString& str, ExecutionNode*& node); - static int findClosingCharacterIndexOf(QChar open, QChar closing, const QString& str, int offset); - static void readSubtitutionParameters(SubtituteInfo& info, QString& rest); - static bool readPainterParameter(PainterNode* painter, QString& str); - static bool readComma(QString& str); - bool readReaperArguments(RepeaterNode* node, QString& source); - bool readExpression(QString& str, ExecutionNode*& node); - bool readInstructionOperator(QChar c); - bool readNode(QString& str, ExecutionNode*& node); - /** - * @brief readIfInstruction reads the current command to build if node with proper parameters. - * @param str is the command string, if IF istruction is found, the str will be changed, in other case the string is - * unmodified - * @param trueNode is the branch's beginning to be executed if the IfNode is true. - * @param falseNode is the branch's beginning to be executed if the IfNode is false. - * @return true, ifNode has been found, false otherwise - */ - bool readIfInstruction(QString& str, ExecutionNode*& trueNode, ExecutionNode*& falseNode); - bool readOptionFromNull(QString& str, ExecutionNode*& node); - bool readOperatorFromNull(QString& str, ExecutionNode*& node); - bool readParameterNode(QString& str, ExecutionNode*& node); - bool readFunction(QString& str, ExecutionNode*& node); - bool readDice(QString& str, ExecutionNode*& node); - bool readDiceOperator(QString&, DiceOperator&); - bool readDiceExpression(QString&, ExecutionNode*& node); - bool readOperator(QString&, ExecutionNode* previous); - bool readCommand(QString& str, ExecutionNode*& node); - bool readBlocInstruction(QString& str, ExecutionNode*& resultnode); - bool readOption(QString&, ExecutionNode* node); // OptionOperator& option, - bool readValuesList(QString& str, ExecutionNode*& node); - bool readSwitchCaseNode(QString& str, SwitchCaseNode* node); - bool readReplaceValueNode(QString& str, ReplaceValueNode* node); - - // Error - bool hasError() const; - void addError(Dice::ERROR_CODE code, const QString& msg); - void addWarning(Dice::ERROR_CODE code, const QString& msg); - const QMap& getErrorList() const; - const QMap& getWarningList() const; - - // Traversal functions - static QString number(qreal value); - static ExecutionNode* getLeafNode(ExecutionNode* start); - const std::vector& getStartNodes(); - static void setStartNodes(std::vector* startNodes); - std::pair hasResultOfType(Dice::RESULT_TYPE, ExecutionNode* node, bool notthelast= false) const; - QList scalarResultsFromEachInstruction() const; - std::pair finalScalarResult() const; - QString finalStringResult(std::function colorize, - bool removeUnhighlighted= false) const; - QStringList allFirstResultAsString(bool& hasAlias) const; - QList sumOfDiceResult() const; - QList diceResultFromEachInstruction() const; - bool hasIntegerResultNotInFirst() const; - bool hasDiceResult() const; - bool hasStringResult() const; - - // result - static QString replaceVariableToValue(const QString& source, QStringList values, - QMap& errorMap); - static QString replacePlaceHolderToValue(const QString& source, const QList& list, - bool removeUnhighlighted, - std::function colorize); - static SubtituteInfo readVariableFromString(const QString& source, int& start); - static SubtituteInfo readPlaceHolderFromString(const QString& source, int& start); - static ExportedDiceResult finalDiceResultFromInstruction(ExecutionNode* start); - static ExportedDiceResult allDiceResultFromInstruction(ExecutionNode* start); - void addResultInJson(QJsonObject& obj, Dice::RESULT_TYPE type, const QString& key, ExecutionNode* start, bool b); - void addDiceResultInJson(QJsonObject& obj, ExecutionNode* start, - std::function colorize); - - // accessors - void setComment(const QString& comment); - QString getComment() const; - void setHelpPath(const QString& path); - static QHash getVariableHash(); - static void setVariableHash(const QHash& variableHash); - void setStartNodes(std::vector nodes); - - // Aliases - QString convertAlias(QString str); - void insertAlias(DiceAlias* dice, int i); - const QList& getAliases() const; - QList* aliases(); - void setAliases(const QList list); - void cleanUpAliases(); - - static bool readStringResultParameter(QString& str); - static QString replacePlaceHolderFromJson(const QString& source, const QJsonObject& obj); - -private: - QMap m_logicOp; - QMap m_logicOperation; - QMap m_conditionOperation; - std::vector> m_arithmeticOperation; - QMap m_mapDiceOp; - QMap m_OptionOp; - QMap m_nodeActionMap; - std::map m_functionMap; - QStringList m_commandList; - - QMap m_errorMap; - QMap m_warningMap; - std::vector m_startNodes; - - QString m_comment; - - static QHash m_variableHash; - QString m_helpPath; - QList m_aliasList; -}; - -#endif // PARSINGTOOLBOX_H diff --git a/include/diceparser_qobject/diceparser_qobject_global.h b/include/diceparser_qobject/diceparser_qobject_global.h deleted file mode 100644 index ea49727..0000000 --- a/include/diceparser_qobject/diceparser_qobject_global.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef DICEPARSER_QOBJECT_GLOBAL_H -#define DICEPARSER_QOBJECT_GLOBAL_H - -#include - -#if defined(DICEPARSER_QOBJECT_LIBRARY) -#define DICEPARSER_QOBJECT_EXPORT Q_DECL_EXPORT -#else -#define DICEPARSER_QOBJECT_EXPORT Q_DECL_IMPORT -#endif -#endif // DICEPARSER_QOBJECT_GLOBAL_H diff --git a/include/diceparser_qobject/diceroller.h b/include/diceparser_qobject/diceroller.h deleted file mode 100644 index 72c4e10..0000000 --- a/include/diceparser_qobject/diceroller.h +++ /dev/null @@ -1,74 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2017 by Renaud Guezennec * - * https://rolisteam.org/contact * - * * - * Rolisteam 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. * - ***************************************************************************/ -#ifndef DICEROLLER_H -#define DICEROLLER_H - -#include -#include - -#include - -class DICEPARSER_QOBJECT_EXPORT DiceRoller : public QObject -{ - Q_OBJECT - Q_PROPERTY(qreal result READ result NOTIFY resultChanged) - Q_PROPERTY(QString dicelist READ diceList NOTIFY diceListChanged) - Q_PROPERTY(QString resultStr READ resultStr NOTIFY resultStrChanged) - Q_PROPERTY(QString command READ command WRITE setCommand NOTIFY commandChanged) - Q_PROPERTY(QString error READ error WRITE setError NOTIFY errorOccurs) - -public: - DiceRoller(QObject* parent= nullptr); - - QString diceList() const; - QString resultStr() const; - QString command() const; - qreal result() const; - QString error() const; - QList* aliases() const; - - DiceParser* parser(); - -signals: - void resultChanged(); - void diceListChanged(); - void resultStrChanged(); - void commandChanged(); - void errorOccurs(); - -public slots: - void start(); - void readErrorAndWarning(); - void setCommand(const QString& cmd); - void setError(const QString& error); - - /*protected: - QString diceToText(QList& diceList);*/ - -private: - DiceParser m_diceparser; - qreal m_result; - QString m_diceList; - QString m_resultStr; - QString m_command; - QString m_error; -}; - -#endif // DICEROLLER_H diff --git a/include/diceparser_qobject/qmltypesregister.h b/include/diceparser_qobject/qmltypesregister.h deleted file mode 100644 index e0b1a09..0000000 --- a/include/diceparser_qobject/qmltypesregister.h +++ /dev/null @@ -1,27 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2017 by Renaud Guezennec * - * https://rolisteam.org/contact * - * * - * This program 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. * - ***************************************************************************/ -#ifndef REGISTER_QML_TYPE_H -#define REGISTER_QML_TYPE_H - -#include - -DICEPARSER_QOBJECT_EXPORT void registerQmlTypes(); - -#endif // REGISTER_QML_TYPE_H -- cgit v1.2.3-70-g09d2