#ifndef CELL_H #define CELL_H #include <QWidget> class QPushButton; class QStackedWidget; class QSignalMapper; class QGroupBox; class QGridLayout; class Cell : public QWidget { Q_OBJECT public: explicit Cell(QWidget *parent = 0); void resizeEvent(QResizeEvent *event); int possibleStates = 9; bool collapsed = false; std::vector<int> options = {0, 1, 2, 3, 4, 5, 6, 7, 8}; private: QSignalMapper *mapper; QGroupBox *groupBox; QGridLayout *gridLayout; QPushButton *states[9]; QPushButton *number; std::array<int, 9> blocked; QStackedWidget *stackedWidget; signals: void update(int x); void undo(int x); public slots: void addOption(int x); void removeOption(int x); void collapse(int x); void collapsedCellClicked(void); }; #endif // CELL_H