/[projects]/queensgui/src/queensmain.cpp
ViewVC logotype

Diff of /queensgui/src/queensmain.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2 by torben, Thu Jul 19 22:26:42 2007 UTC revision 6 by torben, Fri Jul 20 09:54:09 2007 UTC
# Line 31  Line 31 
31  #include "queensmain.h"  #include "queensmain.h"
32  #include "board.h"  #include "board.h"
33  #include "queens.h"  #include "queens.h"
34    
35  #include "solution.h"  #include "solution.h"
36  #include "solutionvector.h"  #include "solutionmatrix.h"
37  #include "solutionlist.h"  #include "solutionint.h"
38  #include "solutionhash.h"  
39  #include "solutionmnvector.h"  #include "containervector.h"
40    #include "containerlist.h"
41    #include "containerhash.h"
42    #include "containermnvector.h"
43    
44  #include "config.h"  #include "config.h"
45    
46  #define MatrixSolution Solution  
47    
48  QueensMain::QueensMain(QWidget *parent, const char *name)  QueensMain::QueensMain(QWidget *parent, const char *name)
49   : QDialog(parent, name)   : QDialog(parent, name)
# Line 82  QueensMain::QueensMain(QWidget *parent, Line 86  QueensMain::QueensMain(QWidget *parent,
86      m_sortalgo = SortList;      m_sortalgo = SortList;
87      m_solutions = NULL;      m_solutions = NULL;
88      m_queens = NULL;      m_queens = NULL;
89            m_sol = NULL;
90            
91      connect(m_quit,      connect(m_quit,
92          SIGNAL( clicked() ),          SIGNAL( clicked() ),
# Line 134  void QueensMain::start() Line 139  void QueensMain::start()
139      m_list->clear();      m_list->clear();
140      m_status->setText( QString("Searching ...") );      m_status->setText( QString("Searching ...") );
141            
142            m_board->setMatrix(0);
143            
144      if (m_queens != NULL) {      if (m_queens != NULL) {
145          m_queens->wait();          m_queens->wait();
146          delete m_queens;          delete m_queens;
# Line 143  void QueensMain::start() Line 150  void QueensMain::start()
150           delete m_solutions;           delete m_solutions;
151      switch (m_sortalgo) {      switch (m_sortalgo) {
152              case SortList:              case SortList:
153                      m_solutions = new SolutionList(this);                      m_solutions = new ContainerList(this);
154                      break;                      break;
155              case SortVector:              case SortVector:
156                      m_solutions = new SolutionVector(this);                      m_solutions = new ContainerVector(this);
157                      break;                      break;
158              case SortHash:              case SortHash:
159                      m_solutions = new SolutionHash(this);                      m_solutions = new ContainerHash(this);
160                      break;                      break;
161              case SortMNVector:              case SortMNVector:
162                      m_solutions = new SolutionMNVector(this);                      m_solutions = new ContainerMNVector(this);
163                      break;                      break;
164      }      }
165                    
# Line 161  void QueensMain::start() Line 168  void QueensMain::start()
168                    
169          switch(this->m_storage) {          switch(this->m_storage) {
170                  case StorageInt:                  case StorageInt:
171                          #warning MatrixSolution<=>IntSolution                          m_sol = new SolutionInt(m_sizeSelector->value());
                         m_sol = new MatrixSolution(m_sizeSelector->value());  
172                          break;                          break;
173                  case StorageMatrix:                  case StorageMatrix:
174                          m_sol = new MatrixSolution(m_sizeSelector->value());                          m_sol = new SolutionMatrix(m_sizeSelector->value());
175                          break;                          break;
176          }          }
177    
178    
179      m_elapsed.start();      m_elapsed.start();
180      m_time.start();      m_time.start();
181      m_queens = new Queens(this, m_solutions, m_sizeSelector->value() ,false);      m_queens = new Queens(this, m_sol, m_solutions, m_sizeSelector->value() ,false);
182      m_queens->start();      m_queens->start();
183  }  }
184    
# Line 220  void QueensMain::showSolution() Line 226  void QueensMain::showSolution()
226  {  {
227          int index = m_list->currentItem();          int index = m_list->currentItem();
228          Solution* sol = m_solutions->solution( index );          Solution* sol = m_solutions->solution( index );
229          m_board->setMatrix( *sol );          m_board->setMatrix( sol );
230  }  }
231    
232  void QueensMain::resize(int size)  void QueensMain::resize(int size)

Legend:
Removed from v.2  
changed lines
  Added in v.6

  ViewVC Help
Powered by ViewVC 1.1.20