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