#ifndef CELL_H
#define CELL_H

#include <QWidget>

class QPushButton;
class Cell : public QWidget
{
    Q_OBJECT
public:
    explicit Cell(QWidget *parent = 0);
    Cell (const Cell &old_obj); 
    int possibleStates=9;
    bool collapsed = false;
    std::vector<int> index={0,1,2,3,4,5,6,7,8};

private:
    QPushButton *m_states[9];
    QPushButton *m_number;
    std::array<int,9> m_blocked;

signals:
    void update(int x);
    void undo(int x);
public slots:
    void addOption(int x);
    void removeOption(int x);
    void collapse(int x);
    void un(void);
};

#endif // CELL_H