Verified Commit f6ffc5b9 authored by Romain De Laage De Bellefaye's avatar Romain De Laage De Bellefaye 🌳
Browse files

Merge branch 'master' of gitlab.utc.fr:rdelaage/lo21-projet

parents 18076b9b 729f481c
Pipeline #79720 passed with stage
in 15 seconds
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.15.0, 2021-06-12T08:52:08. -->
<!-- Written by QtCreator 4.15.0, 2021-06-12T09:50:20. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
......
......@@ -21,6 +21,7 @@
#include <QPushButton>
#include <QCheckBox>
#include <QFormLayout>
#include <QSpinBox>
using namespace std;
......@@ -66,8 +67,7 @@ class AutoCell : public QWidget
QCheckBox* matriceTorique;
QLabel* lab_time_step;
QLineEdit* edit_time_step;
QPushButton* button_valider_delai;
QSpinBox* spin_time_step;
QPushButton* button_prev;
QPushButton* button_run;
QPushButton* button_next;
......@@ -131,7 +131,7 @@ class AutoCell : public QWidget
/// Initialiser un automate par son nom
void initAutomate(const QString& name);
/// Changer le délai de l'automate
void changeDelai();
void changeDelai(int i);
/// Aller en arrière dans la simulation
void previous();
/// Aller en avant dans la simulation
......
......@@ -39,6 +39,7 @@ class NouveauModele : public QWidget {
QFormLayout* form_choix;
QLineEdit* nom_modele;
QLineEdit* nom_automate;
QLineEdit* auteur;
QLineEdit* annee;
......@@ -51,7 +52,6 @@ class NouveauModele : public QWidget {
QHBoxLayout* layoutvalid = nullptr;
QLineEdit* nomModele;
//definition frame règle de transitions
QWidget* fenetre_regle;
QLabel* seuilMax;
......
......@@ -145,14 +145,12 @@ AutoCell::AutoCell(QWidget* parent):QWidget(parent)
connect(matriceTorique, SIGNAL(stateChanged(int)), this, SLOT(setMatriceTorique(int)));
lab_time_step = new QLabel("Pas de temps : ");
edit_time_step = new QLineEdit;
edit_time_step->setStyleSheet("background-color: rgb(255,255,255)");
edit_time_step->setFixedWidth(30);
edit_time_step->setText("1000"); //valeur par défaut pour le pas de temps
button_valider_delai = new QPushButton("valider");
button_valider_delai->setStyleSheet("background-color: rgb(255,255,255)");
button_valider_delai->setFixedWidth(50);
connect(button_valider_delai, SIGNAL(clicked()), this, SLOT(changeDelai()));
spin_time_step = new QSpinBox;
spin_time_step->setStyleSheet("background-color: rgb(255,255,255)");
spin_time_step->setFixedWidth(70);
spin_time_step->setValue(1000);
spin_time_step->setRange(500,2500);
connect(spin_time_step, SIGNAL(valueChanged(int i)), this, SLOT(changeDelai(int i)));
button_prev = new QPushButton("<<");
button_prev->setStyleSheet("background-color: rgb(255,255,255)");
button_prev->setFixedSize(40,40);
......@@ -170,9 +168,7 @@ AutoCell::AutoCell(QWidget* parent):QWidget(parent)
button_reinitialiser->setFixedWidth(200);
grid_run_control->addWidget(matriceTorique, 1, 0, Qt::AlignCenter);
grid_run_control->addWidget(lab_time_step, 2, 0);
grid_run_control->addWidget(edit_time_step, 2, 1);
grid_run_control->addWidget(button_valider_delai, 2, 2);
grid_run_control->addWidget(spin_time_step, 2, 1);
grid_run_control->addWidget(button_prev, 3, 0);
grid_run_control->addWidget(button_run, 3, 1);
grid_run_control->addWidget(button_next, 3, 2);
......@@ -312,7 +308,7 @@ void AutoCell::RAZ(){
grid = new QTableWidget(0,0,win_grid);
edit_largeur->setText("");
edit_hauteur->setText("");
edit_time_step->setText("1000");
spin_time_step->setValue(1000);
check_aleatoire->setCheckState(Qt::Unchecked);
check_load_grid->setCheckState(Qt::Unchecked);
;}
......@@ -358,6 +354,10 @@ void AutoCell::sauvegarderGrille(){
QString nom_automate;
nom_automate = liste->currentText();
Database::getInstance().stockerReseau(*Grille, nom_grille, nom_automate);
edit_nom_grille->setText("");
QMessageBox messageBox;
messageBox.critical(0,"Confirmation", "Grille enregistrée");
messageBox.setFixedSize(500,200);
};
void AutoCell::chargerGrilles(){
......@@ -367,6 +367,7 @@ void AutoCell::chargerGrilles(){
text = liste->currentText();
list_grids->clear();
list_grids.setFixedWidth(90);
vector<QString> noms = Database::getInstance().getListeReseaux(text);
nb.setNum(noms.size());
......@@ -404,14 +405,8 @@ void AutoCell::initAutomate(const QString& name) {
matriceTorique->setCheckState(Qt::Checked);
}
void AutoCell::changeDelai() {
if(edit_time_step->text() == "" || edit_time_step->text().toInt() < 500 || edit_time_step->text().toInt() > 2500 ){
QString msg("Veuillez indiquer un pas de temps entre 500 ms et 2500 ms");
afficherErreur(msg);
edit_time_step->setText("1000");
return;
}
Automate::getInstance().setDelai(static_cast<unsigned int>(edit_time_step->text().toInt()));
void AutoCell::changeDelai(int i) {
Automate::getInstance().setDelai(static_cast<unsigned int>(i));
}
void AutoCell::next() {
......
......@@ -16,7 +16,7 @@ NouveauModele::NouveauModele(QWidget* parent) : QWidget() {
Automate::getInstance().getEnsemble().ajouterEtat(7, "État 8", 200, 200, 200);
// fonction.reset(new Fonction(Automate::getInstance().getEnsemble().getEtat(0)));
this->setWindowTitle("Paramétrage d'un nouveau modèle");
this->setMinimumSize(850, 550);
this->setMinimumSize(850, 650);
general = new QGridLayout;
this->setLayout(general);
......@@ -47,6 +47,7 @@ NouveauModele::NouveauModele(QWidget* parent) : QWidget() {
// nb d'états
nb_etats = new QSpinBox;
nb_etats->setRange(2, 8);
nom_modele = new QLineEdit("Nouveau modèle");
//choisir un voisinage
liste_voisinage = new QComboBox;
......@@ -87,6 +88,7 @@ NouveauModele::NouveauModele(QWidget* parent) : QWidget() {
connect(bouton_valide, SIGNAL(clicked()), this, SLOT(validerParametrage()));
//ajout regle :
form_choix->addRow("Nom du modèle : ", nom_modele);
form_choix->addRow("Nom automate :", nom_automate);
form_choix->addRow("Auteur :", auteur);
form_choix->addRow("Année :", annee);
......@@ -215,7 +217,7 @@ void NouveauModele::modifGrille(const QModelIndex& index){
void NouveauModele::changerVoisinage(const QString& choix_regle){
//delete liste_voisinage;
form_choix->removeRow(6);
form_choix->removeRow(7);
liste_voisinage = new QComboBox();
layoutvalid = new QHBoxLayout;
......@@ -239,7 +241,7 @@ void NouveauModele::changerVoisinage(const QString& choix_regle){
liste_voisinage->addItem("Voisinage arbitraire");
liste_voisinage->setCurrentIndex(-1);
}
form_choix->insertRow(6, "Voisinage :", liste_voisinage);
form_choix->insertRow(8, "Voisinage :", liste_voisinage);
layoutvalid->addWidget(bouton_valide);
layoutvalid->addWidget(boutonEtat);
form_choix->addRow(layoutvalid);
......@@ -280,7 +282,7 @@ void NouveauModele::choisirEtatCourant(const QString& validEtat){
etatCourant2 = new QLabel("Etat Courant : ");
numEtatCourant = new QSpinBox;
numEtatCourant->setRange(1,8);
numEtatCourant->setRange(0,nb_etats->value()-1);
layouth5->addWidget(etatCourant2);
layouth5->addWidget(numEtatCourant);
......@@ -344,11 +346,6 @@ void NouveauModele::paramRegle(const QString& choix_regle) {
etat_default = new QSpinBox;
etat_default->setRange(0,(nb_etats->value())-1);
/*QLabel* etat_d = new QLabel("Etat Defaut : ");
QSpinBox* etat_defaut = new QSpinBox;
etat_defaut->setRange(0,nb_etats->value()-1);
form_choix->addRow("Etat par défaut", etat_defaut);*/
QSpinBox* etatDest = new QSpinBox;
etatDest->setRange(0, nb_etats->value()-1);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment