aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/diceroller.h
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2017-12-21 15:00:31 +0100
committerRenaud G <renaud@rolisteam.org>2017-12-21 15:00:44 +0100
commite0f0ab28dab6f1ec30eedc3a9af6f666c5ec1073 (patch)
tree2f036dca3c70170008aa9d079cf1d5668a6fd3da /diceroller.h
parentdd3e2596a8f9504ad8359f65fd1f420ccd8ad201 (diff)
downloadOneRoll-e0f0ab28dab6f1ec30eedc3a9af6f666c5ec1073.tar.gz
OneRoll-e0f0ab28dab6f1ec30eedc3a9af6f666c5ec1073.zip
prepare the way to embedded dice roller inside Charactersheet
Diffstat (limited to 'diceroller.h')
-rw-r--r--diceroller.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/diceroller.h b/diceroller.h
new file mode 100644
index 0000000..3881522
--- /dev/null
+++ b/diceroller.h
@@ -0,0 +1,69 @@
+/***************************************************************************
+* Copyright (C) 2017 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 DICEROLLER_H
+#define DICEROLLER_H
+
+#include <QObject>
+#include "diceparser.h"
+
+class DiceRoller : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal result READ getResult NOTIFY resultChanged)
+ Q_PROPERTY(QString dicelist READ getDiceList NOTIFY diceListChanged)
+ Q_PROPERTY(QString resultStr READ getResultStr NOTIFY resultStrChanged)
+ Q_PROPERTY(QString command READ getCommand WRITE setCommand NOTIFY commandChanged)
+ Q_PROPERTY(QString error READ getError WRITE setError NOTIFY errorOccurs)
+
+public:
+ DiceRoller();
+
+
+ QString getDiceList() const;
+ QString getResultStr() const;
+ QString getCommand() const;
+ qreal getResult() const;
+ void setCommand(const QString& cmd);
+
+ QString getError() const;
+ void setError(const QString &error);
+
+signals:
+ void resultChanged();
+ void diceListChanged();
+ void resultStrChanged();
+ void commandChanged();
+ void errorOccurs();
+
+public slots:
+ void start();
+
+protected:
+ QString diceToText(QList<ExportedDiceResult> &diceList);
+private:
+ DiceParser* m_diceparser;
+ qreal m_result;
+ QString m_diceList;
+ QString m_resultStr;
+ QString m_command;
+ QString m_error;
+};
+
+#endif // DICEROLLER_H