source: trunk/XSUCLWF/cxfel.h @ 16

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

import xsuc windows forms

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