parametragemodele.h 2.61 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
46

    QSpinBox* nb_etats;
    QComboBox* liste_voisinage;
    QComboBox* liste_regle_transition;
    QPushButton* bouton_valide;

Maxime Goret's avatar
Maxime Goret committed
47
48
    QHBoxLayout* layoutvalid;

Maxime Goret's avatar
Maxime Goret committed
49
50
    //definition frame règle de transitions
    QWidget* fenetre_regle;
Maxime Goret's avatar
Maxime Goret committed
51
52
53
54
    QLabel* seuilMax;
    QLabel* seuilMin;
    QLabel* destination;
    QLabel* etatCourant;
Maxime Goret's avatar
Maxime Goret committed
55
    QLabel* etatCourant2 = nullptr;
Maxime Goret's avatar
Maxime Goret committed
56

Maxime Goret's avatar
Maxime Goret committed
57
    QComboBox* valid_Etat;
Maxime Goret's avatar
Maxime Goret committed
58
    QSpinBox* numEtatCourant = nullptr;
Maxime Goret's avatar
Maxime Goret committed
59
    QSpinBox* etatDest;
Maxime Goret's avatar
Maxime Goret committed
60

Maxime Goret's avatar
Maxime Goret committed
61
62
    QPushButton* fin = nullptr;
    QPushButton* next = nullptr;
Maxime Goret's avatar
Maxime Goret committed
63
64
    QIntValidator* seuilValidator;
    QLineEdit* numSeuilMin[8];
Maxime Goret's avatar
Maxime Goret committed
65
    QLineEdit* numSeuilMax[8];
Maxime Goret's avatar
Maxime Goret committed
66

Maxime Goret's avatar
Maxime Goret committed
67
68
69
70
71
    QVBoxLayout* layoutv = nullptr;
    QHBoxLayout* layouth1 = nullptr;
    QHBoxLayout* layouth2 = nullptr;
    QHBoxLayout* layouth3 = nullptr;
    QHBoxLayout* layouth4 = nullptr;
Maxime Goret's avatar
Maxime Goret committed
72

Maxime Goret's avatar
Maxime Goret committed
73
74
75
    QVBoxLayout* layoutv2 = nullptr;
    QHBoxLayout* layouth5 = nullptr;
    QHBoxLayout* layouth6 = nullptr;
Maxime Goret's avatar
Maxime Goret committed
76

77
78
79
80
    //définition de la frame paramétrage du choix
    QWidget* fenetre_param;
    QGridLayout* form_param;
    QLabel* label_param;
81

82
    //Voisiange non arbitraire
Maxime Goret's avatar
Maxime Goret committed
83
    QFormLayout* form_rayon = nullptr;
84
    QSpinBox* rayon;
85

86
    //définition de la frame contenant la grille de sélection du voisinage
Maxime Goret's avatar
Maxime Goret committed
87
    QTableWidget* grid = nullptr;
Romain De Laage De Bellefaye's avatar
Romain De Laage De Bellefaye committed
88
89
    std::unique_ptr<ParamAlpha> paramAlpha;
    QPushButton* boutonEtat;
90

Maxime Goret's avatar
Maxime Goret committed
91
92
    AutoCell* nvAutocell = nullptr;

93
94
95
public:
    NouveauModele(QWidget* parent = nullptr);
public slots:
96
    void paramVoisinage(const QString& choix_voisinage);
97
    void changerVoisinage(const QString& choix_regle);
98
    void affGrille();
99
    void modifGrille(const QModelIndex& index);
Maxime Goret's avatar
Maxime Goret committed
100
    void paramRegle(const QString& choix_regle);
Maxime Goret's avatar
Maxime Goret committed
101

Maxime Goret's avatar
Maxime Goret committed
102
    void choisirEtatCourant(const QString& validEtat);
Romain De Laage De Bellefaye's avatar
Romain De Laage De Bellefaye committed
103
    void parametrerEtats();
Maxime Goret's avatar
Maxime Goret committed
104

Maxime Goret's avatar
Maxime Goret committed
105
106
    void addRegle();

Maxime Goret's avatar
Maxime Goret committed
107
108
    void validerParametrage();

109
110
111
112
113
114


};


#endif // PARAMETRAGEMODELE_H