aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/libparser/include/diceparser_qobject
diff options
context:
space:
mode:
Diffstat (limited to 'src/libparser/include/diceparser_qobject')
-rw-r--r--src/libparser/include/diceparser_qobject/diceparser_qobject_global.h11
-rw-r--r--src/libparser/include/diceparser_qobject/diceroller.h74
-rw-r--r--src/libparser/include/diceparser_qobject/qmltypesregister.h27
3 files changed, 112 insertions, 0 deletions
diff --git a/src/libparser/include/diceparser_qobject/diceparser_qobject_global.h b/src/libparser/include/diceparser_qobject/diceparser_qobject_global.h
new file mode 100644
index 0000000..ea49727
--- /dev/null
+++ b/src/libparser/include/diceparser_qobject/diceparser_qobject_global.h
@@ -0,0 +1,11 @@
+#ifndef DICEPARSER_QOBJECT_GLOBAL_H
+#define DICEPARSER_QOBJECT_GLOBAL_H
+
+#include <QtCore/qglobal.h>
+
+#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/src/libparser/include/diceparser_qobject/diceroller.h b/src/libparser/include/diceparser_qobject/diceroller.h
new file mode 100644
index 0000000..72c4e10
--- /dev/null
+++ b/src/libparser/include/diceparser_qobject/diceroller.h
@@ -0,0 +1,74 @@
+/***************************************************************************
+ * 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 <QObject>
+#include <diceparser/diceparser.h>
+
+#include <diceparser_qobject/diceparser_qobject_global.h>
+
+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<DiceAlias*>* 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<ExportedDiceResult>& 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/src/libparser/include/diceparser_qobject/qmltypesregister.h b/src/libparser/include/diceparser_qobject/qmltypesregister.h
new file mode 100644
index 0000000..e0b1a09
--- /dev/null
+++ b/src/libparser/include/diceparser_qobject/qmltypesregister.h
@@ -0,0 +1,27 @@
+/***************************************************************************
+ * 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/diceparser_qobject_global.h>
+
+DICEPARSER_QOBJECT_EXPORT void registerQmlTypes();
+
+#endif // REGISTER_QML_TYPE_H