source: trunk/XSUCLWF/cxfel.h @ 25

Last change on this file since 25 was 25, checked in by marrucho, 11 years ago

version du 10/07 installée à xfel

File size: 9.0 KB
Line 
1#ifndef _CXFEL_H
2#define _CXFEL_H
3
4#include "stdafx.h"
5
6
7#include <modbus.h>
8#include "modbus-private.h"
9#include "stdint.h"
10#include "unit-test.h"
11
12#include "alloulibere.h"
13
14//#define _INC_WINDOWS
15//#include <winsock2.h>
16//#include <windows.h>
17
18#using <mscorlib.dll>
19#using <System.dll>
20#using <System.Windows.Forms.dll>
21#using <System.Drawing.dll>//pour les controles bouton
22
23using namespace System;
24using namespace System::ComponentModel;//contient des classes pour les composants et les contrôles
25using namespace System::Windows::Forms;//contient des classes dédiées à la génération des formulaires
26using namespace System::Drawing;//contient les classes Point et Size du bouton
27
28using namespace System::Threading;
29using namespace System::Collections;
30
31#define NB_BANCS                                4
32#define NB_COUPLEURS                    8
33#define NB_ETAPES                               12
34#define MAX_NB_LABEL_TEXTBOX    500
35
36#define MODBUS_SIZE_READ_COILS                  13
37#define MODBUS_SIZE_READ_HOLDINGS_LOW   82
38#define MODBUS_SIZE_READ_HOLDINGS_HIGH  125
39
40#define MODBUS_BASEADR_COILS                    3000
41#define MODBUS_BASEADR_LOW_HOLDINGS             2000
42#define MODBUS_BASEADR_HIGH_HOLDINGS    2082
43
44__gc public class CGroupBox : public Form {
45private:
46        String* name;
47//      int labPosX, labPosY;
48        Label* labNumP;
49        Label* labNumC1;
50        Label* labNumC2;
51        TextBox* valNumP;
52        TextBox* valNumC1;
53        TextBox* valNumC2;
54        GroupBox* gbox;
55
56        Button* appliquerBtn;
57
58        void AppliquerBtn_Clicked(Object* pSender,EventArgs* pArgs);
59public:
60        CGroupBox(String* gname, int posX, int posY);
61        //CGROUPBox(uint16_t *tab_rp_registers_low,uint16_t *tab_rp_registers_high);
62
63        GroupBox* GetGroupBox();
64        Label* GetLabelNumP();
65        Label* GetLabelNumC1();
66        Label* GetLabelNumC2();
67//      TextBox* GetTextBox();
68//      void SetVal(String*);
69protected:
70        static int nbInstance=0;//variable de classe
71};
72
73//classe boite de dialogue avec utilisation de données
74__gc public class CDialogConfig : public Form {
75public:
76        CDialogConfig();
77        CDialogConfig(uint16_t *tab_rp_registers_low,uint16_t *tab_rp_registers_high);
78        String* getTp_max();
79
80protected ://privé sauf au niveau des classes dérivées
81        String* name;
82        static String* gname[] = {"a","b","c","d" };
83        int indexGroupBox;//nb de GroupBox
84
85private://données avec controle, label, bouton OK, textBox...
86    Button* sortirBtn;
87
88        GroupBox* gboxPtr;
89        static ArrayList* pal; 
90
91        Label* labTp_max;
92        TextBox* valTp_max;
93        Label* labN_cur;
94        ComboBox* valN_cur;
95        Button* btnAppliquer;
96
97private: 
98        void SortirBtn_Clicked(Object* pSender,EventArgs* pArgs);//gestionnaire d'evenement de la boite dialogue
99        void BtnAppliquer_Clicked(Object* pSender,EventArgs* pArgs);//gestionnaire d'evenement de la boite dialogue
100};
101
102
103__gc public class CLabelTextBox : public Form {
104private:
105        String* name;
106        int labPosX, labPosY;
107        int labSizeX, labSizeY;
108        Label* lab;
109        TextBox* val;
110public:
111        CLabelTextBox(String* lab, int posX, int posY, int sizeX, int sizeY, int sizeText);
112        Label* GetLabel();
113        TextBox* GetTextBox();
114        void SetVal(String*);
115        String* GetVal();
116        String* GetName();
117        void SetColor(int);
118protected:
119        static int nbInstance=0;//variable de classe
120};
121
122//classe boite de dialogue avec utilisation de données
123__gc public class MaDialogUser : public Form {
124public:
125    MaDialogUser();
126
127protected ://privé sauf au niveau des classes dérivées
128        String* name;
129        static String* nameLab_1[] = { "dtp(sec)","dt(sec)","dP(dB)","dPSecu(dB)","Nbal",
130                "P_cde(dBm)","Pp(kW)","Nbal_max","Fr(Hz)","N_cur",
131                "SVd(10-9mbar)","SVfin(10-9mbar)","SV1(10-9mbar)","SV2(10-9mbar)","V_cur(10-9mbar)",
132                "Pi_min(kW)","Timer(min)","SVil(10-9mbar)","Sleil(mA)","STc(°C)",
133                "Eil","Nil","Nil_stat","P_last(dBm)","N_last","dPil(dB)"};
134
135        static String* nameLab_2[] = {"1a","2a","1b","2b","1c","2c","1d","2d" };
136
137        static String* nameLab_3[] = {"a","b","c","d" };
138
139        static String* nameLab_4[] = {"a","a","a","b","b","b","c","c","c","d","d","d" };
140
141        static String* nameLab_5[] = {"N_cur","Ln(us)","Tp_max(h)","Pi_max(kW)"};
142
143        static String* nameLab_6[] = {"1","2","3","4","5","6","7","8"};
144
145        int indexTextBox;//nb de TextBox
146        int indexTextBoxSave;//nb de TextBox après conditionning
147
148private://données avec controle, label, bouton OK, textBox...
149    Button* OKBtn;
150    Button* CancelBtn;
151        Button* EcritureBtn;
152
153        GroupBox* gbox;
154        RadioButton* rb1;//oui
155    RadioButton* rb2;//non
156
157        Thread* uThread;
158
159        static ArrayList* pal; 
160        Label* lblPtr;
161        TextBox* tbxPtr;
162
163        static Button* btnStart;
164        static Button* btnStop;
165        static Button* btnPause;
166        static Button* btnReprise;//ces 4 controles bouton sont membres de System::Windows::Forms
167
168private: 
169        void OKMaDBtn_Clicked(Object* pSender,EventArgs* pArgs);//gestionnaire d'evenement de la boite dialogue
170        void Radio_Clicked(Object* pSender, EventArgs* pArgs);//remplit automatiquement la zone de texte
171        void Setup_Group ();//creation et configuration d'un groupe d'options
172        void Setup_Group_Conditionning ();//creation et configuration d'un groupe d'options
173    void Setup_Buttons_Conditionning();//creation et definition des boutons
174    void BtnStart_Clicked(Object* pSender, EventArgs* pArgs);//gestionnaire d'evenements associés au bouton 1
175    void BtnStop_Clicked(Object* pSender, EventArgs* pArgs);//gestionnaire d'evenements associés au bouton 2
176        void BtnPause_Clicked(Object* pSender, EventArgs* pArgs);//gestionnaire d'evenements associés au bouton 3
177        void BtnReprise_Clicked(Object* pSender, EventArgs* pArgs);//gestionnaire d'evenements associés au bouton 4
178
179        void EcritureBtn_Clicked(Object* pSender,EventArgs* pArgs);//gestionnaire d'evenement de la boite dialogue
180
181        static void ThreadProc();
182        static float PermutToReversed(uint16_t* tab_rp_registers,int index);//permut le float32 en float32 Reverse
183};
184
185
186//classe boite de dialogue : c'est un formulaire comme un autre.. à l'affichage près
187__gc public class AboutBox : public Form {
188
189private: 
190        void OKButton_Clicked(Object* pSender,EventArgs* pArgs);//gestionnaire d'evenement de la boite dialogue
191 
192private:
193    Button* OKButton;
194
195public:
196    AboutBox();//constructeur
197
198};
199
200//classe boite de dialogue avec utilisation de données
201__gc public class MaDialog : public Form {
202public:
203    MaDialog();
204
205public://permet au code appelant de recuperer et modifier les données
206    void setIp(String* theIp);
207    String* getIp();
208    void setPort(String* thePort);
209    String* getPort();
210    void setTimeout(int theTimeout);
211    int getTimeout();
212
213private://données (ip/port/tiemout) avec controle, label, bouton OK et Cancel
214    Label* ipLabel;
215    TextBox* ipBox;
216    Label* portLabel;
217    TextBox* portBox;
218    Label* timeoutLabel;
219    ComboBox* timeoutCombo;
220
221    Button* OKBtn;
222    Button* CancelBtn;
223
224private: 
225        void OKMaDBtn_Clicked(Object* pSender,EventArgs* pArgs);//gestionnaire d'evenement de la boite dialogue
226
227    };
228
229//classe managée du formulaire : __gc hérite de la classe System::Windows::Forms::Form
230__gc public class CppForm : public Form {
231private:
232    Button* btn1;//ces controles bouton sont membres de System::Windows::Forms
233    Button* btn2;
234    Button* btn3;
235        Button* btn4;
236
237        Label* theLabel;
238
239        //groupe d'options avec 3 cases
240        GroupBox* gbox;
241    RadioButton* rb1;
242    RadioButton* rb2;
243    RadioButton* rb3;
244        RadioButton* rb4;
245
246    ComboBox* combo1;
247
248    TextBox* text1;
249   
250        MainMenu* menuBar;//barre de menu
251    MenuItem* fileMenu;//menu deroulant
252    MenuItem* item1;//element du menu
253    MenuItem* item2;//element du menu
254    System::Windows::Forms::ContextMenu* popupMenu;
255    MenuItem* item_p1;
256    MenuItem* item_p2;
257    MenuItem* item_p3;
258
259        MenuItem* item11;//pour afficher la boite de dialogue
260
261        MenuItem* fontDlgItem;//élément du menu Fichier
262
263        //ss menus
264        MenuItem* actionMenu;
265        MenuItem* subMenu1;
266        MenuItem* anotherItem;
267        MenuItem* item1_1;
268        MenuItem* item1_2;
269
270        System::Drawing::Font* labelFont;//pour afficher unr boite de dialogue Font pour choisir une police
271
272public:
273    CppForm();//constructeur
274
275private:
276    void Btn1_Clicked(Object* pSender, EventArgs* pArgs);//gestionnaire d'evenements associés au bouton 1
277        void Btn2_Clicked(Object* pSender, EventArgs* pArgs);//gestionnaire d'evenements associés au bouton 2
278        void Btn3_Clicked(Object* pSender, EventArgs* pArgs);//gestionnaire d'evenements associés au bouton 3
279        void Btn4_Clicked(Object* pSender, EventArgs* pArgs);//gestionnaire d'evenements associés au bouton 4
280    void Combo1_SelChanged(Object* pSender, EventArgs* pArgs);//gestionnaire d'evenement associé à la liste deroulante
281    void MenuItem_Clicked(Object* pSender, EventArgs* pArgs);//gestionnaire des elements de menu
282    void Radio_Clicked(Object* pSender, EventArgs* pArgs);//remplit automatiquement la zone de texte
283    void Setup_Buttons();//creation et definition du bouton
284    void Setup_Combo ();//configuration de la liste deroulmnte
285    void Setup_Context_Menu ();//menu contextuel
286    void Setup_Group ();//creation et configuration d'un groupe d'options
287    void Setup_Label();//description textuelle dans le formulaire
288    void Setup_Menu();//barre de menu
289    void Setup_Text();//controle d'edition
290};
291
292
293#endif
294
295
296
Note: See TracBrowser for help on using the repository browser.