From ce87a2fc846f7e938feda112bf358ad99bd47820 Mon Sep 17 00:00:00 2001 From: Aotrix <9aotrix@protonmail.com> Date: Sat, 1 Aug 2026 12:25:03 +0200 Subject: Change MainWindowMediator class name --- gameView/main.cpp | 72 +++++++++++++++++++++++++++++++------------------------ 1 file 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 #include -class MainWindowMediator { +class ControlInterface { public: - MainWindowMediator ®isterListOfCardsWidget(std::shared_ptr &iListOfCards) { + ControlInterface ®isterListOfCardsWidget(std::shared_ptr &iListOfCards) { _listOfCardsWidget = iListOfCards; - _listOfCardsWidget->hide(); return *this; } - MainWindowMediator ®isterMainWindow(std::shared_ptr &iMainWindow) { + ControlInterface ®isterMainWindow(std::shared_ptr &iMainWindow) { _mainWindow = iMainWindow; return *this; } - MainWindowMediator ®isterMainMenuBar(std::shared_ptr &iMenuBar) { + ControlInterface ®isterMainMenuBar(std::shared_ptr &iMenuBar) { _mainMenuBar = iMenuBar; - configureMainMenuBar(); return *this; } - MainWindowMediator ®isterRightView(std::shared_ptr &iRightView) { + ControlInterface ®isterRightView(std::shared_ptr &iRightView) { _rightView = iRightView; - _rightScene = std::make_shared(); - 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 getListOfCardsWidget() { return _listOfCardsWidget; } - std::shared_ptr getMainWindow() { return _mainWindow; } - std::shared_ptr getMainMenuBar() { return _mainMenuBar; } - std::shared_ptr getRightView() { return _rightView; } + std::shared_ptr listOfCardsWidget() { return _listOfCardsWidget; } + std::shared_ptr mainWindow() { return _mainWindow; } + std::shared_ptr mainMenuBar() { return _mainMenuBar; } + std::shared_ptr rightView() { return _rightView; } + + ControlInterface &configure() { + configureListOfCardsWidget().configureMainMenuBar().configureRightGraphicsView(); + return *this; + } - MainWindowMediator &fillListOfCards(const std::string &iCardsJsonPath) { + private: + std::shared_ptr _listOfCardsWidget; + std::shared_ptr _mainWindow; + std::shared_ptr _mainMenuBar; + std::shared_ptr _rightView; + std::shared_ptr _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 _listOfCardsWidget; - std::shared_ptr _mainWindow; - std::shared_ptr _mainMenuBar; - std::shared_ptr _rightView; - std::shared_ptr _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(); + 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(); 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(); -- cgit v1.2.3