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