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

Doc parametragemodele

parent de25a9f2
Pipeline #79813 passed with stage
in 15 seconds
...@@ -28,102 +28,114 @@ ...@@ -28,102 +28,114 @@
using namespace std; using namespace std;
/// Cette classe définit la fenêtre de paramétrage de l'Automate
///
/// Le but est de pouvoir choisir la RegleVoisinage, les Etat et la Fonction de transition
class NouveauModele : public QWidget { class NouveauModele : public QWidget {
Q_OBJECT Q_OBJECT
QGridLayout* general; QGridLayout* general;
//définition de la frame paramétrage du modèle //définition de la frame paramétrage du modèle
QWidget* fenetre_init; QWidget* fenetre_init;
QLabel* label_init; QLabel* label_init;
QGridLayout* form_init; QGridLayout* form_init;
QFormLayout* form_choix; QFormLayout* form_choix;
QLineEdit* nom_modele; QLineEdit* nom_modele;
QLineEdit* nom_automate; QLineEdit* nom_automate;
QLineEdit* auteur; QLineEdit* auteur;
QLineEdit* annee; QLineEdit* annee;
QLineEdit* description; QLineEdit* description;
QSpinBox* nb_etats; QSpinBox* nb_etats;
QComboBox* liste_voisinage; QComboBox* liste_voisinage;
QComboBox* liste_regle_transition = nullptr; QComboBox* liste_regle_transition = nullptr;
QPushButton* bouton_valide; QPushButton* bouton_valide;
QPushButton* valider_Etat = nullptr; QPushButton* valider_Etat = nullptr;
QPushButton* valider_EtatDefault = nullptr; QPushButton* valider_EtatDefault = nullptr;
QHBoxLayout* layoutvalid = nullptr; QHBoxLayout* layoutvalid = nullptr;
//definition frame règle de transitions //definition frame règle de transitions
QWidget* fenetre_regle; QWidget* fenetre_regle;
QLabel* seuilMax= nullptr; QLabel* seuilMax= nullptr;
QLabel* seuilMin= nullptr; QLabel* seuilMin= nullptr;
QLabel* destination= nullptr; QLabel* destination= nullptr;
QLabel* etatCourant= nullptr; QLabel* etatCourant= nullptr;
QLabel* etatCourant2 = nullptr; QLabel* etatCourant2 = nullptr;
QLabel* etat_d = nullptr; QLabel* etat_d = nullptr;
QLabel* etat= nullptr; QLabel* etat= nullptr;
QComboBox* valid_Etat; QComboBox* valid_Etat;
QSpinBox* numEtatCourant = nullptr; QSpinBox* numEtatCourant = nullptr;
QSpinBox* etatDest= nullptr; QSpinBox* etatDest= nullptr;
QSpinBox* etat_default = nullptr; QSpinBox* etat_default = nullptr;
QPushButton* fin = nullptr; QPushButton* fin = nullptr;
QPushButton* next = nullptr; QPushButton* next = nullptr;
QIntValidator* seuilValidator; QIntValidator* seuilValidator;
QLineEdit* numSeuilMin[8]; QLineEdit* numSeuilMin[8];
QLineEdit* numSeuilMax[8]; QLineEdit* numSeuilMax[8];
QVBoxLayout* layoutv = nullptr; QVBoxLayout* layoutv = nullptr;
QHBoxLayout* layouth1 = nullptr; QHBoxLayout* layouth1 = nullptr;
QHBoxLayout* layouth2 = nullptr; QHBoxLayout* layouth2 = nullptr;
QHBoxLayout* layouth3 = nullptr; QHBoxLayout* layouth3 = nullptr;
QHBoxLayout* layouth4 = nullptr; QHBoxLayout* layouth4 = nullptr;
QHBoxLayout* layouth = nullptr; QHBoxLayout* layouth = nullptr;
QVBoxLayout* layoutv2 = nullptr; QVBoxLayout* layoutv2 = nullptr;
QHBoxLayout* layouth5 = nullptr; QHBoxLayout* layouth5 = nullptr;
QHBoxLayout* layouth6 = nullptr; QHBoxLayout* layouth6 = nullptr;
QHBoxLayout* layoutEtat; QHBoxLayout* layoutEtat;
//définition de la frame paramétrage du choix //définition de la frame paramétrage du choix
QWidget* fenetre_param; QWidget* fenetre_param;
QGridLayout* form_param; QGridLayout* form_param;
QLabel* label_param; QLabel* label_param;
//Voisiange non arbitraire //Voisiange non arbitraire
QFormLayout* form_rayon = nullptr; QFormLayout* form_rayon = nullptr;
QSpinBox* rayon; QSpinBox* rayon;
//définition de la frame contenant la grille de sélection du voisinage //définition de la frame contenant la grille de sélection du voisinage
QTableWidget* grid = nullptr; QTableWidget* grid = nullptr;
std::unique_ptr<ParamAlpha> paramAlpha; std::unique_ptr<ParamAlpha> paramAlpha;
QPushButton* boutonEtat; QPushButton* boutonEtat;
AutoCell* nvAutocell = nullptr; AutoCell* nvAutocell = nullptr;
public: public:
NouveauModele(QWidget* parent = nullptr); /// Construire la fenêtre de paramétrage de l'Automate
public slots: NouveauModele(QWidget* parent = nullptr);
void paramVoisinage(const QString& choix_voisinage); public slots:
void changerVoisinage(); /// Permet d'ouvir le formulaire de paramétrage de la RegleVoisinage
void affGrille(); /// @param[in] choix_voisinage nom du type de voisinage choisi
void modifGrille(const QModelIndex& index); void paramVoisinage(const QString& choix_voisinage);
void paramRegle(); /// Initialise la Fonction de transition de l'automate et affiche les choix disponibles pour le voisinage
void validerParametrage(); void changerVoisinage();
/// Affiche la grille de paramétrage de RegleVoisinageArbitraire
void choisirEtatCourant(const QString& validEtat); void affGrille();
void parametrerEtats(); /// Gère la sélection ou non d'une cellule dans le voisinage
void modifGrille(const QModelIndex& index);
void addRegle(); /// Affiche la première partie du formulaire de paramétrage d'une Regle de transition
void paramRegle();
void changerEtatDefault(); /// Termine l'initialisation de l'Automate et ferme la fenêtre
void validerParametrage();
void validation(); /// Affiche la seconde partie du formulaire de paramétrage de la Regle de transition
/// @param[in] validEtat définit si on prend ou non l'état courant de la cellule en compte
void choisirEtatCourant(const QString& validEtat);
/// Permet de paramétrer l'alphabet de l'Automate grâce à la classe ParamAlpha
void parametrerEtats();
/// Permet de valider la Regle de transition courante et d'en configurer une nouvelle
void addRegle();
/// Permet de changer l'Etat par défaut d'une Fonction de transition
void changerEtatDefault();
/// termine la configuration de l'Automate et permet d'afficher un bouton pour fermer la configuration
void validation();
}; };
......
Markdown is supported
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