Question: MainWindow.cpp #include MainWindow.h wxBEGIN_EVENT_TABLE(MainWindow, wxFrame) wxEND_EVENT_TABLE() MainWindow::MainWindow(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame(nullptr, wxID_ANY, Game of Life, wxPoint(0, 0), wxSize(1000, 1000))
MainWindow.cpp #include "MainWindow.h" wxBEGIN_EVENT_TABLE(MainWindow, wxFrame) wxEND_EVENT_TABLE() MainWindow::MainWindow(const wxString& title, const wxPoint& pos, const wxSize& size) : wxFrame(nullptr, wxID_ANY, "Game of Life", wxPoint(0, 0), wxSize(1000, 1000)) { m_drawingPanel = new DrawingPanel(this); wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); sizer->Add(m_drawingPanel, 1, wxEXPAND | wxALL, 5); SetSizer(sizer); SetGridSize(gridSize); this->Bind(wxEVT_SIZE, &MainWindow::OnSizeChange, this); } void MainWindow::InitializeGrid() { gameBoard.resize(gridSize); for (int i = 0; i < gridSize; ++i) { gameBoard[i].resize(gridSize, false); } m_drawingPanel->SetGridSize(gridSize); } void MainWindow::ToggleCellState(int row, int col) { if (row >= 0 && row < gameBoard.size() && col >= 0 && col < gameBoard[row].size()) { gameBoard[row][col] = !gameBoard[row][col]; } } void MainWindow::SetGridSize(int size) { gridSize = size; InitializeGrid(); m_drawingPanel->SetGridSize(size); } void MainWindow::OnSizeChange(wxSizeEvent& event) { wxSize newSize = GetSize(); m_drawingPanel->SetSize(newSize); event.Skip(); } MainWindow::~MainWindow() { }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
