/*****************************************************************************
* 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
*
*****************************************************************************/
// HdwSettings.cpp : implementation file
// Hardware settings that affect the line on which this particular link
// service is running.

#include "stdafx.h"
#include "HdwSettings.h"
#include "common.h"

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

//
// Global Variables and Data Structures
//
extern MGSDLCDS	gMgsdlc_data;

/////////////////////////////////////////////////////////////////////////////
// CHdwSettings property page

IMPLEMENT_DYNCREATE(CHdwSettings, CPropertyPage)

CHdwSettings::CHdwSettings() : CPropertyPage(CHdwSettings::IDD)
{
	//{{AFX_DATA_INIT(CHdwSettings)
	m_bInternalClock = FALSE;
	//}}AFX_DATA_INIT
}

CHdwSettings::~CHdwSettings()
{
}

void CHdwSettings::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CHdwSettings)
	DDX_Control(pDX, IDC_SPEED, m_Speed);
	DDX_Check(pDX, IDC_B1, m_bInternalClock);
	//}}AFX_DATA_MAP
}


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

/////////////////////////////////////////////////////////////////////////////
// CHdwSettings message handlers

BOOL CHdwSettings::OnInitDialog() 
{
	CString szSpeed;
	szSpeed.Format("%d",gMgsdlc_data.dLineSpeed);
	m_bInternalClock = gMgsdlc_data.bInternalClock;

	CPropertyPage::OnInitDialog();
	if(m_Speed.SelectString(-1,szSpeed) == CB_ERR)
		m_Speed.SetCurSel(0);
	
	SetDlgItemText(IDC_CARDSTRING,gMgsdlc_data.szCardString);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CHdwSettings::OnOK() 
{
	CString szSpeed;
	m_Speed.GetLBText(m_Speed.GetCurSel(),szSpeed);
	gMgsdlc_data.bInternalClock = m_bInternalClock;
	gMgsdlc_data.dLineSpeed = atoi(szSpeed);
	CPropertyPage::OnOK();
}
