aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/bin/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/gui')
-rw-r--r--src/bin/gui/gui.pri10
-rw-r--r--src/bin/gui/mainwindow.cpp27
-rw-r--r--src/bin/gui/mainwindow.h28
-rw-r--r--src/bin/gui/mainwindow.ui75
4 files changed, 140 insertions, 0 deletions
diff --git a/src/bin/gui/gui.pri b/src/bin/gui/gui.pri
new file mode 100644
index 0000000..c31fd79
--- /dev/null
+++ b/src/bin/gui/gui.pri
@@ -0,0 +1,10 @@
+QT += gui
+
+FORMS += \
+ $$PWD/mainwindow.ui
+
+HEADERS += \
+ $$PWD/mainwindow.h
+
+SOURCES += \
+ $$PWD/mainwindow.cpp
diff --git a/src/bin/gui/mainwindow.cpp b/src/bin/gui/mainwindow.cpp
new file mode 100644
index 0000000..5b8422e
--- /dev/null
+++ b/src/bin/gui/mainwindow.cpp
@@ -0,0 +1,27 @@
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+
+#include "diceparser.h"
+
+MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWindow)
+{
+ ui->setupUi(this);
+
+ connect(ui->m_rollButton, SIGNAL(pressed()), this, SLOT(rollDiceCommand()));
+ m_dieParser= new DiceParser();
+}
+
+MainWindow::~MainWindow()
+{
+ delete ui;
+}
+void MainWindow::rollDiceCommand()
+{
+ QString cmd= ui->m_cmdEdit->text();
+
+ if(m_dieParser->parseLine(cmd))
+ {
+ m_dieParser->Start();
+ m_dieParser->displayResult();
+ }
+}
diff --git a/src/bin/gui/mainwindow.h b/src/bin/gui/mainwindow.h
new file mode 100644
index 0000000..bd19b34
--- /dev/null
+++ b/src/bin/gui/mainwindow.h
@@ -0,0 +1,28 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+
+class DiceParser;
+namespace Ui
+{
+ class MainWindow;
+}
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ explicit MainWindow(QWidget* parent= 0);
+ ~MainWindow();
+
+protected slots:
+ void rollDiceCommand();
+
+private:
+ Ui::MainWindow* ui;
+ DiceParser* m_dieParser;
+};
+
+#endif // MAINWINDOW_H
diff --git a/src/bin/gui/mainwindow.ui b/src/bin/gui/mainwindow.ui
new file mode 100644
index 0000000..d09f866
--- /dev/null
+++ b/src/bin/gui/mainwindow.ui
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>600</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MainWindow</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLineEdit" name="m_cmdEdit"/>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_rollButton">
+ <property name="text">
+ <string>Roll</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,1">
+ <item>
+ <widget class="QListView" name="m_historicView"/>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QWidget" name="m_display" native="true"/>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>29</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>