/*****************************************************************************
* Copyright (c) 1990-98 Digi International Inc., All Rights Reserved
* 
* This software contains proprietary and confidential information of Digi
* International Inc.  By accepting transfer of this copy, Recipient agrees
* to retain this software in confidence, to prevent disclosure to others,
* and to make no use of this software other than that for which it was
* delivered.  This is an unpublished copyrighted work of Digi International
* Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly
* prohibited.
* 
* Restricted Rights Legend
*
* Use, duplication, or disclosure by the Government is subject to
* restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7031 or
* subparagraphs (c)(1) and (2) of the Commercial Computer Software -
* Restricted Rights at 48 CFR 52.227-19, as applicable.
*
* Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
*
*****************************************************************************/
// WanConfig.cpp : implementation file
//

#include "stdafx.h"
#include "LineWanConfig.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CWanConfig property page

IMPLEMENT_DYNCREATE(CWanConfig, CPropertyPage)

CWanConfig::CWanConfig() : CPropertyPage(CWanConfig::IDD)
{
	//{{AFX_DATA_INIT(CWanConfig)
	m_Baud = 56000;
	m_ExternalClock = -1;
	m_ElectricalInt = -1;
	//}}AFX_DATA_INIT
	m_bAskInterface = TRUE;
   m_bBaudChangeWarning = TRUE;
}

CWanConfig::~CWanConfig()
{
}

void CWanConfig::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CWanConfig)
	DDX_Text(pDX, IDC_WAN_BAUD, m_Baud);
	DDV_MinMaxDWord(pDX, m_Baud, 75, 2048000);
	DDX_Radio(pDX, IDC_ExternalClock, m_ExternalClock);
	DDX_CBIndex(pDX, IDC_WAN_INTERFACE, m_ElectricalInt);
	//}}AFX_DATA_MAP
	if (pDX->m_bSaveAndValidate && (m_Baud != m_orgBaud))
	{
      
      if (m_bBaudChangeWarning)
      {
		   CString msg;
		   msg.Format(IDS_CHANGELINESPEEDERROR, m_Baud); 
		   // prompt user to change linespeeds for all affected PVC's.
		   // if user says NO, fail this update.
		   if (AfxMessageBox(msg, MB_YESNO | MB_DEFBUTTON2) == IDNO) 
		   {
			   pDX->PrepareEditCtrl(IDC_WAN_BAUD);
			   pDX->Fail();
		   }
		   else
			   m_orgBaud = m_Baud;
      }
      else
         m_orgBaud = m_Baud;
	}
}


BEGIN_MESSAGE_MAP(CWanConfig, CPropertyPage)
	//{{AFX_MSG_MAP(CWanConfig)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CWanConfig message handlers

void CWanConfig::OnOK() 
{
	// TODO: Add your specialized code here and/or call the base class
	
	CPropertyPage::OnOK();
}

BOOL CWanConfig::OnInitDialog() 
{
	m_orgBaud = m_Baud;
	CPropertyPage::OnInitDialog();
	if (!m_bAskInterface)
		(GetDlgItem(IDC_WAN_INTERFACE))->ShowWindow(SW_HIDE);
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
