00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef EASYSOK_SOLVER_DIALOG_INC_GUARD_H
00022 #define EASYSOK_SOLVER_DIALOG_INC_GUARD_H
00023
00024
00025 #include <qmessagebox.h>
00026 #include <qstring.h>
00027
00028 #include "map.h"
00029
00030 class QTimer;
00031 class Solver;
00032
00033
00034
00035
00043 class SolverDialog : public QMessageBox
00044 {
00045 Q_OBJECT
00046
00047 public:
00048
00057 SolverDialog(Map const & map, QWidget * parent = 0, char const * name = 0);
00058
00059
00064 virtual ~SolverDialog();
00065
00066
00071 Solver const * solver() const;
00072
00073
00078 QString positionsExaminedAsText() const;
00079
00080
00081 private slots:
00082
00087 void prepareSolver();
00088
00089
00094 void performSolve();
00095
00096
00097 private:
00098
00103 Solver * m_solver;
00104
00105
00110 QTimer * m_timer;
00111
00112
00117 int m_positions_per_step;
00118
00119
00124 int m_steps_rest;
00125
00126
00131 int m_steps_million;
00132 };
00133
00134
00135 #endif