File: MESPARA\MESPARAW.CPP
1 //******************************************************************************
2 //Datei : mesparaw.cpp
3 //Projekt : XCTL
4 //Subsystem : Allgemeine Einstellungen
5 //Autor : Jens Klier <klier@informatik.hu-berlin.de>
6 // Institut fuer Informatik,
7 // Humboldt-Universitaet Berlin
8 //Inhalt : Implementation der Klasse TMeasurementParameterDlg
9 //******************************************************************************
10 //!neu klier Allgemeine Einstellungen
11
12 #include "utils\u_utils.h"
13 #include "winresrc\rc_def.h" // Ressourcen-IDs
14 #include "help\help_def.h" // Help-IDs
15 #include <commdlg.h>
16
17 #include "mespara\mespara.h"
18 #include "mespara\mesparaw.h"
19
20 //--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--
21
22 extern TMeasurementParameter MeasurementParameter;
23
24 TMeasurementParameterDlg::TMeasurementParameterDlg(LPSTR Dlg) : TModalDlg(Dlg, GetMainInstance() )
25 {}
26 ;
27
28
29 BOOL TMeasurementParameterDlg::Dlg_OnInit(HWND hwnd, HWND hwndCtl, LPARAM lParam)
30 {
31 //Datum: 27.07.2002 TModalDlg::Dlg_OnInit(hwnd,hwndCtl,lParam);
32 RefreshAll(hwnd);
33 SetDlgItemText(hwnd, id_Status, "");
34 return TRUE;
35 };
36
37 void TMeasurementParameterDlg::Dlg_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
38 {
39 char buf[_MAX_PATH];
40 BOOL fl;
41
42 switch (id)
43 {
44 case IDOK:
45 GetDlgItemText(GetHandle(), id_Reflection, buf, MaxString);
46 if (!MeasurementParameter.SetReflection(buf))
47 {
48 MessageBox("Ungültiger Wert Reflex!\n --> [yxz] x,y,z= -9..9", "Fehler", MBSTOP);
49 MeasurementParameter.GetReflection(buf);
50 SetDlgItemText(hwnd, id_Reflection, buf);
51 SetDlgItemText(hwnd, id_Status, "Eingabe Reflex korrigieren");
52 SetFocus(GetDlgItem(hwnd, id_Reflection));
53 break;
54 }
55 GetDlgItemText(GetHandle(), id_Orientation, buf, MaxString);
56 if (!MeasurementParameter.SetOrientation(buf))
57 {
58 MessageBox("Ungültiger Wert Orientierung!\n --> [yxz] x,y,z= -9..9", "Fehler", MBSTOP);
59 MeasurementParameter.GetOrientation(buf);
60 SetDlgItemText(hwnd, id_Orientation, buf);
61 SetDlgItemText(hwnd, id_Status, "Eingabe Orientierung korrigieren");
62 SetFocus(GetDlgItem(hwnd, id_Orientation));
63 break;
64 }
65 GetDlgItemText(GetHandle(), id_Target, buf, MaxString);
66 MeasurementParameter.SetTarget(buf);
67 GetDlgItemText(GetHandle(), id_TargetBulk, buf, MaxString);
68 MeasurementParameter.SetTargetBulk(buf);
69 GetDlgItemText(GetHandle(), id_WaveLength, buf, MaxString);
70 if (!MeasurementParameter.SetWaveLength(buf))
71 {
72 MessageBox("Ungültiger Wert WaveLength!", "Fehler", MBSTOP);
73 MeasurementParameter.GetWaveLength(buf);
74 SetDlgItemText(hwnd, id_WaveLength, buf);
75 SetDlgItemText(hwnd, id_Status, "Eingabe WaveLength korrigieren");
76 SetFocus(GetDlgItem(hwnd, id_WaveLength));
77 break;
78 }
79 GetDlgItemText(GetHandle(), id_User, buf, MaxString);
80 MeasurementParameter.SetUser(buf);
81 if (!MeasurementParameter.SetCurrent(GetDlgItemInt(GetHandle(), id_Current, &fl, FALSE)))
82 {
83 MessageBox("Ungültiger Wert Current!", "Fehler", MBSTOP);
84 MeasurementParameter.GetCurrent(buf);
85 SetDlgItemText(hwnd, id_Current, buf);
86 SetDlgItemText(hwnd, id_Status, "Eingabe Current korrigieren");
87 SetFocus(GetDlgItem(hwnd, id_Current));
88 break;
89 }
90 if (!MeasurementParameter.SetVoltage(GetDlgItemInt(GetHandle(), id_Voltage, &fl, FALSE)))
91 {
92 MessageBox("Ungültiger Wert Voltage!", "Fehler", MBSTOP);
93 MeasurementParameter.GetVoltage(buf);
94 CtrlSetText(id_Voltage, buf);
95 CtrlSetText(id_Status, "Eingabe Voltage korrigieren");
96 SetFocus(Ctrl(id_Voltage));
97 break;
98 }
99 GetDlgItemText(GetHandle(), id_Comment, buf, 2*MaxString);
100 MeasurementParameter.SetComment(buf);
101 MeasurementParameter.Save(GetCFile());
102 CtrlSetText(id_Status, "");
103 SetStaticInfo("");
104 // Kullmann+Reinecker: Hier muss es direkt weitergehen zu TModalDlg::Dlg_OnCommand!
105
106 default:
107 TModalDlg::Dlg_OnCommand(hwnd, id, hwndCtl, codeNotify);
108 }
109 }
110
111 void TMeasurementParameterDlg::RefreshAll(HWND hwnd)
112 {
113 char buf[MaxString];
114
115 SetDlgItemText(hwnd, id_Target, MeasurementParameter.GetTarget());
116 SetDlgItemText(hwnd, id_TargetBulk, MeasurementParameter.GetTargetBulk());
117 SetDlgItemText(hwnd, id_WaveLength, MeasurementParameter.GetWaveLength(buf));
118 SetDlgItemText(hwnd, id_User, MeasurementParameter.GetUser());
119 SetDlgItemText(hwnd, id_Current, MeasurementParameter.GetCurrent(buf));
120 SetDlgItemText(hwnd, id_Voltage, MeasurementParameter.GetVoltage(buf));
121 SetDlgItemText(hwnd, id_Reflection, MeasurementParameter.GetReflection(buf));
122 SetDlgItemText(hwnd, id_Orientation, MeasurementParameter.GetOrientation(buf));
123 SetDlgItemText(hwnd, id_Comment, MeasurementParameter.GetComment());
124 SetDlgItemText(hwnd, id_IniFile, GetCFile());
125 SetFocus(GetDlgItem(hwnd, IDOK));
126 };
127
128 // LastLine
129
130