1 | #ifndef WFRAME_H |
---|
2 | #define WFRAME_H |
---|
3 | |
---|
4 | #include <QtGui/qmainwindow.h> |
---|
5 | |
---|
6 | class WFrame : public QMainWindow |
---|
7 | { |
---|
8 | // macro Q_OBJECT indispensable pour spécifier à Qt l'utilisation du mécanisme interne de |
---|
9 | // communication entre les classes. |
---|
10 | |
---|
11 | public: |
---|
12 | |
---|
13 | /** |
---|
14 | * @brief Constructeur de notre classe. |
---|
15 | * Initialise les menus, la toolbar et les zones images et d'information. |
---|
16 | * @param parent : parent de cette fenêtre : ici 0 signifie que c'est la fenêtre principale |
---|
17 | * @param applicationPath : chemin absolu de lancement de cette application |
---|
18 | */ |
---|
19 | WFrame(QMainWindow* parent = 0,const QString& applicationPath= "", Qt::WFlags = Qt::Window ); |
---|
20 | |
---|
21 | /** |
---|
22 | * @brief Destructeur de classe. |
---|
23 | */ |
---|
24 | virtual ~WFrame(); |
---|
25 | |
---|
26 | private: |
---|
27 | |
---|
28 | /** @brief Pointeur sur le widget de la palette */ |
---|
29 | Palette* m_palette; |
---|
30 | |
---|
31 | /** @brief Pointeur sur le widget de la visu */ |
---|
32 | Visu2D* m_visu2d; |
---|
33 | |
---|
34 | /** @brief Pointeur sur le widget des statistiques */ |
---|
35 | WStatistiques *m_wStatistiques; |
---|
36 | |
---|
37 | /** @brief Pointeur sur notre image */ |
---|
38 | Image *m_pImage; |
---|
39 | |
---|
40 | /** @brief chemin absolu de lancement de cette application */ |
---|
41 | QString m_applicationPath; |
---|
42 | |
---|
43 | /** @brief Classe d'évenements associés au bouton Rectangle */ |
---|
44 | QAction *m_actionRectangle; |
---|
45 | |
---|
46 | /** @brief Classe d'évenements associés au bouton Ellipse */ |
---|
47 | QAction *m_actionEllipse; |
---|
48 | |
---|
49 | /** @brief Classe d'évenements associés au bouton Carre */ |
---|
50 | QAction *m_actionCarre; |
---|
51 | |
---|
52 | /** @brief Classe d'évenements associés au bouton Cercle */ |
---|
53 | QAction *m_actionCercle; |
---|
54 | |
---|
55 | /** @brief Classe d'évenements associés au bouton Polygone */ |
---|
56 | QAction *m_actionPolygone; |
---|
57 | |
---|
58 | /** @brief Pointeur utilisé pour mémoriser la forme en cours ; pas de bouton directement associé */ |
---|
59 | QAction *m_actionFormeEnCours; |
---|
60 | |
---|
61 | /** @brief Classe d'évenements associés au mode déplacement de la forme */ |
---|
62 | QAction *m_actionDeplaceForme; |
---|
63 | |
---|
64 | /** @brief Classe d'évenements associés au mode selection de la couleur */ |
---|
65 | QAction *m_actionSelectCouleur; |
---|
66 | |
---|
67 | /** @brief Classe d'évenements associés au bouton d'effacement des formes représentées */ |
---|
68 | QAction *m_actionEffaceFormes; |
---|
69 | |
---|
70 | /** @brief Classe d'évenements associés au mode ajoute nouvelle forme */ |
---|
71 | QAction *m_actionModeAjoute; |
---|
72 | |
---|
73 | /** @brief Label associé à la barre de status */ |
---|
74 | QLabel* m_label; |
---|
75 | |
---|
76 | public slots: |
---|
77 | /** |
---|
78 | * @brief Méthode appelée lors de la selection d'une nouvelle image. |
---|
79 | * @return true si l'image est correcte, false sinon |
---|
80 | */ |
---|
81 | bool OuvreImage(); |
---|
82 | |
---|
83 | /** |
---|
84 | * @brief Méthode appelée par visu2d lorsque un changement de la barre d'info est nécessaire |
---|
85 | * @param s nouvelle string à affecter à la barre d'infos |
---|
86 | */ |
---|
87 | void MAJBarreInfo(const QString& s); |
---|
88 | |
---|
89 | /** |
---|
90 | * @brief Méthode appelée lors du clic sur le bouton Rectangle de la toolbar |
---|
91 | */ |
---|
92 | void ClicRectangle(); |
---|
93 | |
---|
94 | /** |
---|
95 | * @brief Méthode appelée lors du clic sur le bouton Ellipse de la toolbar |
---|
96 | */ |
---|
97 | void ClicEllipse(); |
---|
98 | |
---|
99 | /** |
---|
100 | * @brief Méthode appelée lors du clic sur le bouton Carre de la toolbar |
---|
101 | */ |
---|
102 | void ClicCarre(); |
---|
103 | |
---|
104 | /** |
---|
105 | * @brief Méthode appelée lors du clic sur le bouton Cercle de la toolbar |
---|
106 | */ |
---|
107 | void ClicCercle(); |
---|
108 | |
---|
109 | /** |
---|
110 | * @brief Méthode appelée lors du clic sur le bouton Polygone de la toolbar |
---|
111 | */ |
---|
112 | void ClicPolygone(); |
---|
113 | |
---|
114 | /** |
---|
115 | * @brief Methode appelée lors de la mise à jour de la palette. |
---|
116 | */ |
---|
117 | void MAJPalette(); |
---|
118 | |
---|
119 | /** |
---|
120 | * @brief Appelée lorsque la sélection a changé ; pour mettre à jour la fenêtre de stat. |
---|
121 | */ |
---|
122 | void MAJStatistiques(Selection*, int); |
---|
123 | |
---|
124 | protected: |
---|
125 | /** @brief Initialise les menus */ |
---|
126 | void InitMenus(); |
---|
127 | |
---|
128 | /** @brief Initialise la barre d'outils */ |
---|
129 | void InitToolBar(); |
---|
130 | |
---|
131 | /** @brief Change le type de forme sélectionné */ |
---|
132 | void SetType(QAction* tb, TYPE_FORME type); |
---|
133 | }; |
---|
134 | |
---|
135 | #endif // WFRAME_H |
---|