File indexing completed on 2024-04-28 04:04:44

0001 /****************************************************************************
0002  *    Copyright 2011  Ian Wadham <iandw.au@gmail.com>                       *
0003  *                                                                          *
0004  *    This program is free software; you can redistribute it and/or         *
0005  *    modify it under the terms of the GNU General Public License as        *
0006  *    published by the Free Software Foundation; either version 2 of        *
0007  *    the License, or (at your option) any later version.                   *
0008  *                                                                          *
0009  *    This program is distributed in the hope that it will be useful,       *
0010  *    but WITHOUT ANY WARRANTY; without even the implied warranty of        *
0011  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
0012  *    GNU General Public License for more details.                          *
0013  *                                                                          *
0014  *    You should have received a copy of the GNU General Public License     *
0015  *    along with this program.  If not, see <http://www.gnu.org/licenses/>. *
0016  ****************************************************************************/
0017 
0018 #ifndef STATE_H
0019 #define STATE_H
0020 
0021 #include <QObject>
0022 
0023 #include "globals.h"
0024 #include "sudokuboard.h"
0025 
0026 class State : public QObject
0027 {
0028     Q_OBJECT
0029 public:
0030     State (QObject * parent,
0031            const GuessesList &   guesses,
0032            const int             guessNumber,
0033            const BoardContents & values,
0034            const MoveList &      moves,
0035            const MoveList &      moveTypes);
0036 
0037     GuessesList    guesses()              { return m_guesses; }
0038     int            guessNumber()          { return m_guessNumber; }
0039     BoardContents  values()               { return m_values;  }
0040     void           setGuessNumber (int n) { m_guessNumber = n; }
0041     MoveList       moves()                { return m_moves; }
0042     MoveList       moveTypes()            { return m_moveTypes; }
0043 
0044 private:
0045     GuessesList    m_guesses;
0046     int            m_guessNumber;
0047     BoardContents  m_values;
0048     MoveList       m_moves;
0049     MoveList       m_moveTypes;
0050 };
0051 
0052 #endif // STATE_H