File: INCLUDE\DIFRKMTY\S_INTERN.H
1 //##############################################################################
2 // //
3 // S_INTERN.H //
4 // //
5 // Subsystem: Diffraktometrie/ Reflektometrie //
6 // intern genutzte Fenster für Continious-, Step- und DynamicStepScan//
7 // Benutzung durch andere Subsysteme erforderlich: NEIN //
8 // //
9 //##############################################################################
10
11 #ifndef _S_INTERN_H
12 #define _S_INTERN_H
13
14 #include "utils\u_utils.h" // für TModalDlg
15
16 #include "difrkmty\d_extern.h" // für TSaveFormat
17
18 //--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--
19
20 class TScanWindow; // forward;
21
22 //##############################################################################
23 // TSetupStepScanDlg
24 //##############################################################################
25 // Dialog zum Einstellen der StepScan-Parameter
26
27 class TSetupStepScanDlg : public TModalDlg
28 {
29 public:
30 TSetupStepScanDlg( TScanWindow* );
31
32 // Überschriebenes aus der (Fenster-)Basisklasse
33 private:
34 virtual BOOL Dlg_OnInit( HWND, HWND, LPARAM );
35 virtual void Dlg_OnCommand( HWND, int, HWND, UINT );
36 virtual BOOL CanClose( void );
37
38 // Event handler
39 private:
40 void OnChooseScanType(UINT);
41 void OnParamSet();
42 void OnChooseMotor(UINT);
43 void OnChooseDetector(UINT);
44 void OnChooseMonitor(UINT);
45 void OnDynamicActive();
46
47 // ATTRIBUT(E)
48 private:
49 //! zugehoeriges StepScanfenster
50 TScanWindow *Scan; // nicht im Destruktor freigeben, wird im Konstruktor übergeben und muss vom Aufrufer verwaltet werden
51
52 //! handle auf Scantyp-combobox
53 HWND hScanTypeList;
54
55 double dArgumentMin, //! Wert Minimum in Dlg.box
56 dArgumentMax, //! Wert Maximum in Dlg.box
57 dArgumentWidth; //! Wert Schrittweite in Dlg.box
58
59 //! Wert Impulse in Dlg.box
60 DWORD dwMaxCounts;
61
62 //! Wert Zeit in Dlg.box
63 float fMaxTime;
64
65 //! Wert Bei Beenden speichern
66 BOOL bSaveOnReady;
67
68 //! Wert Scan-Typ in Dlg.box
69 ExScanType eScanType;
70
71 //! Wert Staendig Sichern in Dlg.box
72 BOOL bSaveContinuous;
73
74 //! Wert Sicherungsverzeichnis
75 char szPath[ _MAX_PATH ];
76
77 //! Wert 2Theta
78 double d2ThetaStart;
79
80 //! ?? ueberfluessig
81 // 21.04.2004 EFileFormat eSaveFormat;
82 };
83
84 //##############################################################################
85 // TSetupContinuousScanDlg
86 //##############################################################################
87 // Dialog zum Einstellen der ContinuousScan-Parameter
88
89 class TSetupContinuousScanDlg : public TModalDlg
90 {
91 public:
92 TSetupContinuousScanDlg( TScanWindow* );
93
94 // Überschriebenes aus der (Fenster-)Basisklasse
95 private:
96 virtual BOOL Dlg_OnInit( HWND, HWND, LPARAM );
97 virtual void Dlg_OnCommand( HWND, int, HWND, UINT );
98 virtual BOOL CanClose( void );
99
100 // ATTRIBUT(E)
101 private:
102 //! Zeiger auf zugehoeriges StepScanfenster
103 TScanWindow *Scan; // nicht im Destruktor freigeben, wird im Konstruktor übergeben und muss vom Aufrufer verwaltet werden
104
105 //! handles auf motor/detektor-comboboxen
106 HWND hDetectorList, hMotorList;
107
108 double dArgumentMin,//! Wert Startpunkt in Dlg.box
109 dArgumentMax, //! Wert Endpunkt in Dlg.box
110 dArgumentWidth, //! Bereichsgroesse
111 dSpeed; //! Wert Geschwindigkeit in Dlg.box
112
113 //! Wert Messpunkte in Dlg.box
114 int nCollectionAmount;
115
116 //! Wert Messzeit in Dlg.box
117 float fMaxTime;
118
119 //! automatisch Speichern nach Beendigung der Messung
120 BOOL bSaveOnReady;
121
122 //! Nummer des ausgewaehlten Motors
123 // int nMotor;
124 //! Zeiger auf ausgewaehlten Detektor
125 // TDetector* Detector;
126 };
127
128 //##############################################################################
129 // TSetupDynamicStepDlg
130 //##############################################################################
131 // Dialog zum Einstellen der DynamicStepScan-Parameter
132
133 class TSetupDynamicStepDlg : public TModalDlg
134 {
135 public:
136 TSetupDynamicStepDlg( TScanWindow* );
137
138 // Überschriebenes aus der (Fenster-)Basisklasse
139 private:
140 virtual BOOL Dlg_OnInit( HWND, HWND, LPARAM );
141 virtual void Dlg_OnCommand( HWND, int, HWND, UINT );
142 virtual BOOL CanClose( void );
143
144 // zur komfortableren Arbeit mit Ressourcen-IDs - gibt die Ressourcen-Id für den jeweiligen Bereich zurück
145 private:
146 int GetStaticId(UINT aBereich);
147 int GetFactorId(UINT aBereich);
148 int GetIntensityId(UINT aBereich);
149
150 //Attribute
151 private:
152 //! zugehoeriges StepScanfenster
153 TScanWindow* Scan; // nicht im Destruktor freigeben, wird im Konstruktor übergeben und muss vom Aufrufer verwaltet werden
154
155 //! zur Sicherung der Dialogbox-Einstellungen, um sie bei Reset zurücksetzen
156 //! zu koennen
157 TFloatList ScalerDummy;
158 };
159
160 #endif // _S_INTERN_H
161
162 //#############################################################################
163 // LastLine
164 //#############################################################################
165