parametragemodele.h 2.74 KB
Newer Older
1
2
3
#ifndef PARAMETRAGEMODELE_H
#define PARAMETRAGEMODELE_H

Romain De Laage De Bellefaye's avatar
Romain De Laage De Bellefaye committed
4
#include <reseau_cellule_etats.h>
Romain De Laage De Bellefaye's avatar
Romain De Laage De Bellefaye committed
5
#include <paramalpha.h>
Maxime Goret's avatar
Maxime Goret committed
6
#include <autocell.h>
7
8
9
10
11
12

#include <QObject>
#include <QApplication>
#include <QPushButton>
#include <QWidget>
#include <QLineEdit>
13
#include <QSpinBox>
14
15
16
17
18
19
20
21
22
23
24
25
#include <QLabel>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QComboBox>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QHeaderView>
#include <QLayoutItem>
#include <QFont>
#include <QPushButton>
#include <QCheckBox>
#include <QFormLayout>
26
#include <QBrush>
27
#include <QMouseEvent>
28
29
30
31
32
33
34

using namespace std;

class NouveauModele : public QWidget {
    Q_OBJECT
    QGridLayout* general;

35
36
    //définition de la frame paramétrage du modèle
    QWidget* fenetre_init;
37
    QLabel* label_init;
38
    QGridLayout* form_init;
39
40

    QFormLayout* form_choix;
41

42
43
44
45
    QLineEdit* nom_automate;
    QLineEdit* auteur;
    QLineEdit* annee;
    QLineEdit* description;
46
47
48
49
50
    QSpinBox* nb_etats;
    QComboBox* liste_voisinage;
    QComboBox* liste_regle_transition;
    QPushButton* bouton_valide;

Maxime Goret's avatar
Maxime Goret committed
51
52
    QHBoxLayout* layoutvalid;

Maxime Goret's avatar
Maxime Goret committed
53
    QLineEdit* nomModele;
Maxime Goret's avatar
Maxime Goret committed
54
55
    //definition frame règle de transitions
    QWidget* fenetre_regle;
Maxime Goret's avatar
Maxime Goret committed
56
57
58
59
    QLabel* seuilMax;
    QLabel* seuilMin;
    QLabel* destination;
    QLabel* etatCourant;
Maxime Goret's avatar
Maxime Goret committed
60
    QLabel* etatCourant2 = nullptr;
Maxime Goret's avatar
Maxime Goret committed
61

Maxime Goret's avatar
Maxime Goret committed
62
    QComboBox* valid_Etat;
Maxime Goret's avatar
Maxime Goret committed
63
    QSpinBox* numEtatCourant = nullptr;
Maxime Goret's avatar
Maxime Goret committed
64
    QSpinBox* etatDest;
Maxime Goret's avatar
Maxime Goret committed
65

Maxime Goret's avatar
Maxime Goret committed
66
67
    QPushButton* fin = nullptr;
    QPushButton* next = nullptr;
Maxime Goret's avatar
Maxime Goret committed
68
69
    QIntValidator* seuilValidator;
    QLineEdit* numSeuilMin[8];
Maxime Goret's avatar
Maxime Goret committed
70
    QLineEdit* numSeuilMax[8];
Maxime Goret's avatar
Maxime Goret committed
71

Maxime Goret's avatar
Maxime Goret committed
72
73
74
75
76
    QVBoxLayout* layoutv = nullptr;
    QHBoxLayout* layouth1 = nullptr;
    QHBoxLayout* layouth2 = nullptr;
    QHBoxLayout* layouth3 = nullptr;
    QHBoxLayout* layouth4 = nullptr;
Maxime Goret's avatar
Maxime Goret committed
77

Maxime Goret's avatar
Maxime Goret committed
78
79
80
    QVBoxLayout* layoutv2 = nullptr;
    QHBoxLayout* layouth5 = nullptr;
    QHBoxLayout* layouth6 = nullptr;
Maxime Goret's avatar
Maxime Goret committed
81

82
83
84
85
    //définition de la frame paramétrage du choix
    QWidget* fenetre_param;
    QGridLayout* form_param;
    QLabel* label_param;
86

87
    //Voisiange non arbitraire
Maxime Goret's avatar
Maxime Goret committed
88
    QFormLayout* form_rayon = nullptr;
89
    QSpinBox* rayon;
90

91
    //définition de la frame contenant la grille de sélection du voisinage
Maxime Goret's avatar
Maxime Goret committed
92
    QTableWidget* grid = nullptr;
Romain De Laage De Bellefaye's avatar
Romain De Laage De Bellefaye committed
93
94
    std::unique_ptr<ParamAlpha> paramAlpha;
    QPushButton* boutonEtat;
95

Maxime Goret's avatar
Maxime Goret committed
96
97
    AutoCell* nvAutocell = nullptr;

98
99
100
public:
    NouveauModele(QWidget* parent = nullptr);
public slots:
101
    void paramVoisinage(const QString& choix_voisinage);
102
    void changerVoisinage(const QString& choix_regle);
103
    void affGrille();
104
    void modifGrille(const QModelIndex& index);
Maxime Goret's avatar
Maxime Goret committed
105
    void paramRegle(const QString& choix_regle);
Maxime Goret's avatar
Maxime Goret committed
106

Maxime Goret's avatar
Maxime Goret committed
107
    void choisirEtatCourant(const QString& validEtat);
Romain De Laage De Bellefaye's avatar
Romain De Laage De Bellefaye committed
108
    void parametrerEtats();
Maxime Goret's avatar
Maxime Goret committed
109

Maxime Goret's avatar
Maxime Goret committed
110
111
    void addRegle();

Maxime Goret's avatar
Maxime Goret committed
112
113
    void validerParametrage();

114
115
116
117
118
119


};


#endif // PARAMETRAGEMODELE_H