#include "MainMenu.h" #include "../Icons.h" #include #include #include MainMenu::MainMenu(QWidget* parent) : QWidget(parent) { setMinimumHeight(64); QGridLayout* lay = new QGridLayout(this); int row = 0; int col = 0; btnLoadMap = getButton("load"); Assert::isTrue(connect(btnLoadMap, &QPushButton::clicked, this, &MainMenu::onLoadButton), "connect() failed"); lay->addWidget(btnLoadMap, row, col, 1,1,Qt::AlignTop); ++col; btnDebug = getButton("bug"); Assert::isTrue(connect(btnDebug, &QPushButton::clicked, this, &MainMenu::onDebugButton), "connect() failed"); lay->addWidget(btnDebug, row, col, 1,1,Qt::AlignTop); ++col; btnCamera = getButton("camera"); Assert::isTrue(connect(btnCamera, &QPushButton::clicked, this, &MainMenu::onCameraButton), "connect() failed"); lay->addWidget(btnCamera, row, col, 1,1,Qt::AlignTop); ++col; btnTransparent = getButton("cube"); Assert::isTrue(connect(btnTransparent, &QPushButton::clicked, this, &MainMenu::onTransparentButton), "connect() failed"); lay->addWidget(btnTransparent, row, col, 1,1,Qt::AlignTop); ++col; btnStart = getButton("run"); Assert::isTrue(connect(btnStart, &QPushButton::clicked, this, &MainMenu::onStartButton), "connect() failed"); lay->addWidget(btnStart, row, col, 1,1,Qt::AlignTop); ++col; } QPushButton* MainMenu::getButton(const std::string& icon) { const int size = 48; const int border = 4; QPushButton* btn = new QPushButton(Icons::getIcon(icon, size), ""); btn->setIconSize(QSize(size,size)); btn->setMinimumHeight(size+border); btn->setMaximumHeight(size+border); btn->setMinimumWidth(size+border); btn->setMaximumWidth(size+border); return btn; }