Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Romain De Laage De Bellefaye
LO21-projet
Commits
f6ffc5b9
Verified
Commit
f6ffc5b9
authored
Jun 12, 2021
by
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
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
cellulut.pro.user
View file @
f6ffc5b9
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.15.0, 2021-06-12T0
8
:5
2:08
. -->
<!-- Written by QtCreator 4.15.0, 2021-06-12T0
9
:5
0:20
. -->
<qtcreator>
<data>
<variable>
EnvironmentId
</variable>
...
...
includes/autocell.h
View file @
f6ffc5b9
...
...
@@ -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
...
...
includes/parametragemodele.h
View file @
f6ffc5b9
...
...
@@ -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
;
...
...
src/autocell.cpp
View file @
f6ffc5b9
...
...
@@ -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
->
set
Text
(
"
1000
"
);
spin
_time_step
->
set
Value
(
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
()
{
...
...
src/parametragemodele.cpp
View file @
f6ffc5b9
...
...
@@ -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
,
5
50
);
this
->
setMinimumSize
(
850
,
6
50
);
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
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment