home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pc3270sa.zip / apps / winaping / setupdlg.cpp < prev    next >
Text File  |  2002-02-28  |  5KB  |  150 lines

  1. // CSetupdlg.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "winaping.h"
  6. #include "constdef.h"
  7. #include "setupdlg.h"
  8. #include "mainfrm.h"
  9. #include "winapdoc.h"
  10. #include "pinginfo.h"
  11.  
  12. #ifdef _DEBUG
  13. #undef THIS_FILE
  14. static char BASED_CODE THIS_FILE[] = __FILE__;
  15. #endif
  16.  
  17. /////////////////////////////////////////////////////////////////////////////
  18. // CSetupdlg dialog
  19.  
  20. CSetupdlg::CSetupdlg(PingInfo &pi, CWnd* pParent /*=NULL*/)
  21.         : CDialog(CSetupdlg::IDD, pParent), localpi(pi), docpi(pi)
  22. {
  23.         //{{AFX_DATA_INIT(CSetupdlg)
  24.         //}}AFX_DATA_INIT
  25. //      pDoc = (CWinapingDoc*) (((CMainFrame*)pParent)->GetActiveDocument());
  26. }
  27.  
  28.  
  29. void CSetupdlg::DoDataExchange(CDataExchange* pDX)
  30. {
  31.         CDialog::DoDataExchange(pDX);
  32.         //{{AFX_DATA_MAP(CSetupdlg)
  33.         //}}AFX_DATA_MAP
  34.         DDX_Text(pDX, IDC_DESTINATION, localpi.destination);
  35.         DDV_MaxChars(pDX, localpi.destination, MAX_DESTINATION);
  36.         DDX_Text(pDX, IDC_MODE, localpi.mode);
  37.         DDV_MaxChars(pDX, localpi.mode, MAX_MODE_NAME);
  38.         DDX_Text(pDX, IDC_TPNAME, localpi.tpName);
  39.         DDV_MaxChars(pDX, localpi.tpName, MAX_TP_NAME);
  40.         DDX_Text(pDX, IDC_PACKETSIZE, localpi.packetSize);
  41.         DDV_MinMaxDWord(pDX, localpi.packetSize, 1, MAX_PACKETSIZE);
  42.         DDX_Text(pDX, IDC_CONSECUTIVE, localpi.consecutivePackets);
  43.         DDV_MinMaxDWord(pDX, localpi.consecutivePackets, 1, MAX_CONSECUTIVE);
  44.         DDX_Text(pDX, IDC_ITERATIONS, localpi.iterations);
  45.         DDV_MinMaxDWord(pDX, localpi.iterations, 0, MAX_ITERATIONS);
  46.         DDX_Check(pDX, IDC_ECHO, localpi.echo);
  47.         DDX_Check(pDX, IDC_VERIFY, localpi.verify);
  48.         DDX_Check(pDX, IDC_SECURITY, localpi.security);
  49.         DDX_Text(pDX, IDC_USERID, localpi.userID);
  50.         DDV_MaxChars(pDX, localpi.userID, MAX_USERID);
  51.         DDX_Text(pDX, IDC_PASSWORD, localpi.password);
  52.         DDV_MaxChars(pDX, localpi.password, MAX_PASSWORD);
  53. }
  54.  
  55.  
  56. BEGIN_MESSAGE_MAP(CSetupdlg, CDialog)
  57.         //{{AFX_MSG_MAP(CSetupdlg)
  58.         ON_BN_CLICKED(IDRESET, OnReset)
  59.         ON_BN_CLICKED(IDC_ECHO, OnEcho)
  60.         ON_BN_CLICKED(IDC_SECURITY, OnSecurity)
  61.         //}}AFX_MSG_MAP
  62. END_MESSAGE_MAP()
  63.  
  64.  
  65. /////////////////////////////////////////////////////////////////////////////
  66. // CSetupdlg message handlers
  67.  
  68. void CSetupdlg::OnOK()
  69. {
  70.       if (UpdateData(TRUE)) {       // dlg window to local pi, if OK ....
  71.         docpi = localpi;            // local pi to doc pi
  72.  
  73.         // --------------------------------
  74.         // Some safty works ...............
  75.         int i = -1;
  76.         do {
  77.           if (i == 0) docpi.destination = (docpi.destination).Mid(1);
  78.           i = (docpi.destination).Find(_T(" "));
  79.           } while (i == 0);                       // exit only when i>0 or i=-1
  80.         if (i > 0) docpi.destination = (docpi.destination).SpanExcluding(_T(" "));
  81.  
  82.         do {
  83.           if (i == 0) docpi.tpName = (docpi.tpName).Mid(1);
  84.           i = (docpi.tpName).Find(_T(" "));
  85.           } while (i == 0);
  86.         if (i > 0) docpi.tpName = (docpi.tpName).SpanExcluding(_T(" "));
  87.  
  88.         do {
  89.           if (i == 0) docpi.mode = (docpi.mode).Mid(1);
  90.           i = (docpi.mode).Find(_T(" "));
  91.           } while (i == 0);
  92.         if (i > 0) docpi.mode = (docpi.mode).SpanExcluding(_T(" "));
  93.  
  94.         if (docpi.security) {
  95.           do {
  96.             if (i == 0) docpi.userID = (docpi.userID).Mid(1);
  97.             i = (docpi.userID).Find(_T(" "));
  98.             } while (i == 0);
  99.           if (i > 0) docpi.userID = (docpi.userID).SpanExcluding(_T(" "));
  100.  
  101.           do {
  102.             if (i == 0) docpi.password = (docpi.password).Mid(1);
  103.             i = (docpi.password).Find(_T(" "));
  104.             } while (i == 0);
  105.           if (i > 0) docpi.password = (docpi.password).SpanExcluding(_T(" "));
  106.           }
  107.  
  108.         docpi.verify = localpi.echo && localpi.verify;
  109.  
  110.         EndDialog(IDOK);
  111.         }
  112. }
  113.  
  114. void CSetupdlg::OnReset()
  115. {
  116.         localpi = docpi;            // doc pi to local pi
  117.         UpdateData(FALSE);          // local pi to dlg window
  118. }
  119.  
  120.  
  121. void CSetupdlg::OnEcho()
  122. {
  123.   BOOL flag;
  124.   if (((CButton*) GetDlgItem(IDC_ECHO))->GetCheck() == 0) flag = FALSE;
  125.   else flag = TRUE;
  126.   GetDlgItem(IDC_VERIFY)->EnableWindow(flag);
  127. }
  128.  
  129. void CSetupdlg::OnSecurity()
  130. {
  131.   BOOL flag;
  132.   if (((CButton*) GetDlgItem(IDC_SECURITY))->GetCheck() == 0) flag = FALSE;
  133.   else flag = TRUE;
  134.   GetDlgItem(IDC_USERID)->EnableWindow(flag);
  135.   GetDlgItem(IDC_STATIC_USERID)->EnableWindow(flag);
  136.   GetDlgItem(IDC_PASSWORD)->EnableWindow(flag);
  137.   GetDlgItem(IDC_STATIC_PASSWORD)->EnableWindow(flag);
  138. }
  139.  
  140. BOOL CSetupdlg::OnInitDialog()
  141. {
  142.         localpi = docpi;            // doc pi to local pi
  143.         CDialog::OnInitDialog();
  144.         OnEcho();
  145.         OnSecurity();
  146.  
  147.         return TRUE;  // return TRUE unless you set the focus to a control
  148.                       // EXCEPTION: OCX Property Pages should return FALSE
  149. }
  150.