ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/VMM/win32/config.cpp
Revision: 5
Committed: Tue Jun 12 20:26:34 2007 UTC (18 years, 2 months ago)
Original Path: magic/app/VMM/VMM/win32/config.cpp
File size: 18823 byte(s)
Log Message:

File Contents

# User Rev Content
1 5 //------------------------------------------------------------
2     //------------------------------------------------------------
3     // MAGiC
4     // Jean Christophe Cuillière et Vincent FRANCOIS
5     // Département de Génie Mécanique - UQTR
6     //------------------------------------------------------------
7     // Le projet MAGIC est un projet de recherche du département
8     // de génie mécanique de l'Université du Québec à
9     // Trois Rivières
10     // Les librairies ne peuvent être utilisées sans l'accord
11     // des auteurs (contact : francois@uqtr.ca)
12     //------------------------------------------------------------
13     //------------------------------------------------------------
14     //
15     // config.cpp
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 à 11H26
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24    
25     #include "gestionversion.h"
26    
27     #include <vcl.h>
28     #pragma hdrstop
29    
30     #include "main.h"
31     #include "config.h"
32     //---------------------------------------------------------------------------
33     #pragma package(smart_init)
34     #pragma resource "*.dfm"
35     Tconfigwin *configwin;
36    
37     //---------------------------------------------------------------------------
38     __fastcall Tconfigwin::Tconfigwin(TComponent* Owner)
39     : TForm(Owner)
40     {
41     }
42     //---------------------------------------------------------------------------
43     void __fastcall Tconfigwin::Button1Click(TObject *Sender)
44     {
45     char buf[500];
46     char temp[10];
47     buf[0]=0;
48     if (CheckBox1->Checked==true) MainForm->valeurconfig[56]=1.; else MainForm->valeurconfig[56]=0.;
49     for (int i=0;i<66;i++)
50     {
51     sprintf(temp,"%.2f ",MainForm->valeurconfig[i]);
52     strcat(buf,temp);
53     }
54     HKEY clef;
55     DWORD type,taille;
56     RegCreateKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\UQTR\\VMM\\Configuration",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&clef,&type);
57    
58     RegSetValueEx(clef,"Default",0,REG_SZ, buf,sizeof(char)*(strlen(buf)+1));
59     RegCloseKey(clef);
60     Close();
61     }
62     //---------------------------------------------------------------------------
63     void __fastcall Tconfigwin::Button2Click(TObject *Sender)
64     {
65     if (ColorDialog1->Execute())
66     {
67     Label5->Color=ColorDialog1->Color;
68     getRGB(Label5->Color,MainForm->valeurconfig[0],MainForm->valeurconfig[1],MainForm->valeurconfig[2]);
69     }
70     }
71     //---------------------------------------------------------------------------
72     void __fastcall Tconfigwin::getRGB(int color,double& r,double &g,double& b)
73     {
74     r=(color & 0x000000FF)/255.;
75     g=((color & 0x0000FF00)>>8)/255.;
76     b=((color & 0x00FF0000)>>16)/255.;
77     }
78     //---------------------------------------------------------------------------
79     TColor __fastcall Tconfigwin::getcolor(double r,double g,double b)
80     {
81     int rr=int(r*255.);
82     int gg=int(g*255.);
83     int bb=int(b*255.);
84     int color=rr+(gg<<8)+(bb<<16);
85     return (TColor)color;
86     }
87     //---------------------------------------------------------------------------
88     void __fastcall Tconfigwin::Button3Click(TObject *Sender)
89     {
90     if (ColorDialog1->Execute())
91     {
92     Label6->Color=ColorDialog1->Color;
93     getRGB(Label6->Color,MainForm->valeurconfig[3],MainForm->valeurconfig[4],MainForm->valeurconfig[5]);
94     }
95    
96     }
97     //---------------------------------------------------------------------------
98     void __fastcall Tconfigwin::Button4Click(TObject *Sender)
99     {
100     if (ColorDialog1->Execute())
101     {
102     Label7->Color=ColorDialog1->Color;
103     getRGB(Label7->Color,MainForm->valeurconfig[6],MainForm->valeurconfig[7],MainForm->valeurconfig[8]);
104     }
105    
106     }
107     //---------------------------------------------------------------------------
108     void __fastcall Tconfigwin::UpDown1Click(TObject *Sender,
109     TUDBtnType Button)
110     {
111     if (Button==Comctrls::btNext) MainForm->valeurconfig[9]++;
112     if (Button==Comctrls::btPrev) MainForm->valeurconfig[9]--;
113     if (MainForm->valeurconfig[9]<1.) MainForm->valeurconfig[9]=1.;
114     Label9->Caption=MainForm->valeurconfig[9];
115     }
116     //---------------------------------------------------------------------------
117     void __fastcall Tconfigwin::FormPaint(TObject *Sender)
118     {
119     Label5->Color=getcolor(MainForm->valeurconfig[0],MainForm->valeurconfig[1],MainForm->valeurconfig[2]);
120     Label6->Color=getcolor(MainForm->valeurconfig[3],MainForm->valeurconfig[4],MainForm->valeurconfig[5]);
121     Label7->Color=getcolor(MainForm->valeurconfig[6],MainForm->valeurconfig[7],MainForm->valeurconfig[8]);
122     Label10->Color=getcolor(MainForm->valeurconfig[11],MainForm->valeurconfig[12],MainForm->valeurconfig[13]);
123     Label13->Color=getcolor(MainForm->valeurconfig[14],MainForm->valeurconfig[15],MainForm->valeurconfig[16]);
124     Label19->Color=getcolor(MainForm->valeurconfig[18],MainForm->valeurconfig[19],MainForm->valeurconfig[20]);
125     Label23->Color=getcolor(MainForm->valeurconfig[22],MainForm->valeurconfig[23],MainForm->valeurconfig[24]);
126     Label31->Color=getcolor(MainForm->valeurconfig[26],MainForm->valeurconfig[27],MainForm->valeurconfig[28]);
127     Label35->Color=getcolor(MainForm->valeurconfig[30],MainForm->valeurconfig[31],MainForm->valeurconfig[32]);
128     Label39->Color=getcolor(MainForm->valeurconfig[34],MainForm->valeurconfig[35],MainForm->valeurconfig[36]);
129     Label42->Color=getcolor(MainForm->valeurconfig[37],MainForm->valeurconfig[38],MainForm->valeurconfig[39]);
130     Label43->Color=getcolor(MainForm->valeurconfig[41],MainForm->valeurconfig[42],MainForm->valeurconfig[43]);
131     Label49->Color=getcolor(MainForm->valeurconfig[44],MainForm->valeurconfig[45],MainForm->valeurconfig[46]);
132     Label50->Color=getcolor(MainForm->valeurconfig[47],MainForm->valeurconfig[48],MainForm->valeurconfig[49]);
133     Label51->Color=getcolor(MainForm->valeurconfig[50],MainForm->valeurconfig[51],MainForm->valeurconfig[52]);
134     Label2->Color=getcolor(MainForm->valeurconfig[57],MainForm->valeurconfig[58],MainForm->valeurconfig[59]);
135     Label16->Caption=MainForm->valeurconfig[17];
136     Label18->Caption=MainForm->valeurconfig[21];
137     Label9->Caption=MainForm->valeurconfig[9];
138     Label12->Caption=MainForm->valeurconfig[10];
139     Label22->Caption=MainForm->valeurconfig[25];
140     Label30->Caption=MainForm->valeurconfig[29];
141     Label34->Caption=MainForm->valeurconfig[33];
142     Label38->Caption=MainForm->valeurconfig[40];
143     Label46->Caption=MainForm->valeurconfig[53];
144     Label52->Caption=MainForm->valeurconfig[54];
145     Label53->Caption=MainForm->valeurconfig[55];
146     if (MainForm->valeurconfig[56]==1.) CheckBox1->Checked=true; else CheckBox1->Checked=false;
147     }
148     //---------------------------------------------------------------------------
149     void __fastcall Tconfigwin::Button5Click(TObject *Sender)
150     {
151     if (ColorDialog1->Execute())
152     {
153     Label10->Color=ColorDialog1->Color;
154     getRGB(Label10->Color,MainForm->valeurconfig[11],MainForm->valeurconfig[12],MainForm->valeurconfig[13]);
155     }
156    
157     }
158     //---------------------------------------------------------------------------
159     void __fastcall Tconfigwin::UpDown2Click(TObject *Sender,
160     TUDBtnType Button)
161     {
162     if (Button==Comctrls::btNext) MainForm->valeurconfig[10]=MainForm->valeurconfig[10]+0.1;
163     if (Button==Comctrls::btPrev) MainForm->valeurconfig[10]=MainForm->valeurconfig[10]-0.1;
164     if (MainForm->valeurconfig[10]<0.1) MainForm->valeurconfig[10]=0.1;
165     Label12->Caption=MainForm->valeurconfig[10];
166     }
167     //---------------------------------------------------------------------------
168     void __fastcall Tconfigwin::UpDown3Click(TObject *Sender,
169     TUDBtnType Button)
170     {
171     if (Button==Comctrls::btNext) MainForm->valeurconfig[17]++;
172     if (Button==Comctrls::btPrev) MainForm->valeurconfig[17]--;
173     if (MainForm->valeurconfig[17]<1.) MainForm->valeurconfig[17]=1.;
174     Label16->Caption=MainForm->valeurconfig[17];
175     }
176     //---------------------------------------------------------------------------
177     void __fastcall Tconfigwin::Button6Click(TObject *Sender)
178     {
179     if (ColorDialog1->Execute())
180     {
181     Label13->Color=ColorDialog1->Color;
182     getRGB(Label13->Color,MainForm->valeurconfig[14],MainForm->valeurconfig[15],MainForm->valeurconfig[16]);
183     }
184     }
185     //---------------------------------------------------------------------------
186     void __fastcall Tconfigwin::Button7Click(TObject *Sender)
187     {
188     if (ColorDialog1->Execute())
189     {
190     Label19->Color=ColorDialog1->Color;
191     getRGB(Label19->Color,MainForm->valeurconfig[18],MainForm->valeurconfig[19],MainForm->valeurconfig[20]);
192     }
193     }
194     //---------------------------------------------------------------------------
195    
196     void __fastcall Tconfigwin::Button8Click(TObject *Sender)
197     {
198     if (ColorDialog1->Execute())
199     {
200     Label23->Color=ColorDialog1->Color;
201     getRGB(Label23->Color,MainForm->valeurconfig[22],MainForm->valeurconfig[23],MainForm->valeurconfig[24]);
202     }
203    
204     }
205     //---------------------------------------------------------------------------
206    
207     void __fastcall Tconfigwin::UpDown5Click(TObject *Sender,
208     TUDBtnType Button)
209     {
210     if (Button==Comctrls::btNext) MainForm->valeurconfig[25]++;
211     if (Button==Comctrls::btPrev) MainForm->valeurconfig[25]--;
212     if (MainForm->valeurconfig[25]<1.) MainForm->valeurconfig[25]=1.;
213     Label22->Caption=MainForm->valeurconfig[25];
214    
215     }
216     //---------------------------------------------------------------------------
217    
218     void __fastcall Tconfigwin::UpDown4Click(TObject *Sender,
219     TUDBtnType Button)
220     {
221     if (Button==Comctrls::btNext) MainForm->valeurconfig[21]++;
222     if (Button==Comctrls::btPrev) MainForm->valeurconfig[21]--;
223     if (MainForm->valeurconfig[21]<1.) MainForm->valeurconfig[21]=1.;
224     Label18->Caption=MainForm->valeurconfig[21];
225    
226     }
227     //---------------------------------------------------------------------------
228    
229     void __fastcall Tconfigwin::Button9Click(TObject *Sender)
230     {
231     if (ColorDialog1->Execute())
232     {
233     Label31->Color=ColorDialog1->Color;
234     getRGB(Label31->Color,MainForm->valeurconfig[26],MainForm->valeurconfig[27],MainForm->valeurconfig[28]);
235     }
236     }
237     //---------------------------------------------------------------------------
238    
239     void __fastcall Tconfigwin::UpDown6Click(TObject *Sender,
240     TUDBtnType Button)
241     {
242     if (Button==Comctrls::btNext) MainForm->valeurconfig[29]++;
243     if (Button==Comctrls::btPrev) MainForm->valeurconfig[29]--;
244     if (MainForm->valeurconfig[29]<1.) MainForm->valeurconfig[29]=1.;
245     Label30->Caption=MainForm->valeurconfig[29];
246    
247     }
248     //---------------------------------------------------------------------------
249    
250     void __fastcall Tconfigwin::Button10Click(TObject *Sender)
251     {
252     if (ColorDialog1->Execute())
253     {
254     Label35->Color=ColorDialog1->Color;
255     getRGB(Label35->Color,MainForm->valeurconfig[30],MainForm->valeurconfig[31],MainForm->valeurconfig[32]);
256     }
257    
258     }
259     //---------------------------------------------------------------------------
260    
261     void __fastcall Tconfigwin::UpDown7Click(TObject *Sender,
262     TUDBtnType Button)
263     {
264     if (Button==Comctrls::btNext) MainForm->valeurconfig[33]++;
265     if (Button==Comctrls::btPrev) MainForm->valeurconfig[33]--;
266     if (MainForm->valeurconfig[33]<1.) MainForm->valeurconfig[33]=1.;
267     Label34->Caption=MainForm->valeurconfig[33];
268     }
269     //---------------------------------------------------------------------------
270    
271    
272    
273     void __fastcall Tconfigwin::Button11Click(TObject *Sender)
274     {
275     if (ColorDialog1->Execute())
276     {
277     Label39->Color=ColorDialog1->Color;
278     getRGB(Label39->Color,MainForm->valeurconfig[34],MainForm->valeurconfig[35],MainForm->valeurconfig[36]);
279     }
280    
281     }
282     //---------------------------------------------------------------------------
283    
284     void __fastcall Tconfigwin::Button12Click(TObject *Sender)
285     {
286     if (ColorDialog1->Execute())
287     {
288     Label42->Color=ColorDialog1->Color;
289     getRGB(Label42->Color,MainForm->valeurconfig[37],MainForm->valeurconfig[38],MainForm->valeurconfig[39]);
290     }
291    
292     }
293     //---------------------------------------------------------------------------
294    
295     void __fastcall Tconfigwin::UpDown8Click(TObject *Sender,
296     TUDBtnType Button)
297     {
298     if (Button==Comctrls::btNext) MainForm->valeurconfig[40]++;
299     if (Button==Comctrls::btPrev) MainForm->valeurconfig[40]--;
300     if (MainForm->valeurconfig[40]<1.) MainForm->valeurconfig[40]=1.;
301     Label38->Caption=MainForm->valeurconfig[40];
302     }
303     //---------------------------------------------------------------------------
304    
305     void __fastcall Tconfigwin::Button13Click(TObject *Sender)
306     {
307     if (ColorDialog1->Execute())
308     {
309     Label43->Color=ColorDialog1->Color;
310     getRGB(Label43->Color,MainForm->valeurconfig[41],MainForm->valeurconfig[42],MainForm->valeurconfig[43]);
311     }
312    
313     }
314     //---------------------------------------------------------------------------
315    
316     void __fastcall Tconfigwin::Button14Click(TObject *Sender)
317     {
318     if (ColorDialog1->Execute())
319     {
320     Label49->Color=ColorDialog1->Color;
321     getRGB(Label49->Color,MainForm->valeurconfig[44],MainForm->valeurconfig[45],MainForm->valeurconfig[46]);
322     }
323    
324    
325     }
326     //---------------------------------------------------------------------------
327    
328     void __fastcall Tconfigwin::Button15Click(TObject *Sender)
329     {
330     if (ColorDialog1->Execute())
331     {
332     Label50->Color=ColorDialog1->Color;
333     getRGB(Label50->Color,MainForm->valeurconfig[47],MainForm->valeurconfig[48],MainForm->valeurconfig[49]);
334     }
335     }
336     //---------------------------------------------------------------------------
337    
338     void __fastcall Tconfigwin::Button16Click(TObject *Sender)
339     {
340     if (ColorDialog1->Execute())
341     {
342     Label51->Color=ColorDialog1->Color;
343     getRGB(Label51->Color,MainForm->valeurconfig[50],MainForm->valeurconfig[51],MainForm->valeurconfig[52]);
344     }
345     }
346     //---------------------------------------------------------------------------
347    
348     void __fastcall Tconfigwin::UpDown9Click(TObject *Sender,
349     TUDBtnType Button)
350     {
351     if (Button==Comctrls::btNext) MainForm->valeurconfig[53]=MainForm->valeurconfig[53]+0.05;
352     if (Button==Comctrls::btPrev) MainForm->valeurconfig[53]=MainForm->valeurconfig[53]-0.05;
353     if (MainForm->valeurconfig[53]<MainForm->valeurconfig[54]) MainForm->valeurconfig[53]=MainForm->valeurconfig[54];
354     if (MainForm->valeurconfig[53]>1.) MainForm->valeurconfig[53]=1.;
355     Label46->Caption=MainForm->valeurconfig[53];
356     }
357     //---------------------------------------------------------------------------
358    
359     void __fastcall Tconfigwin::UpDown10Click(TObject *Sender,
360     TUDBtnType Button)
361     {
362     if (Button==Comctrls::btNext) MainForm->valeurconfig[54]=MainForm->valeurconfig[54]+0.05;
363     if (Button==Comctrls::btPrev) MainForm->valeurconfig[54]=MainForm->valeurconfig[54]-0.05;
364     if (MainForm->valeurconfig[54]<MainForm->valeurconfig[55]) MainForm->valeurconfig[54]=MainForm->valeurconfig[55];
365     if (MainForm->valeurconfig[54]>MainForm->valeurconfig[53]) MainForm->valeurconfig[54]=MainForm->valeurconfig[53];
366     Label52->Caption=MainForm->valeurconfig[54];
367    
368     }
369     //---------------------------------------------------------------------------
370    
371     void __fastcall Tconfigwin::UpDown11Click(TObject *Sender,
372     TUDBtnType Button)
373     {
374     if (Button==Comctrls::btNext) MainForm->valeurconfig[55]=MainForm->valeurconfig[55]+0.05;
375     if (Button==Comctrls::btPrev) MainForm->valeurconfig[55]=MainForm->valeurconfig[55]-0.05;
376     if (MainForm->valeurconfig[55]<0.) MainForm->valeurconfig[55]=0.;
377     if (MainForm->valeurconfig[55]>MainForm->valeurconfig[54]) MainForm->valeurconfig[55]=MainForm->valeurconfig[54];
378     Label53->Caption=MainForm->valeurconfig[55];
379    
380     }
381     //---------------------------------------------------------------------------
382    
383     void __fastcall Tconfigwin::Button17Click(TObject *Sender)
384     {
385     AnsiString InputString = InputBox("Information", "Nom de la configuration ?","");
386     char buf[500];
387     char temp[10];
388     int nb;
389     HKEY clef;
390     DWORD type,taille,typeclef;
391     RegCreateKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\UQTR\\VMM\\Configuration",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&clef,&typeclef);
392     int res=RegQueryValueEx(clef,"Nombre",0,&type,0,&taille);
393     if (res==ERROR_SUCCESS)
394     {
395     RegQueryValueEx(clef,"Nombre",0,&type,(LPBYTE)&nb,&taille);
396     }
397     else nb=0;
398     nb++;
399     buf[0]=0;
400     for (int i=0;i<66;i++)
401     {
402     sprintf(temp,"%.2f ",MainForm->valeurconfig[i]);
403     strcat(buf,temp);
404     }
405     RegSetValueEx(clef,"Nombre",0,REG_DWORD, (LPBYTE)&nb,sizeof(int));
406     sprintf(temp,"Nom%d",nb);
407     RegSetValueEx(clef,temp,0,REG_SZ, InputString.c_str(),sizeof(char)*(strlen(InputString.c_str())+1));
408     RegSetValueEx(clef,InputString.c_str(),0,REG_SZ, buf,sizeof(char)*(strlen(buf)+1));
409     RegCloseKey(clef);
410     Close();
411     }
412     //---------------------------------------------------------------------------
413    
414     void __fastcall Tconfigwin::FormShow(TObject *Sender)
415     {
416     char buf[500];
417     char temp[10];
418     int nb;
419     ComboBox1->Items->Clear();
420     HKEY clef;
421     DWORD type,taille,typeclef;
422     RegCreateKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\UQTR\\VMM\\Configuration",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&clef,&typeclef);
423     int res=RegQueryValueEx(clef,"Nombre",0,&type,0,&taille);
424     if (res==ERROR_SUCCESS)
425     {
426     res=RegQueryValueEx(clef,"Nombre",0,&type,(LPBYTE)&nb,&taille);
427     }
428     else nb=0;
429     if (nb==0) ComboBox1->Enabled=false; else ComboBox1->Enabled=true;
430     for (int i=0;i<nb;i++)
431     {
432     sprintf(temp,"Nom%d",i+1);
433     RegQueryValueEx(clef,temp,0,&type,0,&taille);
434     RegQueryValueEx(clef,temp,0,&type,buf,&taille);
435     ComboBox1->Items->Add(buf);
436     }
437     RegCloseKey(clef);
438     }
439     //---------------------------------------------------------------------------
440    
441    
442     void __fastcall Tconfigwin::ComboBox1Change(TObject *Sender)
443     {
444     char buf[500];
445     HKEY clef;
446     DWORD type,taille,typeclef;
447     RegCreateKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\UQTR\\VMM\\Configuration",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,0,&clef,&typeclef);
448     RegQueryValueEx(clef,ComboBox1->Text.c_str(),0,&type,0,&taille);
449     RegQueryValueEx(clef,ComboBox1->Text.c_str(),0,&type,buf,&taille);
450     if (buf[0]!='?')
451     {
452     char* p=strtok(buf," ");
453     for (int i=0;i<57;i++)
454     {
455     double val;
456     sscanf(p,"%lf",&val);
457     MainForm->valeurconfig[i]=val;
458     p=strtok(NULL," ");
459     }
460     }
461     Invalidate();
462     RegCloseKey(clef);
463     }
464     //---------------------------------------------------------------------------
465    
466     void __fastcall Tconfigwin::Button18Click(TObject *Sender)
467     {
468     if (ColorDialog1->Execute())
469     {
470     Label2->Color=ColorDialog1->Color;
471     getRGB(Label2->Color,MainForm->valeurconfig[57],MainForm->valeurconfig[58],MainForm->valeurconfig[59]);
472     }
473     }
474     //---------------------------------------------------------------------------
475    
476    
477