summaryrefslogtreecommitdiff
path: root/gameView/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gameView/main.cpp')
-rw-r--r--gameView/main.cpp72
1 files changed, 41 insertions, 31 deletions
diff --git a/gameView/main.cpp b/gameView/main.cpp
index f769ed5..95e49a3 100644
--- a/gameView/main.cpp
+++ b/gameView/main.cpp
@@ -13,37 +13,42 @@
#include <qtoolbar.h>
#include <qwidget.h>
-class MainWindowMediator {
+class ControlInterface {
public:
- MainWindowMediator &registerListOfCardsWidget(std::shared_ptr<QListWidget> &iListOfCards) {
+ ControlInterface &registerListOfCardsWidget(std::shared_ptr<QListWidget> &iListOfCards) {
_listOfCardsWidget = iListOfCards;
- _listOfCardsWidget->hide();
return *this;
}
- MainWindowMediator &registerMainWindow(std::shared_ptr<QWidget> &iMainWindow) {
+ ControlInterface &registerMainWindow(std::shared_ptr<QWidget> &iMainWindow) {
_mainWindow = iMainWindow;
return *this;
}
- MainWindowMediator &registerMainMenuBar(std::shared_ptr<QMenuBar> &iMenuBar) {
+ ControlInterface &registerMainMenuBar(std::shared_ptr<QMenuBar> &iMenuBar) {
_mainMenuBar = iMenuBar;
- configureMainMenuBar();
return *this;
}
- MainWindowMediator &registerRightView(std::shared_ptr<QGraphicsView> &iRightView) {
+ ControlInterface &registerRightView(std::shared_ptr<QGraphicsView> &iRightView) {
_rightView = iRightView;
- _rightScene = std::make_shared<QGraphicsScene>();
- QGraphicsRectItem *rect = _rightScene->addRect(QRectF(0, 0, 100, 100));
- QGraphicsItem *item = _rightScene->itemAt(50, 50, QTransform());
- _rightView->setScene(_rightScene.get());
- _rightView->hide();
return *this;
}
- std::shared_ptr<QWidget> getListOfCardsWidget() { return _listOfCardsWidget; }
- std::shared_ptr<QWidget> getMainWindow() { return _mainWindow; }
- std::shared_ptr<QMenuBar> getMainMenuBar() { return _mainMenuBar; }
- std::shared_ptr<QGraphicsView> getRightView() { return _rightView; }
+ std::shared_ptr<QWidget> listOfCardsWidget() { return _listOfCardsWidget; }
+ std::shared_ptr<QWidget> mainWindow() { return _mainWindow; }
+ std::shared_ptr<QMenuBar> mainMenuBar() { return _mainMenuBar; }
+ std::shared_ptr<QGraphicsView> rightView() { return _rightView; }
+
+ ControlInterface &configure() {
+ configureListOfCardsWidget().configureMainMenuBar().configureRightGraphicsView();
+ return *this;
+ }
- MainWindowMediator &fillListOfCards(const std::string &iCardsJsonPath) {
+ private:
+ std::shared_ptr<QListWidget> _listOfCardsWidget;
+ std::shared_ptr<QWidget> _mainWindow;
+ std::shared_ptr<QMenuBar> _mainMenuBar;
+ std::shared_ptr<QGraphicsView> _rightView;
+ std::shared_ptr<QGraphicsScene> _rightScene;
+
+ ControlInterface &fillListOfCards(const std::string &iCardsJsonPath) {
std::ifstream aCardsJsonFile{iCardsJsonPath};
uint64_t aCardIndex{0};
_listOfCardsWidget->clear();
@@ -59,15 +64,11 @@ class MainWindowMediator {
_mainWindow->resize(1500, 1000);
return *this;
}
-
- private:
- std::shared_ptr<QListWidget> _listOfCardsWidget;
- std::shared_ptr<QWidget> _mainWindow;
- std::shared_ptr<QMenuBar> _mainMenuBar;
- std::shared_ptr<QGraphicsView> _rightView;
- std::shared_ptr<QGraphicsScene> _rightScene;
-
- void configureMainMenuBar() {
+ ControlInterface &configureListOfCardsWidget() {
+ _listOfCardsWidget->hide();
+ return *this;
+ }
+ ControlInterface &configureMainMenuBar() {
QMenu *aOpenMenu = _mainMenuBar->addMenu("File");
aOpenMenu->addAction("Open JSON file", [this] {
QFileDialog aFileDialog;
@@ -84,7 +85,16 @@ class MainWindowMediator {
_rightView->setVisible(true);
}
});
- aOpenMenu->addAction("Quit", [this] { getMainWindow()->close(); });
+ aOpenMenu->addAction("Quit", [this] { _mainWindow->close(); });
+ return *this;
+ }
+ ControlInterface &configureRightGraphicsView() {
+ _rightScene = std::make_shared<QGraphicsScene>();
+ QGraphicsRectItem *rect = _rightScene->addRect(QRectF(0, 0, 100, 100));
+ QGraphicsItem *item = _rightScene->itemAt(50, 50, QTransform());
+ _rightView->setScene(_rightScene.get());
+ _rightView->hide();
+ return *this;
}
};
@@ -105,12 +115,12 @@ int main(int argc, char *argv[]) {
auto aRightView = std::make_shared<QGraphicsView>();
aHLayout.addWidget(aRightView.get());
- MainWindowMediator aMainWindowMediator;
- aMainWindowMediator.registerListOfCardsWidget(aListOfCards)
+ ControlInterface aControlInterface;
+ aControlInterface.registerListOfCardsWidget(aListOfCards)
.registerMainWindow(aWindow)
.registerMainMenuBar(aMenuBar)
- .registerRightView(aRightView);
-
+ .registerRightView(aRightView)
+ .configure();
aWindow->show();
aWindow->setWindowTitle("Hearthstone simulator");
return aApplication.exec();