Urbanisme  1.3.0
Projet visant à l'optimisation du placement de routes sur une surface. https://flodavid.github.io/Urbanisme
mainwindow.hpp
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3 
4 #include <QMainWindow>
5 #include <QtWidgets/QWidget>
6 #include <QtWidgets/QMenuBar>
7 
8 #include "Engine/field.h"
9 #include "Engine/parameters.h"
10 #include "fieldevaluation.h"
11 #include "resolution.h"
12 
13 #include "fieldview.hpp"
14 
19 class MainWindow : public QMainWindow
20 {
21  Q_OBJECT
22 
23 private:
24  // Données
25  Field initialField;
26  Parameters parameters;
27  Resolution* resolution;
28 
29  // Widgets
30  FieldWidget* fieldWidget;
31 
32  // MENU BAR
33  QAction* askAction;
34  QAction* aboutAction;
35  QAction* initAction;
36  QAction* evalAction;
37  QAction* usableAction;
38  QAction* accessAction;
39  QAction* hotmapAction;
40  QAction* resetAction;
41  QAction* flushAction;
42  QAction* exportAction;
43 
44  // Fenêtres
45  QWidget* aboutWindow;
46  QDialog* initWindow;
47 
48 public:
53  explicit MainWindow(QWidget *parent = 0);
54 
64  explicit MainWindow(unsigned nbCols, unsigned nbRows, unsigned serveDistance, unsigned roadsWidth, QWidget *parent = 0);
65 
73  explicit MainWindow(unsigned nbCols, unsigned nbRows, const Parameters& params, QWidget *parent = 0);
80  explicit MainWindow(const Field& field, const Parameters& params, QWidget *parent = 0);
81 
85  virtual ~MainWindow();
86 
90  void initComponents();
91 
95  void initEvents();
96 
97  /* Getters */
102  const Field& get_initialField() { return initialField; }
103 
104  /* Others */
105 //private:
106  void updateWorkField();
107 
108 private:
109  std::string get_resolution_name() const;
110 
111  /* Actions des boutons et de l'interface */
112 public slots:
116  const QPoint* askSizes();
117 // /**
118 // * Demande les paramètres du problème avec lesquels effectuer la résolution
119 // */
120 // void askParams();
124  void popAbout();
128  void launchInit();
133  void launchLocalUsable();
141  void launchLocalAccess();
146  void launchEval();
151  void resetField();
155  void emptyField();
159  void hotmapDraw();
163  void exportPareto();
164 };
165 
166 #endif // MAINWINDOW_H
const Field & get_initialField()
Definition: mainwindow.hpp:102
void emptyField()
Definition: mainwindow.cpp:308
void popAbout()
Definition: mainwindow.cpp:217
void launchEval()
Definition: mainwindow.cpp:288
virtual ~MainWindow()
Definition: mainwindow.cpp:73
Représente les paramètres du problèmes.
Definition: parameters.h:6
void hotmapDraw()
Definition: mainwindow.cpp:327
Classe représentant la surface -le terrain- et contenant les opérations que l&#39;on effectue sur celui-c...
Definition: field.h:15
void launchInit()
Definition: mainwindow.cpp:245
Widget d&#39;affichage de l&#39;automate cellulaire. Ce composant permet de suivre graphiquement l&#39;évolution ...
Definition: fieldview.hpp:31
La classe effectuant l&#39;ensemble de la résolution et le front Pareto Elle contient l&#39;intégralité des d...
Definition: resolution.h:18
void initEvents()
Definition: mainwindow.cpp:124
void exportPareto()
Definition: mainwindow.cpp:332
MainWindow(QWidget *parent=0)
Definition: mainwindow.cpp:20
void launchLocalUsable()
Definition: mainwindow.cpp:256
Fenêre principale de l&#39;application. Chargée d&#39;afficher la surface, les menus, les résultats et gérer ...
Definition: mainwindow.hpp:19
void resetField()
Definition: mainwindow.cpp:297
void updateWorkField()
Definition: mainwindow.cpp:151
void launchLocalAccess()
Definition: mainwindow.cpp:272
void initComponents()
Definition: mainwindow.cpp:93
const QPoint * askSizes()
Definition: mainwindow.cpp:179