#pragma once #include "MineField.hpp" #include "gdkmm/pixbuf.h" #include //#include #include #include #include #include //#include //#include #include //#include // #include // #include //#include //#include // #include // #include // #include // #include // #include #define PROJECT_NAME "minesweeper" class MainWindow : public Gtk::Window { Gtk::Box boxV{Gtk::Orientation::VERTICAL}; Gtk::Box boxH{Gtk::Orientation::HORIZONTAL}; std::vector> buttons; Gtk::Grid grid; Gtk::HeaderBar bar; Gtk::Button newGameButton; Gtk::Button optionButton; Gtk::Label flagLabel; Gtk::Label clockLabel; MineField field {16, 16, 40}; int elapsedTime; bool newGame; std::shared_ptr m_pixbufBomb; std::shared_ptr m_pixbufFlag; std::shared_ptr m_pixbufFlagBomb; void updateCell(int x, int y); void openBombs(); void updateFlagsLabel(int flags); // sigc::connection clockConn; // void OpenNearCells(int index); // void Explode(); // bool AllCellsOpened(); public: MainWindow(); // void OnNewButtonClick(); void OnCellClick(int x, int y); void OnCellRightClick(int n_press, double n_x, double n_y, int index); // void ShowGameWonAnimation(); // void ApplyStyles(); // bool UpdateClockLabel(); };