Skip to content
GitLab
Menu
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
66102cb1
Verified
Commit
66102cb1
authored
Jun 13, 2021
by
Romain De Laage De Bellefaye
🌳
Browse files
Improve doc autocell
parent
dc0788cb
Changes
1
Hide whitespace changes
Inline
Side-by-side
includes/autocell.h
View file @
66102cb1
...
...
@@ -25,133 +25,128 @@
using
namespace
std
;
class
AutoCell
:
public
QWidget
{
static
std
::
unique_ptr
<
AutoCell
>
instance
;
unique_ptr
<
Reseau
>
Grille
=
nullptr
;
std
::
vector
<
QString
>
listeGrille
;
Q_OBJECT
QGridLayout
*
general
;
//définition de la frame choix du modèle
QWidget
*
win_model_choice
;
QLabel
*
lab_model_choice
;
QComboBox
*
liste
;
QGridLayout
*
grid_model_choice
;
QPushButton
*
button_add_model
;
//définition de la frame initialisation
QWidget
*
win_init
;
QLabel
*
lab_init
;
QGridLayout
*
form_init
;
QFormLayout
*
form_saved_grids
;
QFormLayout
*
form_config
;
QComboBox
*
list_grids
;
QCheckBox
*
check_load_grid
;
QLineEdit
*
edit_largeur
;
QLineEdit
*
edit_hauteur
;
QCheckBox
*
check_aleatoire
;
QPushButton
*
button_valide_init
;
//définition de la frame "panneau de contrôle de l'exécution"
QWidget
*
win_run_ctrl
;
QLabel
*
lab_run_crtl
;
QGridLayout
*
grid_run_control
;
QCheckBox
*
matriceTorique
;
QLabel
*
lab_time_step
;
QSpinBox
*
spin_time_step
;
QPushButton
*
button_prev
;
QPushButton
*
button_run
;
QPushButton
*
button_next
;
QPushButton
*
button_reinitialiser
;
QLabel
*
lab_nb_step
;
QLineEdit
*
edit_nb_step
;
QLabel
*
lab_periode
;
QLineEdit
*
edit_periode
;
QLabel
*
lab_sauv_grille
;
QLineEdit
*
edit_nom_grille
;
QPushButton
*
button_save_grid
;
//définition de la frame affichage de la grille
QWidget
*
win_grid
;
QTableWidget
*
grid
;
//notice
std
::
unique_ptr
<
QWidget
>
fenetre_notice
;
std
::
unique_ptr
<
QLabel
>
lab_notice
;
explicit
AutoCell
(
QWidget
*
parent
=
nullptr
);
friend
class
NouveauModele
;
public:
/// Obtenir une référence vers l'instance unique du singleton AutoCell
static
AutoCell
&
getInstance
()
{
if
(
instance
==
nullptr
)
{
instance
.
reset
(
new
AutoCell
);
}
return
*
instance
;
}
public
slots
:
//void chargerModele();
//void listerModele(); //à faire en dernier
/// slot pour charger les Reseau disponibles pour le modèle sélectionné
void
chargerGrilles
();
//void listerGrille(); //déjà réfléchir à la recopie
//Reseau initialiserGrille(); //méthode à implémenter qui récupère les données du formulaire - penser à réinitialiser les données annexes
//void afficherGrille(Reseau&); //affiche une grille
//void chargerGrilles(const QString &text);
/// Afficher un Reseau dans l'espace dédié
/// @param[in] Grille pointeur vers le Reseau à afficher
void
afficherGrille
(
const
Reseau
*
Grille
);
/// Initialiser un Reseau
void
initialiserGrille
();
/// Remettre à 0 la simulation
void
RAZ
();
/// Gérer la mise en route automatique ou non
void
gererSimulation
();
//void sauvegarderGrille();
//Reseau& modifierCellule(const QModelIndex&, Reseau& Grille);//à implémenter
/// Modifier l'état d'une cellule de la grille affichée (par clic par exemple)
/// @param[in] index localisation de la cellule à modifier
void
modifierCellule
(
const
QModelIndex
&
index
);
/// Sauvegarder le Reseau courant dans la BDD
void
sauvegarderGrille
();
/// Créer un nouveau modèle
void
defNouveauModele
();
/// Afficher une boîte d'erreur
/// @param[in] msg Message à afficher
void
afficherErreur
(
QString
&
msg
);
/// Initialiser un Automate par son nom
/// @param[in] nom de l'Automate à initialiser
void
initAutomate
(
const
QString
&
name
);
/// Changer le délai de l'Automate
void
changeDelai
();
/// Aller en arrière dans la simulation
void
previous
();
/// Aller en avant dans la simulation
void
next
();
/// Changer le comportement de la matrice aux frontières
/// @param[in] val comportement à avoir (true = matrice torique, false = ignorer)
void
setMatriceTorique
(
int
val
);
/// Revenir au réseau initial
void
reinitialiserSimulation
();
///Afficher la notice d'utilisation
void
afficherNotice
();
/// Classe représentant l'interface principale de l'application
class
AutoCell
:
public
QWidget
{
static
std
::
unique_ptr
<
AutoCell
>
instance
;
unique_ptr
<
Reseau
>
Grille
=
nullptr
;
std
::
vector
<
QString
>
listeGrille
;
Q_OBJECT
QGridLayout
*
general
;
//définition de la frame choix du modèle
QWidget
*
win_model_choice
;
QLabel
*
lab_model_choice
;
QComboBox
*
liste
;
QGridLayout
*
grid_model_choice
;
QPushButton
*
button_add_model
;
//définition de la frame initialisation
QWidget
*
win_init
;
QLabel
*
lab_init
;
QGridLayout
*
form_init
;
QFormLayout
*
form_saved_grids
;
QFormLayout
*
form_config
;
QComboBox
*
list_grids
;
QCheckBox
*
check_load_grid
;
QLineEdit
*
edit_largeur
;
QLineEdit
*
edit_hauteur
;
QCheckBox
*
check_aleatoire
;
QPushButton
*
button_valide_init
;
//définition de la frame "panneau de contrôle de l'exécution"
QWidget
*
win_run_ctrl
;
QLabel
*
lab_run_crtl
;
QGridLayout
*
grid_run_control
;
QCheckBox
*
matriceTorique
;
QLabel
*
lab_time_step
;
QSpinBox
*
spin_time_step
;
QPushButton
*
button_prev
;
QPushButton
*
button_run
;
QPushButton
*
button_next
;
QPushButton
*
button_reinitialiser
;
QLabel
*
lab_nb_step
;
QLineEdit
*
edit_nb_step
;
QLabel
*
lab_periode
;
QLineEdit
*
edit_periode
;
QLabel
*
lab_sauv_grille
;
QLineEdit
*
edit_nom_grille
;
QPushButton
*
button_save_grid
;
//définition de la frame affichage de la grille
QWidget
*
win_grid
;
QTableWidget
*
grid
;
//notice
std
::
unique_ptr
<
QWidget
>
fenetre_notice
;
std
::
unique_ptr
<
QLabel
>
lab_notice
;
explicit
AutoCell
(
QWidget
*
parent
=
nullptr
);
friend
class
NouveauModele
;
public:
/// Obtenir une référence vers l'instance unique du singleton AutoCell
static
AutoCell
&
getInstance
()
{
if
(
instance
==
nullptr
)
{
instance
.
reset
(
new
AutoCell
);
}
return
*
instance
;
}
public
slots
:
//void chargerModele();
//void listerModele(); //à faire en dernier
/// slot pour charger les Reseau disponibles pour le modèle sélectionné
void
chargerGrilles
();
//void listerGrille(); //déjà réfléchir à la recopie
//Reseau initialiserGrille(); //méthode à implémenter qui récupère les données du formulaire - penser à réinitialiser les données annexes
//void afficherGrille(Reseau&); //affiche une grille
//void chargerGrilles(const QString &text);
/// Afficher un Reseau dans l'espace dédié
/// @param[in] Grille pointeur vers le Reseau à afficher
void
afficherGrille
(
const
Reseau
*
Grille
);
/// Initialiser un Reseau
void
initialiserGrille
();
/// Remettre à 0 la simulation
void
RAZ
();
/// Gérer la mise en route automatique ou non
void
gererSimulation
();
//void sauvegarderGrille();
//Reseau& modifierCellule(const QModelIndex&, Reseau& Grille);//à implémenter
/// Modifier l'état d'une cellule de la grille affichée (par clic par exemple)
/// @param[in] index localisation de la cellule à modifier
void
modifierCellule
(
const
QModelIndex
&
index
);
/// Sauvegarder le Reseau courant dans la BDD
void
sauvegarderGrille
();
/// Créer un nouveau modèle
void
defNouveauModele
();
/// Afficher une boîte d'erreur
/// @param[in] msg Message à afficher
void
afficherErreur
(
QString
&
msg
);
/// Initialiser un Automate par son nom
/// @param[in] nom de l'Automate à initialiser
void
initAutomate
(
const
QString
&
name
);
/// Changer le délai de l'Automate
void
changeDelai
();
/// Aller en arrière dans la simulation
void
previous
();
/// Aller en avant dans la simulation
void
next
();
/// Changer le comportement de la matrice aux frontières
/// @param[in] val comportement à avoir (true = matrice torique, false = ignorer)
void
setMatriceTorique
(
int
val
);
/// Revenir au réseau initial
void
reinitialiserSimulation
();
///Afficher la notice d'utilisation
void
afficherNotice
();
};
#endif // AUTOCELL_H
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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