TraceX
 
Loading...
Searching...
No Matches
mainwindow.h
Go to the documentation of this file.
1
12
13#ifndef MAINWINDOW_H
14#define MAINWINDOW_H
15
16#include <QMainWindow>
17#include <QTableWidgetItem>
18#include <QPushButton>
19#include <QList>
20#include <QGraphicsView>
21#include <QGraphicsScene>
22#include <QStringList>
23#include <QGraphicsRectItem>
24#include <QHBoxLayout>
25#include <QVector>
26#include "qtreewidget_custom.h"
27#include "qlistwidget_custom.h"
28#include "fenetregraphe.h"
29#include "sss.h"
30#include <QLabel>
31#include <QPropertyAnimation>
32#include "fenetreexigences.h"
33#include "nodeitem.h"
34
35QT_BEGIN_NAMESPACE
36namespace Ui {
37class MainWindow;
38}
39QT_END_NAMESPACE
40
41class MainWindow : public QMainWindow {
42 Q_OBJECT
43
44public:
45 // Constructeur et destructeur
46 MainWindow(QWidget *parent = nullptr);
48
49 // Méthodes publiques pour l'interface et la navigation
53 void onAnalyseClicked();
55 void newGraphWindow();
56 QPushButton* getAnalyse();
57 QVBoxLayout* getNav();
58 QVBoxLayout* getConteneurExigenceLayout();
59 void resetFichierUpload();
60 QStringList& getFichierUpload();
61 void ActualiserQSS(QWidget *widget);
62 void afficherStats();
64 void AnimationFonctions();
66 void Animation_afficherProchaineLettre(QString texteComplet, QLabel* WidgetTexte);
67 void fadeIn_Widget(QWidget* widget, int delai = 0, int duree = 925);
68
69
70
71
72public slots:
73 void Bouton_graphe();
74
75private slots:
76 // Slots liés aux boutons de l'interface utilisateur
77 void on_Home_clicked();
78 void on_Help_clicked();
79 void on_upload_fichier_clicked();
80 void on_Import_clicked();
81 void on_Filtrage_fichiers_clicked();
82 void Lancer_filtre_style(); // Applique le filtre sur les styles
83 void Bouton_nav(QPushButton* bouton, int page); // Change la couleur du bouton et la page visible
84 void on_DeleteAll_clicked();
85 void on_BarreLateraleMenu_clicked();
86 void afficherExigencesPourNoeud(NodeItem *noeud);
87 void on_BoutonTelechargementCSV_clicked();
88
89private:
90 // Variables membres pour l'interface
92 QPushButton* Analyse = nullptr;
93 QPushButton* Statistics = nullptr;
94
95 enum Pages {
96 PAGE_HOME = 0,
97 PAGE_IMPORT,
98 PAGE_HELP,
99 PAGE_ANALYSE,
100 PAGE_GRAPHE = 0,
101 PAGE_STATISTIQUE
102 };
103 // Variables pour les fichiers et l'analyse
104 QStringList Fichier_upload;
105 int nb_fichier_upload = 0;
106 QVector<Sss*> Fichier_extrait;
107 QListWidget_custom* liste_fichiers;
108 QTreeWidget_custom* arbre_fichiers;
109
110 // Variables pour la gestion du graphe
111 FenetreGraphe *maVue = new FenetreGraphe();
112 QGraphicsScene maScene = new QGraphicsScene();
113
114 // Méthode utilitaire
115 QString Convertisseur_bit(qint64 bit);
116
117 // Méthode pour extraire tous les liens de traçabilité du graphe
118 std::vector<double> extraireTousLesTauxDesLiens();
119
120 //Variables pour l'animation des textes dynamiques
121 int i = 0;
122 QTimer* timer = nullptr;
123 QString texteActuel;
124 bool menuOpen = true;
125
126 FenetreExigences *fenetreExigences = nullptr;
127 void resizeEvent(QResizeEvent* event) override;
128
129
130};
131
132#endif // MAINWINDOW_H
Definition fenetreexigences.h:9
Definition fenetregraphe.h:10
void ActualiserQSS(QWidget *widget)
Force la réactualisation du style (QSS) appliqué à un widget sans avoir à redémarrer l'application.
Definition mainwindow.cpp:122
void Animation_afficherProchaineLettre(QString texteComplet, QLabel *WidgetTexte)
MainWindow::Animation_afficherProchaineLettre.
Definition mainwindow.cpp:849
void Debug_extraction_fichier()
Affiche de manière arborescente sur la console, les fichiers de l'arbre de données.
Definition mainwindow.cpp:484
QStringList & getFichierUpload()
Renvoie la liste des fichiers importés (QStringList) aux autres classes.
Definition mainwindow.cpp:106
void Bouton_graphe()
Gère l'action du bouton pour afficher un graphe.
Definition mainwindow.cpp:667
void fadeIn_Widget(QWidget *widget, int delai=0, int duree=925)
fadeIn_Widget
Definition mainwindow.cpp:819
void AnimationFonctions()
MainWindow::AnimationFonctions.
Definition mainwindow.cpp:798
void Affiche_WidgetFichiers_custom()
Affiche les différents widgets customisés (QListWidget_custom, QTreeWidget_custom....
Definition mainwindow.cpp:545
void afficherStats()
Affiche les statistiques sous forme d'histogramme.
Definition mainwindow.cpp:654
QPushButton * getAnalyse()
Renvoie le bouton d'analyse (QPushButton) aux autres classes.
Definition mainwindow.cpp:93
void Reinitialise_bouton()
Réinitialise la couleur de tous les boutons de navigation.
Definition mainwindow.cpp:142
QVBoxLayout * getNav()
Renvoie le layout de la barre de navigation (QHBoxLayout) aux autres classes.
Definition mainwindow.cpp:80
void updateGraphWithCriteres()
Met à jour dynamiquement le graphe en fonction des filtres cochés.
Definition mainwindow.cpp:692
void Ajout_Analyse_bouton()
Ajoute le bouton "Analyse" dans la barre de navigation .
Definition mainwindow.cpp:217
MainWindow(QWidget *parent=nullptr)
Le constructeur initialise l'interface centrale créés dans Qt Designer.
Definition mainwindow.cpp:45
void onAnalyseClicked()
Ce méthode dirige l'utilisateur vers la page "Analyse".
Definition mainwindow.cpp:276
void Afficher_fichier_upload()
Affiche sur le tableau les fichiers importés.
Definition mainwindow.cpp:326
~MainWindow()
Le destructeur permet de libérer la mémoire de l'interface utilisateur allouée dynamiquement.
Definition mainwindow.cpp:63
void newGraphWindow()
Créer et configure une nouvelle fenêtre de graphe_affiche avec des boutons de zoom (+ et –).
Definition mainwindow.cpp:565
void resetFichierUpload()
Vide le contenu des fichiers importés.
Definition mainwindow.cpp:290
QVBoxLayout * getConteneurExigenceLayout()
Retourne le widget qui contient les filtres d'exigence.
Definition mainwindow.cpp:980
Definition nodeitem.h:14
Definition qlistwidget_custom.h:11
Definition qtreewidget_custom.h:12
Definition ui_mainwindow.h:1068
Definition ui_mainwindow.h:1067