File: PROTOCOL\TProtocolParameterDlg.cpp

    1 //******************************************************************************
    2 //Datei     : TProtocolParameterDlg.cpp
    3 //Projekt   : XCTL
    4 //Subsystem : Protokollbuch
    5 //Autor     : Jens Klier <klier@informatik.hu-berlin.de>
    6 //            Institut fuer Informatik,
    7 //            Humboldt-Universitaet Berlin
    8 //Inhalt    : Implementation der Klasse TProtocolParameterDlg
    9 //******************************************************************************
   10 //!neu klier Protokollbuch
   11 #include "internls\evrythng.h"
   12 #include "winresrc\rc_prtow.h" // Ressourcen-IDs
   13 #include <commdlg.h>
   14 
   15 #include "protocol\TProtocolLanguage.h"
   16 #include "protocol\TProtocol.h"
   17 #include "protocol\TProtocolDlg.h"
   18 #include "protocol\TProtocolManagePrintDlg.h"
   19 #include "protocol\TProtocolParameterDlg.h"
   20 
   21 //--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--
   22 
   23 extern TProtocolLanguage *ProtocolLanguage;
   24 extern HINSTANCE hModuleInstance;
   25 
   26 TProtocolParameterDlg::TProtocolParameterDlg(LPSTR Dlg, TProtocol *Proto, TProtocolDlg *ProtoDlg, TProtocolManagePrintDlg *ProtoPrintDlg) : 
   27                 TModalDlg(Dlg,hModuleInstance), Protocol(Proto), ProtocolDlg(ProtoDlg), ProtocolManagePrintDlg(ProtoPrintDlg)
   28 {}
   29 ;
   30 
   31 
   32 BOOL TProtocolParameterDlg::Dlg_OnInit(HWND hwnd, HWND, LPARAM)
   33 {
   34         if ( GetPrivateProfileInt("Protocol", "Debug", 0, GetCFile()) == 1)
   35                 bDebug= TRUE;
   36         else
   37                 bDebug= FALSE;
   38 
   39         bSortDate= Protocol->IsProtocolSortDate();
   40         bNoSortNew= Protocol->IsProtocolNoSortNew();
   41         strcpy(szProtocolFile, Protocol->GetPFile());
   42         strcpy(szProtocolBackupDirectory, Protocol->GetPBackupDirectory());
   43 
   44         SetDlgItemText(hwnd, id_ProtoFile, szProtocolFile);
   45         SetDlgItemText(hwnd, id_ProtoBackupPath, szProtocolBackupDirectory);
   46 
   47         if (bSortDate)
   48                 CheckDlgButton(hwnd, id_SortDate, 1);
   49         else
   50                 CheckDlgButton(hwnd, id_SortLfdNr, 1);
   51         if (bNoSortNew)
   52                 CheckDlgButton(hwnd, id_NoSortNew, 1);
   53 
   54         ProtocolLanguage->SetParameterDlgLanguage(hwnd);
   55         return TRUE;
   56 };
   57 
   58 void TProtocolParameterDlg::Dlg_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
   59 {
   60         OPENFILENAME    ofn;
   61         char buf[_MAX_PATH], lLfdNr[MaxLfdNr];
   62         BOOL bViewNew= FALSE;
   63 
   64         switch (id)
   65         {
   66                 case id_SortLfdNr:
   67                         bSortDate= FALSE;
   68                         break;
   69 
   70                 case id_SortDate:
   71                         bSortDate= TRUE;
   72                         break;
   73                 
   74                 case id_NoSortNew:
   75                         if (IsDlgButtonChecked(hwnd, id_NoSortNew))
   76                                 bNoSortNew= TRUE;
   77                         else
   78                                 bNoSortNew= FALSE;
   79                         break;
   80                 
   81                 case id_Durchsuchen:
   82                         sprintf(buf, "%s%s", Protocol->GetPName(), ".CSV");
   83                         // Initialize the structure
   84                         memset( &ofn, '\0', sizeof( OPENFILENAME ) );
   85                         ofn.lpstrTitle= ProtocolLanguage->GetMessage(17);
   86                         ofn.lStructSize= sizeof( OPENFILENAME );
   87                         ofn.hwndOwner= GetFocus();
   88                         ofn.lpstrFilter= "csv-Dateien (*.CSV)\0*.CSV\0\0";
   89                         ofn.nFilterIndex= 1;
   90                         ofn.lpstrFile= buf;
   91                         ofn.nMaxFile= _MAX_PATH;
   92                         ofn.lpstrInitialDir= Protocol->GetPDirectory();
   93                         ofn.Flags= OFN_HIDEREADONLY;
   94                         if ( !GetOpenFileName( &ofn ) )
   95                                 break;
   96                         strcpy(szProtocolFile, buf);
   97                         SetDlgItemText(hwnd, id_ProtoFile, szProtocolFile);
   98                         break;
   99                 
  100                 case IDOK:
  101                         if (ProtocolDlg->TestChangeDlg())
  102                                 break;
  103                         Protocol->GetLfdNr(lLfdNr);
  104                         Protocol->SetProtocolNoSortNew(bNoSortNew);
  105                         GetDlgItemText(hwnd, id_ProtoBackupPath, szProtocolBackupDirectory, _MAX_PATH);
  106                         if (strcmp(szProtocolBackupDirectory, Protocol->GetPBackupDirectory()) != 0)
  107                         {
  108                                 strcpy( buf, Protocol->GetPDirectory());
  109                                 if (!Protocol->SetPBackupDirectory(szProtocolBackupDirectory))
  110                                         Protocol->SetPBackupDirectory(buf);
  111                                 if ( bDebug )
  112                                         MessageBox("Backupdirectory geändert!", "Debug Info", MBINFO);
  113                         }
  114                         GetDlgItemText(hwnd, id_ProtoFile, szProtocolFile, _MAX_PATH);
  115                         if (strcmp(szProtocolFile, Protocol->GetPFile()) != 0)
  116                         {
  117                                 strcpy( buf, Protocol->GetPFile());
  118                                 if (!Protocol->SetPFile(szProtocolFile))
  119                                 {
  120                                         Protocol->SetPFile(buf);
  121                                 }
  122                                 else
  123                                 {
  124                                         if (!Protocol->ReloadProtocol())
  125                                         {
  126                                                 Protocol->SetPFile(buf);
  127                                                 while (!Protocol->ReloadProtocol())
  128                                                         /* wait for loading the protocol*/;
  129                                         }
  130                                         bViewNew= TRUE;
  131                                 }
  132                                 if ( bDebug )
  133                                         MessageBox("Protokolldatei neu geladen!", "Debug Info", MBINFO);
  134                         }
  135                         if (Protocol->IsProtocolSortDate() != bSortDate)
  136                         {
  137                                 Protocol->SetProtocolSortDate(bSortDate);
  138                                 bViewNew= TRUE;
  139                         }
  140                         if (bViewNew)
  141                         {
  142                                 ProtocolDlg->ShowLfdNr(lLfdNr);
  143                                 ProtocolManagePrintDlg->SearchNew();
  144                         }
  145                         // Kullmann+Reinecker: Hier muss kein break hin, weiter bei TModalDlg::Dlg_OnCommand!
  146                 
  147                 default:
  148                         TModalDlg::Dlg_OnCommand(hwnd, id, hwndCtl, codeNotify);
  149         }
  150 };
  151 
  152 // LastLine
  153 
  154 
  155